OnOwnershipSquelchMailtoQueueWatchers
Jump to navigation
Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
This is a scrip action that I found multiple requests for while I was looking for it myself, but I couldn't find any example of code that did what I wanted it to do:
If a ticket goes from being owned by "Nobody" to being owned by a regular user, anyone who is just an AdminCc because they are assigned as a Watcher for that Queue. If they're the Requestor, Owner, or have been assigned as a CC or AdminCc for the ticket itself, they keep getting mail.
Scrip fields
- Description: On Initial Ownership Remove Queue Watchers
- Condition: User Defined
- Action: User Defined
- Template: Global template: Blank
- Stage: Transaction Create
User Defined conditions and actions
Custom Condition: (from Custom Condition Snippets)
my $txn = $self->TransactionObj; return 0 unless $txn->Type eq "Set"; return 0 unless $txn->Field eq "Owner"; return 0 unless $txn->OldValue == $RT::Nobody->id; return 1;
Custom action preparation code:
return 1;
Custom action cleanup code:
my $t = $self->TicketObj; my $q = $self->TicketObj->QueueObj; my $q_accs = $q->AdminCc->UserMembersObj; while (my $q_u = $q_accs->Next) { unless ($t->IsAdminCc($q_u->id) or $t->IsCc($q_u->id) or $t->IsRequestor($q_u->id) or $t->IsOwner($q_u)) { $t->SquelchMailTo($q_u->EmailAddress); } } return 1;