RT_Scrips/Scrip2.txt

83 lines
2.0 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;
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";
return 1;
# 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") {
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;