[rt-users] round-robin auto assignment?

Todd Chapman rt at chaka.net
Tue Dec 28 17:58:48 EST 2004


Change RT::System to RT::SystemUser

On Tue, Dec 28, 2004 at 03:36:33PM -0800, matthew zeier wrote:
> >
> >$self->TicketObj->SetOwner
> 
> Hey, that was it.  But I guess now I'm missing one other piece of data - 
> currentuser?
> 
> I promise after I get this resolved, I'll sign up for the one day RT 
> developer training session!
> 
> [Tue Dec 28 23:30:34 2004] [error]: Scrip 57 Prepare failed: No currentuser 
> at /opt/rt3/lib/RT/Base.pm line 123
>        RT::Base::loc('RT::System=HASH(0x9d9940c)', 'Queue') called at 
> /opt/rt3/lib/RT/Base.pm line 118
>        RT::Base::loc('RT::Tickets=HASH(0x9d3cd78)', 'Queue') called at 
> /opt/rt3/lib/RT/Tickets_Overlay.pm line 1047
>        RT::Tickets::LimitQueue('RT::Tickets=HASH(0x9d3cd78)', 'VALUE', 'ICI 
> Internal') called at (eval 2529) line 5
>        eval 'my @owners = qw( 2306 904 1880 ); #could create a group for 
> this
> push(@owners, @owners);
> 
> my $tickets = RT::Tickets->new($RT::System);
> $tickets->LimitQueue(VALUE => \'ICI Internal\');
> $tickets->LimitId(VALUE => $self->TicketObj->Id, OPERATOR => \'!=\');
> $tickets->OrderBy( FIELD => \'id\', ORDER => \'DESC\' );
> my $last_ticket = $tickets->First;
> my $last_owner = $last_ticket->Owner->Id;
> 
> my $i = 0;
> my $isSet = 0;
> my $new_owner;
> 
> foreach $i ( @owners) {
>    if ($owners[$i] == $last_owner) {
>        $new_owner = $owners[$i+1];
>        $self->TicketObj->SetOwner($new_owner);
>        $isSet = 1;
>    }
> }
> 
> if (!($isSet)) {
>    my $randOwner = int(rand($#owners));
>    $randOwner = $owners[$randOwner];
>    $self->TicketObj->SetOwner($randOwner);
> }



More information about the rt-users mailing list