AutoSetOwnerFromCC: Difference between revisions
Jump to navigation
Jump to search
m (2 revisions imported) |
mNo edit summary |
||
| Line 5: | Line 5: | ||
Description: [[AutoAssign]] Owner From Cc Condition: On Create Action: User Defined Template: Global Template: Blank Stage: [[TransactionCreate]] | Description: [[AutoAssign]] Owner From Cc Condition: On Create Action: User Defined Template: Global Template: Blank Stage: [[TransactionCreate]] | ||
=== Custom Condition === | |||
return 1; | return 1; | ||
=== Custom Action Preparation === | |||
return 1; | return 1; | ||
=== Custom Action Cleanup Code === | |||
<pre> | |||
# Get the first CC | |||
my $newowner = $self->TicketObj->Cc->UserMembersObj->Next; | my $newowner = $self->TicketObj->Cc->UserMembersObj->Next; | ||
| Line 46: | Line 46: | ||
return 1; | return 1; | ||
</ | </pre> | ||
Latest revision as of 21:09, 13 August 2016
This is a variation on AutoSetOwner, it auto-sets the owner of a ticket by using the Cc watcher. It then removes the new owner from the Cc.
- Condition: On Create # Action: User Defined # Template: blank # Stage: TransactionCreate
Description: AutoAssign Owner From Cc Condition: On Create Action: User Defined Template: Global Template: Blank Stage: TransactionCreate
Custom Condition
return 1;
Custom Action Preparation
return 1;
Custom Action Cleanup Code
# Get the first CC
my $newowner = $self->TicketObj->Cc->UserMembersObj->Next;
if (defined $newowner) {
$RT::Logger->debug("Attempting to auto assign ticket #". $self->TicketObj->id ." to user #". $newowner->id);
my ($status, $msg) = $self->TicketObj->SetOwner( $newowner );
unless( $status ) {
$RT::Logger->error( "Impossible to assign ticket #" . $self->TicketObj->id . " to user #" . $newowner->id . ": $msg" );
return undef;
}
$RT::Logger->debug("Auto-assign successful for ticket #". $self->TicketObj->id);
# Now we need to remove them as Cc
$RT::Logger->debug("Attempting to remove user #" . $newowner->id . " as Cc on ticket #". $self->TicketObj->id);
my ($status, $msg)= $self->TicketObj->DeleteWatcher(
Type => "Cc",
PrincipalId => $newowner->id);
unless( $status ) {
$RT::Logger->error( "Unable to remove user #" . $newowner->id . " as Cc for ticket #" . $self->TicketObj->id);
return undef;
}
$RT::Logger->debug("Cc removal successful for ticket #". $self->TicketObj->id);
}
return 1;