X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=rt%2Fhtml%2FAdmin%2FElements%2FEditScrip;h=f3ad18b87a066c1b90e90aa54e1f7ca7ea2bd385;hp=1f186c233f4cebcef08982d2f201f86ff963f7d0;hb=e70abd21bab68b23488f7ef1ee2e693a3b365691;hpb=289340780927b5bac2c7604d7317c3063c6dd8cc diff --git a/rt/html/Admin/Elements/EditScrip b/rt/html/Admin/Elements/EditScrip index 1f186c233..f3ad18b87 100644 --- a/rt/html/Admin/Elements/EditScrip +++ b/rt/html/Admin/Elements/EditScrip @@ -1,8 +1,14 @@ -%# BEGIN LICENSE BLOCK +%# BEGIN BPS TAGGED BLOCK {{{ %# -%# Copyright (c) 1996-2003 Jesse Vincent +%# COPYRIGHT: +%# +%# This software is Copyright (c) 1996-2009 Best Practical Solutions, LLC +%# %# -%# (Except where explictly superceded by other copyright notices) +%# (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 @@ -14,141 +20,121 @@ %# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU %# General Public License for more details. %# -%# Unless otherwise specified, all modifications, corrections or -%# extensions to this work which alter its source code become the -%# property of Best Practical Solutions, LLC when submitted for -%# inclusion in the work. +%# 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., 51 Franklin Street, Fifth Floor, Boston, MA +%# 02110-1301 or visit their web page on the internet at +%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html. +%# +%# +%# CONTRIBUTION SUBMISSION POLICY: +%# +%# (The following paragraph is not intended to limit the rights granted +%# to you to modify and distribute this software under the terms of +%# the GNU General Public License and is only of importance to you if +%# you choose to contribute your changes and enhancements to the +%# community by submitting them to Best Practical Solutions, LLC.) %# +%# By intentionally submitting any modifications, corrections or +%# derivatives to this work, or any other work intended for use with +%# Request Tracker, to Best Practical Solutions, LLC, you confirm that +%# you are the copyright holder for those contributions and you grant +%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable, +%# royalty-free, perpetual, license to use, copy, create derivative +%# works based on those contributions, and sublicense and distribute +%# those contributions and any derivatives thereof. %# -%# END LICENSE BLOCK +%# END BPS TAGGED BLOCK }}} <& /Elements/ListActions, actions => \@actions &> - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -<& /Elements/Submit, Caption => loc("Be sure to save your changes"), Reset => 1 &> - -<%init> -my (@actions); + + + +<&| /Widgets/TitleBox, title => loc('Scrip Fields') &> +
-<&|/l&>Description: - - -
-<&|/l&>Condition: - -<& /Admin/Elements/SelectScripCondition, Name => "Scrip-$id-ScripCondition", Default => $scrip->ConditionObj->Id &>
-
-<&|/l&>Custom condition: - - -
-<&|/l&>Action: - -<& /Admin/Elements/SelectScripAction, Name => "Scrip-$id-ScripAction", Default => $scrip->ActionObj->Id &> -
-<&|/l&>Custom action preparation code: - - -
-<&|/l&>Custom action cleanup code: - - -
-<&|/l&>Stage: - -<& /Admin/Elements/SelectStage, Name => "Scrip-$id-Stage", Default => $scrip->Stage &> -
-<&|/l&>Template: - -<& /Admin/Elements/SelectTemplate, Name => "Scrip-$id-Template", Default => $scrip->TemplateObj->Id, Queue => $Queue &> -
-my $scrip = new RT::Scrip($session{'CurrentUser'}); + -if ( $id eq 'new' ) { + - my ( $retval, $msg ) = $scrip->Create( - Queue => $Queue, - ScripAction => $ARGS{"Scrip-new-ScripAction"}, - ScripCondition => $ARGS{"Scrip-new-ScripCondition"}, - Template => $ARGS{"Scrip-new-Template"}, - Description => $ARGS{"Scrip-new-Description"}, - CustomPrepareCode => $ARGS{"Scrip-new-CustomPrepareCode"}, - CustomCommitCode => $ARGS{"Scrip-new-CustomCommitCode"}, - CustomIsApplicableCode => $ARGS{"Scrip-new-CustomIsApplicableCode"}, - ); - if ( defined $retval ) { - push @actions, $msg; - } - else { - Abort( $msg); - } -} -elsif ($id) { - my ($val,$msg) =$scrip->Load($id); - if ($val) { - $id = $scrip->id; - } else { - Abort ($msg); + + + + + + +
<&|/l&>Description: +Description %>" /> +
<&|/l&>Condition: +<& /Admin/Elements/SelectScripCondition, + Name => "Scrip-$id-ScripCondition", + Default => $ARGS{"Scrip-$id-ScripCondition"} || $scrip->ConditionObj->Id, +&>
<&|/l&>Action: +<& /Admin/Elements/SelectScripAction, + Name => "Scrip-$id-ScripAction", + Default => $ARGS{"Scrip-$id-ScripAction"} || $scrip->ActionObj->Id, +&>
<&|/l&>Template: +<& /Admin/Elements/SelectTemplate, + Name => "Scrip-$id-Template", + Default => $ARGS{"Scrip-$id-Template"} || $scrip->TemplateObj->Id, + Queue => $Queue, +&>
<&|/l&>Stage: +<& /Admin/Elements/SelectStage, + Name => "Scrip-$id-Stage", + Default => $ARGS{"Scrip-$id-Stage"} || $scrip->Stage, +&>
+ + +<& /Elements/Submit, + Label => $SubmitLabel, + Caption => loc("Be sure to save your changes"), + Reset => 1, +&>
+ +<&| /Widgets/TitleBox, title => loc('User Defined conditions and actions') &> + + + + + + + + + +
+<&|/l&>(Use these fields when you choose 'User Defined' for a condition or action) +
<&|/l&>Custom condition: + +
<&|/l&>Custom action preparation code: + +
<&|/l&>Custom action cleanup code: + +
+ + +<& /Elements/Submit, Label => $SubmitLabel, Reset => 1 &> + + +<%init> + +my (@actions, $SubmitLabel); + +my $scrip = RT::Scrip->new( $session{'CurrentUser'} ); + +if ( $id ) { + $scrip->Load( $id ); + unless ( $id = $scrip->id ) { + push @actions, loc("Couldn't load scrip #[_1]", $id); } - my @attribs = qw ( - Queue - ScripAction - ScripCondition - Template - Stage - Description - CustomPrepareCode - CustomCommitCode - CustomIsApplicableCode - ); - my @results = UpdateRecordObject( AttributesRef => \@attribs, - AttributePrefix => 'Scrip-'.$scrip->Id, - Object => $scrip, - ARGSRef => \%ARGS ); - push (@actions, @results); + $SubmitLabel = loc('Update'); } -elsif ($ARGS{'create'}) { +unless ( $id ) { $id = 'new'; + $SubmitLabel = loc('Create'); } -# }}} <%ARGS> @@ -156,3 +142,42 @@ $id => undef $title => undef $Queue => 0 + +<%METHOD Process> +<%ARGS> +$id => undef +$Queue => undef + +<%INIT> +return ($id) unless $id; + +my $scrip = RT::Scrip->new( $session{'CurrentUser'} ); +if ( $id eq 'new' ) { + return $scrip->Create( + Queue => $Queue, + ScripAction => $ARGS{"Scrip-new-ScripAction"}, + ScripCondition => $ARGS{"Scrip-new-ScripCondition"}, + Template => $ARGS{"Scrip-new-Template"}, + Description => $ARGS{"Scrip-new-Description"}, + CustomPrepareCode => $ARGS{"Scrip-new-CustomPrepareCode"}, + CustomCommitCode => $ARGS{"Scrip-new-CustomCommitCode"}, + CustomIsApplicableCode => $ARGS{"Scrip-new-CustomIsApplicableCode"}, + ); +} +else { + $scrip->Load( $id ); + return (undef, loc("Couldn't load scrip #[_1]", $id)) + unless $scrip->id; + + my @attribs = qw(Queue ScripAction ScripCondition Template Stage + Description CustomPrepareCode CustomCommitCode CustomIsApplicableCode); + my @results = UpdateRecordObject( + AttributesRef => \@attribs, + AttributePrefix => 'Scrip-'.$scrip->Id, + Object => $scrip, + ARGSRef => \%ARGS + ); + return ($scrip->id, @results); +} + +