[rt-users] Scrip - On close set CF to owner name and then change owner to nobody

Bart bart at pleh.info
Tue Oct 4 07:51:42 EDT 2011


I'm currently struggling with this scrip, in separate parts it works but
together it kinda makes a mess O_o

Some background on the scrip. We want the ticket owner to be set to Nobody
on close, when tickets reopen they will show up in the New/nobody queue for
everyone in a support group to pickup instead of the previous owner.
But, we do want the ability to make a simple search query on resolved
tickets and sort them by owner. Basically for our managers so they can see
if the tickets are distributed evenly, etc.
For that purpose I figured I could fill in the owner name into a CF and have
the actual owner set to nobody.

Below the scrip:

my $my_owner = $self->TicketObj->OwnerObj->Name;
> $self->TicketObj->AddCustomFieldValue(Field => 'Last Owner', Value =>
> $my_owner);
> my ($code, $msg) = $self->TicketObj->SetOwner(6, 'Force');
> return 1;

What happens is that the first two lines fill the current owner's name into
a CF called "Last Owner".
After that it should change the owner to Nobody, in my case the UID of
Nobody is number 6. I've set it to force since it doesn't always work
correctly if you leave the force bit out.

When I run this scrip separately it works, I can set the owner to nobody +
if I leave the last bit out I'm able to set the current owner in the CF
called "Last Owner".
But when using them together as shown in the scrip above it doesn't work the
way I want it to.

It then seems to first set the owner to nobody and then fill the CF with the
username Nobody... So yes it works but I'm expecting the scrip to first get
the old owner name and fill that one into the CF.

I've also tried setting this first part into the "prep" code and the second
part (changing the owner) into the cleanup code, but that doesn't seem to
change anything.
The other thing I've tried was changing the TransactionBatch to
TransactionCreate and back. With TransactionCreate it doesn't fully work,
when using TransactionBatch it does work but instead of the previous ticket
owner it fills in the Nobody user...

So, does anyone know a simple way to fix this? I'm expecting RT to
sequentially do the above scrip but I guess I'm missing something in order
for it to work.

Thanks in advance.

-- Bart
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.bestpractical.com/pipermail/rt-users/attachments/20111004/8ede47c5/attachment.htm>

More information about the rt-users mailing list