OnStealEnhanced
See also
CustomConditionSnippets for On {Take, Steal, Give, Give Up, Assign, Re-Assign} and other cool things.
Contributed by
Chris Allermann
Overview
This custom condition is based on the OnSteal condition shown in the RT Essentials book, page 87. An additional piece of logic has been put in place to eliminate a bogus stolen ticket notification when one user gives a ticket to another user.
First, setup the template
Name: Stolen Ticket Notification Description: Template for stolen ticket notification Content: To: {my $user = new RT::User($RT::SystemUser); $user->Load($Transaction->OldValue); $user->Name || $Transaction->OldValue} Subject: [{$rtname } #{ $Ticket->Id() }] Stolen: { $Ticket->Subject() } A ticket you owned: { $Ticket->Subject() } has been taken by { $Ticket->OwnerObj->Name() }. { $RT::WebURL }Ticket/Display.html?id={ $Ticket->id }
Second, setup the Scrip
Description: On Stolen Ticket notify old owner Condition: User Defined Action: Notify Other Recipients Template: Global Template: Stolen Ticket Notification Stage: Transaction Create Custom Condition: return 0 unless $self->TransactionObj->Field eq 'Owner'; return 0 if $self->TransactionObj->OldValue == $self->TransactionObj->Creator; return 1 if $self->TransactionObj->OldValue != RT::Nobody()->id(); return 0;
Nothing really groundbreaking here. Just eliminating some unnecessary e-mail in my inbox. 2007-06-19: Eliminated a bug in the sample template. Added details for quick implementation by others. 2007-08-23 (Andreas): Most people will want to use "$user->EmailAddress()" (without the quotes) instead of $user->Name
in above template.