combine ticket notification scrips, #15353
authormark <mark>
Fri, 9 Dec 2011 18:50:44 +0000 (18:50 +0000)
committermark <mark>
Fri, 9 Dec 2011 18:50:44 +0000 (18:50 +0000)
FS/FS/TicketSystem.pm
rt/etc/initialdata

index aae44f3..c1553f1 100644 (file)
@@ -136,7 +136,8 @@ sub _upgrade_data {
 
   # Load from RT data file
   our (@Groups, @Users, @ACL, @Queues, @ScripActions, @ScripConditions,
-       @Templates, @CustomFields, @Scrips, @Attributes, @Initial, @Final);
+       @Templates, @CustomFields, @Scrips, @Attributes, @Initial, @Final,
+       %Delete_Scrips);
   my $datafile = '%%%RT_PATH%%%/etc/initialdata';
   eval { require $datafile };
   if ( $@ ) {
@@ -211,6 +212,11 @@ sub _upgrade_data {
       my ($val, $msg) = $item->Delete;
       warn "error deleting scrip: $msg\n" if !$val;
     }
+    elsif ( exists $Delete_Scrips{$c}{$a}{$t} and $item->Creator == 1 ) {
+      warn "Deleting obsolete scrip $c $a [$t]\n";
+      my ($val, $msg) = $item->Delete;
+      warn "error deleting scrip: $msg\n" if !$val;
+    }
     else {
       $scrip{$c}{$a}{$t} = $item->id;
     }
index 7b3f6a6..edf93fe 100644 (file)
       ExecModule  => 'NotifyAsComment',
       Argument    => 'Requestor,Cc' },
 
-    { Name        => 'Notify Requestors and Ccs',                         # loc
-      Description => 'Send mail to requestors and Ccs',                   # loc
-      ExecModule  => 'Notify',
-      Argument    => 'Requestor,Cc' },
+# deprecated
+#    { Name        => 'Notify Requestors and Ccs',                         # loc
+#      Description => 'Send mail to requestors and Ccs',                   # loc
+#      ExecModule  => 'Notify',
+#      Argument    => 'Requestor,Cc' },
 
+# not yet deprecated
     { Name        => 'Notify Owner, Requestors, Ccs and AdminCcs as Comment',    # loc
       Description => 'Send mail to owner and all watchers as a "comment"',          # loc
       ExecModule  => 'NotifyAsComment',
       Description => 'Sends mail to explicitly listed Ccs and Bccs',      # loc
       ExecModule  => 'NotifyAsComment',
       Argument    => 'OtherRecipients' },
-    { Name        => 'Notify Other Recipients',                           # loc
-      Description => 'Sends mail to explicitly listed Ccs and Bccs',      # loc
-      ExecModule  => 'Notify',
-      Argument    => 'OtherRecipients' },
+# deprecated
+#    { 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
       ExecModule  => 'UserDefined', },
       ExecModule  => 'ScheduledResolve',
       Argument    => '',
     },
+# combine these into a single action so they can see each other in the headers
+    { Name        => 'Notify Requestors, Ccs, and Other Recipients',
+      Description => 'Send mail to requestors, watchers, and explicit Ccs',
+      ExecModule  => 'Notify',
+      Argument    => 'Requestor,Cc,OtherRecipients',
+    },
 );
 
 @ScripConditions = (
@@ -550,14 +560,18 @@ Hour:         { $SubscriptionObj->SubValue('Hour') }
        ScripCondition => 'On Correspond',
        ScripAction    => 'Notify AdminCcs',
        Template       => 'Admin Correspondence' },
-    {  Description    => 'On Correspond Notify Requestors and Ccs',
+#    {  Description    => 'On Correspond Notify Requestors and Ccs',
+#       ScripCondition => 'On Correspond',
+#       ScripAction    => 'Notify Requestors And Ccs',
+#       Template       => 'Correspondence' },
+#    {  Description    => 'On Correspond Notify Other Recipients',
+#       ScripCondition => 'On Correspond',
+#       ScripAction    => 'Notify Other Recipients',
+#       Template       => 'Correspondence' },
+    {  Description    => 'On Correspond Notify Requestors, Ccs, and Other Recipients',
        ScripCondition => 'On Correspond',
-       ScripAction    => 'Notify Requestors And Ccs',
-       Template       => 'Correspondence' },
-    {  Description    => 'On Correspond Notify Other Recipients',
-       ScripCondition => 'On Correspond',
-       ScripAction    => 'Notify Other Recipients',
-       Template       => 'Correspondence' },
+       ScripAction    => 'Notify Requestors, Ccs, and Other Recipients',
+       Template       => 'Correspondence', },
     {  Description    => 'On Comment Notify AdminCcs as Comment',
        ScripCondition => 'On Comment',
        ScripAction    => 'Notify AdminCcs As Comment',
@@ -646,3 +660,18 @@ Hour:         { $SubscriptionObj->SubValue('Hour') }
       },
     },
 );
+
+# freeside upgrade
+# Obsolete/erroneous scrips
+# If
+#   $Delete_Scrips{conditionname}{actionname}{templatename}
+# exists, and the scrip was created by the system user, it 
+# will be deleted on upgrade.  Lowercase all the names here.
+
+%Delete_Scrips = (
+  'on correspond' => {
+    'notify requestors and ccs' => { 'correspondence' => 1 },
+    'notify other recipients'   => { 'correspondence' => 1 },
+  }
+);
+