RT_Scrips/Scrip24.txt

75 lines
1.8 KiB
Plaintext

# On client accepted:
# - Sent full detail email to facilitator
# Custom condition:
my $txn = $self->TransactionObj;
my $type = $txn->Type;
my $ticket = $self->TicketObj;
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 run script if current status is "Facilitator Accepted"
if ($ticket->Status() eq "Facilitator Accepted") {
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 "Facilitator Accepted") {
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 Full Facilitator Email Sent and detailed email sent.
my $ticket = $self->TicketObj;
my $facilitator = $ticket->FirstCustomFieldValue('Facilitator Email');
if ($ticket->FirstCustomFieldValue('Facilitator Email') eq '') {
return 0;
}
$ticket->Comment(Content => 'AUTO: Email with all details sent. Facilitator is: '.$ticket->FirstCustomFieldValue('Facilitator Email'));
$ticket->Comment(Content => 'AUTO: Changing status to "Full Facilitator Email Sent"');
my ($status, $msg) = $ticket->SetStatus('Full Facilitator Email Sent');
return 1;