X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=rt%2Fetc%2Finitialdata;h=aa2010fd1386fe8ce1f2af720da5479d9068aa3f;hp=931b318f24494f8ef39d1ec193b534bbc043db38;hb=221ec4469fe66fe3f2a91122d887525b0a49fbe6;hpb=655e7c5924ae2f24e7d0739efd311b9e018eceaa diff --git a/rt/etc/initialdata b/rt/etc/initialdata index 931b318f2..aa2010fd1 100644 --- a/rt/etc/initialdata +++ b/rt/etc/initialdata @@ -90,11 +90,11 @@ Description => 'Sends mail to explicitly listed Ccs and Bccs', # loc ExecModule => 'NotifyAsComment', Argument => 'OtherRecipients' }, -# deprecated -# { Name => 'Notify Other Recipients', # loc -# Description => 'Sends mail to explicitly listed Ccs and Bccs', # loc -# ExecModule => 'Notify', -# Argument => 'OtherRecipients' }, +# deprecated? now default create scrips use it in 4.2 + { Name => 'Notify Other Recipients', # loc + Description => 'Sends mail to explicitly listed Ccs and Bccs', # loc + ExecModule => 'Notify', + Argument => 'OtherRecipients' }, { Name => 'User Defined', # loc Description => 'Perform a user-defined action', # loc @@ -106,9 +106,6 @@ { Name => 'Open Tickets', # loc Description => 'Open tickets on correspondence', # loc ExecModule => 'AutoOpen' }, - { Name => 'Open Inactive Tickets', # loc - Description => 'Open inactive tickets', # loc - ExecModule => 'AutoOpenInactive' }, { Name => 'Extract Subject Tag', # loc Description => 'Extract tags from a Transaction\'s subject and add them to the Ticket\'s subject.', # loc ExecModule => 'ExtractSubjectTag' }, @@ -322,6 +319,110 @@ you may reply to this message.

], }, { Queue => '0', + Name => 'AutoreplyOrCorrespondence', # loc + Description => 'Plaintext AutoreplyOrCorrespondence template', # loc + Content => q[{ + use RT::Template; + my $creator_name = $Ticket->CreatorObj->Name; + my $requestors = $Ticket->Requestors->UserMembersObj; + my ( $c_requestor, $r_count ) = ( 0, 0 ); + while ( my $r = $requestors->Next() ) { + if ( $r->Name eq $creator_name ) { + $c_requestor++; + } + else { + $r_count++; + } + } + my $template = new RT::Template($RT::SystemUser); + my $template_name; + + #if the creator is not a requestor or + #there is more than one requestor ( who's not the creator ) + #use the Correspondence template + if ( ! $c_requestor || $r_count ) { + $template_name = 'Correspondence'; + } + else { + #otherwise use the Autoreply template + $template_name = 'Autoreply'; + } + + #Load the Queue Template + $template->LoadQueueTemplate( + Queue => $Ticket->Queue, + Name => $template_name, + ); + #if there's no Queue Template attempt to find a Global one. + unless ( $template->id ) { + $template->LoadGlobalTemplate( $template_name ); + unless ( $template->id ) { + $RT::Logger->error("Could not load template : $template_name") + } + } + #Process embedded fields & expressions of true templates; + #note that we can only meaningfully use the body + my($ret, $msg) = $template->Parse( + TicketObj => $Ticket, + TransactionObj => $Transaction, + ); + $ret ? $template->MIMEObj->stringify : $msg; + } +], + }, + { Queue => '0', + Name => 'AutoreplyOrCorrespondence in HTML', # loc + Description => 'HTML AutoreplyOrCorrespondence template', # loc + Content => q[{ + use RT::Template; + my $creator_name = $Ticket->CreatorObj->Name; + my $requestors = $Ticket->Requestors->UserMembersObj; + my ( $c_requestor, $r_count ) = ( 0, 0 ); + while ( my $r = $requestors->Next() ) { + if ( $r->Name eq $creator_name ) { + $c_requestor++; + } + else { + $r_count++; + } + } + my $template = new RT::Template($RT::SystemUser); + my $template_name; + + #if the creator is not a requestor or + #there is more than one requestor ( who's not the creator ) + #use the Correspondence template + if ( ! $c_requestor || $r_count ) { + $template_name = 'Correspondence in HTML'; + } + else { + #otherwise use the Autoreply in HTML template + $template_name = 'Autoreply in HTML'; + } + + #Load the Queue Template + $template->LoadQueueTemplate( + Queue => $Ticket->Queue, + Name => $template_name, + ); + #if there's no Queue Template attempt to find a Global one. + unless ( $template->id ) { + $template->LoadGlobalTemplate( $template_name ); + unless ( $template->id ) { + $RT::Logger->error("Could not load template : $template_name") + } + } + #Process embedded fields & expressions of true templates; + #note that we can only meaningfully use the body + my($ret, $msg) = $template->Parse( + TicketObj => $Ticket, + TransactionObj => $Transaction, + ); + $ret ? $template->MIMEObj->stringify : $msg; + } +], + }, + { Queue => '0', Name => 'Transaction', # loc Description => 'Plain text transaction template', # loc Content => 'RT-Attach-Message: yes @@ -801,9 +902,14 @@ Hour: { $SubscriptionObj->SubValue('Hour') } # ScripCondition => 'On Correspond', # ScripAction => 'Notify Requestors And Ccs', # Template => 'Correspondence in HTML' }, - { Description => 'On Correspond Open Inactive Tickets', + { Description => 'On Correspond Notify Requestors, Ccs, and Other Recipients', ScripCondition => 'On Correspond', - ScripAction => 'Open Inactive Tickets', + ScripAction => 'Notify Requestors, Ccs, and Other Recipients', + Template => 'Correspondence', }, + + { Description => 'On Correspond Open Tickets', + ScripCondition => 'On Correspond', + ScripAction => 'Open Tickets', Template => 'Blank' }, { Description => 'On Create Autoreply To Requestors', ScripCondition => 'On Create', @@ -841,6 +947,10 @@ Hour: { $SubscriptionObj->SubValue('Hour') } ScripCondition => 'On Forward Ticket', ScripAction => 'Send Forward', Template => 'Forward Ticket' }, + { Description => 'On Correspond, cancel future resolve', + ScripCondition => 'On Correspond', + ScripAction => 'Cancel Scheduled Resolve', + Template => 'Blank' }, ); @ACL = ( @@ -950,8 +1060,8 @@ Hour: { $SubscriptionObj->SubValue('Hour') } # RT 4.2 # superseded by "notify owner and adminccs" 'notify adminccs' => { 'admin correspondence' => 1 }, - # superseded by "open inactive tickets" - 'open tickets' => { 'blank' => 1 }, + # the new way, but doesn't work right vs. "open tickets" + 'open inactive tickets' => { 'blank' => 1 }, }, 'on create' => { # RT 4.2