Hi all,
We have an odd problem. I've put a script in place that sets the requestor
of a ticket to be its owner, and that works perfectly when viewing a
ticket--the owner is shown as the requestor. The problem is that search
results show most tickets as being owned by nobody, but if you click a
ticket, you see the owner has actually been set as expected. It's just
search results that don't want to show the owner.

I found this script on the Wiki, and don't know enough about RT's internals
to say if it does everything it should. Does anyone see any possible
problems with it that would cause the issue with search results?

# get actor ID
my $Actor = $self->TransactionObj->Creator;
#if actor is RT_SystemUser then get out of here
return 1 if $Actor == $RT::SystemUser->id;
#prevents a ticket being assigned to an unprivileged user, comment out if
you want this
return 1 unless $self->TransactionObj->CreatorObj->Privileged;
#get out unless ticket owner is nobody
return 1 unless $self->TicketObj->Owner == $RT::Nobody->id;
#try to change owner
$RT::Logger->info("Auto assign ticket #". $self->TicketObj->id ." to user
#". $Actor );
my ($status, $msg) = $self->TicketObj->_Set(Field => 'Owner', Value =>
$Actor, RecordTransaction => 0);
unless( $status ) {
    $RT::Logger->error( "Impossible to assign the ticket to $Actor: $msg" );
    return undef;

return 1;

Alex Hall
Automatic Distributors, IT department
RT 4.4 and RTIR training sessions, and a new workshop day! 
* Los Angeles - January 9-11 2017

Reply via email to