[rt-users] Getting the owner of a ticket fails?
kschmitte
kschmitte at voiceobjects.com
Tue Oct 21 12:40:20 EDT 2008
Hello All,
I'm running a scrip which auto-assigns a ticket to user on the first reply.
This works very well - if it would not fire the assignement mail twice...
The scrip skeleton is from:
http://www.nabble.com/automatic-take-td19312788.html#a19313143 (I'm citing
the nabble RT user list repository for easier access - thread name was
"automatic take").
What I can see is that the scrip is executed twice - maybe due to what is
described (and what I don't understand either) in "Correspond Transaction
Twice on Reply in Batchmode"
(http://www.nabble.com/Correspond-Transaction-Twice-on-Reply-in-Batchmode-td8730015.html#a8730015).
My issue now is, that when I try to get the owner id, the id did not change
from 10 (see log messages below "Scrip Auto-Take started.117Owner: 10") to
#117 - what I would expect here (since the ticket is assigned after the
first action).
Is
$self->TicketObj->Owner
not the correct way to get the current owner ID?
Thanks for any help!
Kai Schmitte
-> my code:
#see http://www.nabble.com/automatic-take-td19312788.html
my $correspondent = $self->TransactionObj->Creator;
$RT::Logger->info("Scrip Auto-Take started. Current Owner: " .
$self->TicketObj->Owner);
# don't auto-take for "root"
return 1 if $correspondent == $RT::SystemUser->id;
# only auto-take if owned by Nobody
return 1 unless $self->TicketObj->Owner == $RT::Nobody->id;
# don't auto-take if correspondent is requestor
# see http://wiki.bestpractical.com/index.cgi?OnCreateSetDeptHeadCc
my $rgobj = $self->TicketObj->Requestors;
my $rmobj = $rgobj->UserMembersObj;
my $uobj;
while ($uobj = $rmobj->Next)
{
if ($uobj->PrincipalObj->Id == $correspondent)
{
$RT::Logger->info("Not auto-assigning ticket #" .
$self->TicketObj->id . " to its requestor");
return 1;
}
}
$RT::Logger->info("Auto assign ticket #". $self->TicketObj->id ." to user
#". $correspondent );
my ($status, $msg) = $self->TicketObj->SetOwner( $correspondent );
unless( $status )
{
$RT::Logger->error( "Impossible to assign ticket to $correspondent:
$msg" );
return undef;
}
return 1;
-> the log messages:
Oct 21 16:48:02 support RT: Scrip Auto-Take started.117Owner: 10 ((eval
3112):4)
Oct 21 16:48:02 support RT: Auto assign ticket #105 to user #117 ((eval
3112):30)
Oct 21 16:48:02 support RT: <rt-3.6.5-19971-1224600482-234.105-2-0@>
#105/2265 - Scrip 2 Notify Owner on Owner Change
(/usr/share/request-tracker3.6/lib/RT/Action/SendEmail.pm:252)
Oct 21 16:48:02 support RT: <rt-3.6.5-19971-1224600482-234.105-2-0@> sent
To: user at company.com
(/usr/share/request-tracker3.6/lib/RT/Action/SendEmail.pm:283)
Oct 21 17:03:36 support RT: Scrip Auto-Take started.117Owner: 10 ((eval
475):4)
Oct 21 17:03:36 support RT: Auto assign ticket #105 to user #117 ((eval
475):30)
Oct 21 17:03:36 support RT: <rt-3.6.5-23801-1224601416-749.105-2-0@>
#105/2268 - Scrip 2 Notify Owner on Owner Change
(/usr/share/request-tracker3.6/lib/RT/Action/SendEmail.pm:252)
Oct 21 17:03:36 support RT: <rt-3.6.5-23801-1224601416-749.105-2-0@> sent
To: user at company.com
(/usr/share/request-tracker3.6/lib/RT/Action/SendEmail.pm:283)
--
View this message in context: http://www.nabble.com/Getting-the-owner-of-a-ticket-fails--tp20094432p20094432.html
Sent from the Request Tracker - User mailing list archive at Nabble.com.
More information about the rt-users
mailing list