diff --git a/Scrip1.txt b/Scrip1.txt new file mode 100644 index 0000000..8ef9696 --- /dev/null +++ b/Scrip1.txt @@ -0,0 +1,72 @@ +# 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'); +# 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); +$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('Client Email'); + +my $creator = "Davis Admin"; +@{ $self->{'To'} } = @To; + +} + +1; + +# Custom action commit code: +my $ticket = $self->TicketObj; +my $queue = $ticket->FirstCustomFieldValue('Hub Queue'); + +#if ($ticket->Status() ne "new") { +# return 1; +#} + +#$ticket->Comment(Content => 'Script #21 - sending email to requestor'); +#$ticket->Comment(Content => 'Status is: '.$self->TicketObj->Status()); +$ticket->Comment(Content => 'AUTO: Email sent to requestor is: '.$ticket->FirstCustomFieldValue('Client Email')); +# $ticket->Comment(Content => 'To is: '.@{ $self->{'To'} }); + +#Now change Queue +#Get list of queues?: +if ($queue eq "test-queue") { + $ticket->Comment(Content => 'AUTO: Leaving in current queue'); +} else { + $ticket->Comment(Content => 'AUTO: Changing queue to'.$queue); + my ($status, $msg) = $ticket->SetQueue( $queue); +} +return 1; + + + +