diff options
| author | ivan <ivan> | 2008-04-18 21:19:29 +0000 | 
|---|---|---|
| committer | ivan <ivan> | 2008-04-18 21:19:29 +0000 | 
| commit | 9308beec0b556647bf703b67ba6a036a5bedff37 (patch) | |
| tree | 44b74a1afd462ac9cba373dacb6c221ea6b2f100 /rt/lib/RT | |
| parent | 2eda79fb265b3acdde85881f1160f6daa73f2d84 (diff) | |
hopefully, finally fix ticket auto-association not getting along with RT ACLs
Diffstat (limited to 'rt/lib/RT')
| -rw-r--r-- | rt/lib/RT/Ticket_Overlay.pm | 33 | ||||
| -rw-r--r-- | rt/lib/RT/URI/freeside.pm | 4 | 
2 files changed, 31 insertions, 6 deletions
diff --git a/rt/lib/RT/Ticket_Overlay.pm b/rt/lib/RT/Ticket_Overlay.pm index 050278aa6..a51cd1687 100644 --- a/rt/lib/RT/Ticket_Overlay.pm +++ b/rt/lib/RT/Ticket_Overlay.pm @@ -724,7 +724,7 @@ sub Create {        #first find any requestors with emails but *without* customer targets        my @NoCust_Requestors =          grep { $_->EmailAddress && ! $_->Customers->Count } -             @{ $self->Requestors->UserMembersObj->ItemsArrayRef }; +             @{ $self->_Requestors->UserMembersObj->ItemsArrayRef };        for my $Requestor (@NoCust_Requestors) { @@ -752,7 +752,7 @@ sub Create {        my @Requestors =          grep { $_->Customers->Count } -             @{ $self->Requestors->UserMembersObj->ItemsArrayRef }; +             @{ $self->_Requestors->UserMembersObj->ItemsArrayRef };        foreach my $Requestor ( @Requestors ) {          foreach my $cust_link ( @{ $Requestor->Customers->ItemsArrayRef } ) { @@ -1811,6 +1811,25 @@ sub Requestors {  # }}} +# {{{ sub _Requestors + +=head2 _Requestors + +Private non-ACLed variant of Reqeustors so that we can look them up for the +purposes of customer auto-association during create. + +=cut + +sub _Requestors { +    my $self = shift: + +    my $group = RT::Group->new($RT::SystemUser); +    $group->LoadTicketRoleGroup(Type => 'Requestor', Ticket => $self->Id); +    return ($group); +} + +% }}} +  # {{{ sub Cc  =head2 Cc @@ -2535,7 +2554,13 @@ sub _Links {      unless ( $self->{"$field$type"} ) {          $self->{"$field$type"} = new RT::Links( $self->CurrentUser ); -        if ( $self->CurrentUserHasRight('ShowTicket') ) { + +        #not sure what this ACL was supposed to do... but returning the +        # bare (unlimited) RT::Links certainly seems wrong, it causes the +        # $Ticket->Customers method during creation to return results for every +        # ticket... +        #if ( $self->CurrentUserHasRight('ShowTicket') ) { +              # Maybe this ticket is a merged ticket              my $Tickets = new RT::Tickets( $self->CurrentUser );              # at least to myself @@ -2552,7 +2577,7 @@ sub _Links {              $self->{"$field$type"}->Limit( FIELD => 'Type',                                             VALUE => $type )                if ($type); -        } +        #}      }      return ( $self->{"$field$type"} );  } diff --git a/rt/lib/RT/URI/freeside.pm b/rt/lib/RT/URI/freeside.pm index ff1d38d21..d73dbacad 100644 --- a/rt/lib/RT/URI/freeside.pm +++ b/rt/lib/RT/URI/freeside.pm @@ -38,8 +38,8 @@ RT::URI::freeside  =head1 DESCRIPTION -URI handler for freeside URIs.  See http://www.sisd.com/freeside/ for -more information on freeside. +URI handler for Freeside URIs.  See http://www.freeside.biz/ for more +information on Freeside.  =head1 Public subroutines  | 
