87 lines
2.2 KiB
Plaintext
87 lines
2.2 KiB
Plaintext
# 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;
|
|
|
|
|