# On create: # - Sent email to requestor # - Check queue, and transfer to new queue if required # Custom condition: my $txn = $self->TransactionObj; my $type = $txn->Type; my $ticket = $self->TicketObj; if ($ticket->Status() eq "Redacted Facilitator Email Sent") { return 0; } return 0 unless $type eq "Status" || ( $type eq 'Set' && $txn->Field eq 'Status'); return 0 unless $txn->OldValue eq "new"; return 0 unless $txn->NewValue eq "Hub Not Assigned"; # To test by triggering change of status (Condition ^ above!) #Only act in test-queue (safety for testing) return 0 unless $ticket->QueueObj->Name eq "test-queue"; #Only act on creation #return 0 unless $txn->Type eq "Create"; # ONLY run script if current status is "Hub Not Assigned" if ($ticket->Status() eq "Hub Not Assigned") { return 1; } return 0; # Custom action preparation code: require RT::Action::SendEmail; use strict; use vars qw/@ISA/; @ISA = qw(RT::Action::SendEmail); #STOP RACE CONDITION! if ($self->TicketObj->Status() ne "Hub Not Assigned") { if ($self->TicketObj->Status() ne "Re-send Facilitator Email") { return 0; } } $self->SetRecipients(); $self->SUPER::Prepare(); $self->SUPER::Commit(); sub SetRecipients { my $self = shift; my $ticket = $self->TicketObj; my ( @To, @PseudoTo, @Cc, @Bcc ); my $arg ='Owner,Requestor,AdminCc,Cc'; ##Requestor #push @To, $ticket->Requestors->MemberEmailAddresses; push @To, $ticket->FirstCustomFieldValue('Facilitator Email'); my $creator = "Davis Admin"; @{ $self->{'To'} } = @To; } 1; # Custom action commit code: #Move to Redacted Facilitator email sent. my $ticket = $self->TicketObj; my $facilitator = $ticket->FirstCustomFieldValue('Facilitator Email'); if ($ticket->FirstCustomFieldValue('Facilitator Email') eq '') { return 0; } #if ($ticket->Status() ne "new") { # return 1; #} #$ticket->Comment(Content => 'Script #22 - sending email to facilitator'); #$ticket->Comment(Content => 'Status is: '.$self->TicketObj->Status()); $ticket->Comment(Content => 'AUTO: Email sent. Facilitator is: '.$ticket->FirstCustomFieldValue('Facilitator Email')); $ticket->Comment(Content => 'AUTO: Changing status to "Redacted Facilitator Email Sent"'); my ($status, $msg) = $ticket->SetStatus('Redacted Facilitator Email Sent'); return 1;