AnyReminderTransaction

From Request Tracker Wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Overview

This modification allows to associate scrips to the creation of a reminder.

Tested only on 3.6.3

How to set up AnyReminderTransaction in RT3:

1. Save the following code to /path/to/rt3/local/lib/RT/Condition/AnyReminderTransaction.pm

# BEGIN BPS TAGGED BLOCK {{{
 #
 # COPYRIGHT:
 #
 # Copyright (c) 2007 Revolution Linux, Inc
 # <mjeanson@revolutionlinux.com>
 #
 # (Except where explicitly superseded by other copyright notices)
 #
 #
 # LICENSE:
 #
 # This work is made available to you under the terms of Version 2 of
 # the GNU General Public License. A copy of that license should have
 # been provided with this software, but in any event can be snarfed
 # from www.gnu.org.
 #
 # This work is distributed in the hope that it will be useful, but
 # WITHOUT ANY WARRANTY; without even the implied warranty of
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 # General Public License for more details.
 #
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software
 # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 #
 # END BPS TAGGED BLOCK }}}
 
 package RT::Condition::AnyReminderTransaction;
 require RT::Condition::Generic;
 
 use strict;
 use vars qw/@ISA/;
 @ISA = qw(RT::Condition::Generic);
 
 
 =head2 IsApplicable
 
 If the ticket object type is "reminder" return true, otherwise return false
 
 =cut
 
 sub IsApplicable {
     my $self = shift;
     if ($self->TicketObj->Type eq 'reminder') {
         return(1);
     }
     else {
         return(undef);
     }
 }
 
 eval "require RT::Condition::AnyReminderTransaction_Vendor";
 die $@ if ($@ && $@ !~ qr{^Can't locate RT/Condition/AnyReminderTransaction_Vendor.pm});
 eval "require RT::Condition::AnyReminderTransaction_Local";
 die $@ if ($@ && $@ !~ qr{^Can't locate RT/Condition/AnyReminderTransaction_Local.pm});
 
 1;
 
 
 

2. Save the following code in a datafile named AnyReminderTransaction.insert on your server:

 @ScripConditions = (
     { Name                 => 'On Reminder Create',                       # loc
       Description          => 'When a reminder is created',               # loc
       ApplicableTransTypes => 'Create',
       ExecModule           => 'AnyReminderTransaction', },
 );
 

3. Run the RT3 Setup Database tool specifying to insert the datafile just saved. This will create the ScripConditions in RT's database.

/path/to/rt3/sbin/rt-setup-database --action insert --datafile /path/to/AnyReminderTransaction.insert