diff options
Diffstat (limited to 'rt/html/Admin/Elements/EditScrip')
-rw-r--r-- | rt/html/Admin/Elements/EditScrip | 242 |
1 files changed, 114 insertions, 128 deletions
diff --git a/rt/html/Admin/Elements/EditScrip b/rt/html/Admin/Elements/EditScrip index 907ae9a92..edf949ba3 100644 --- a/rt/html/Admin/Elements/EditScrip +++ b/rt/html/Admin/Elements/EditScrip @@ -2,7 +2,7 @@ %# %# COPYRIGHT: %# -%# This software is Copyright (c) 1996-2005 Best Practical Solutions, LLC +%# This software is Copyright (c) 1996-2007 Best Practical Solutions, LLC %# <jesse@bestpractical.com> %# %# (Except where explicitly superseded by other copyright notices) @@ -22,7 +22,9 @@ %# %# 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. +%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +%# 02110-1301 or visit their web page on the internet at +%# http://www.gnu.org/copyleft/gpl.html. %# %# %# CONTRIBUTION SUBMISSION POLICY: @@ -44,150 +46,95 @@ %# %# END BPS TAGGED BLOCK }}} <& /Elements/ListActions, actions => \@actions &> - -<FORM METHOD=POST ACTION="Scrip.html"> -<input type="hidden" name="id" value="<%$id%>"> -<input type="hidden" name="Queue" value="<%$Queue%>"> -<& /Elements/TitleBoxStart, title => loc('Scrip Fields') &> -<TABLE> -<TR> -<TD ALIGN=RIGHT> -<&|/l&>Description</&>: -</TD> -<TD> -<input Name="Scrip-<%$id%>-Description" value="<%$scrip->Description%>"> -</TR> -<TR> -<TD ALIGN=RIGHT> -<&|/l&>Condition</&>: -</TD> -<TD> -<& /Admin/Elements/SelectScripCondition, Name => "Scrip-$id-ScripCondition", Default => $scrip->ConditionObj->Id &><BR> -</TD> -</TR> -<TR> -<TD ALIGN=RIGHT> -<&|/l&>Action</&>: -</TD> -<TD> -<& /Admin/Elements/SelectScripAction, Name => "Scrip-$id-ScripAction", Default => $scrip->ActionObj->Id &> -</TD> -</TR> -<TR> -<TD ALIGN=RIGHT> -<&|/l&>Template</&>: -</TD> -<TD> -<& /Admin/Elements/SelectTemplate, Name => "Scrip-$id-Template", Default => $scrip->TemplateObj->Id, Queue => $Queue &> -</TD> -</TR> -<TR> -<TD ALIGN=RIGHT> -<&|/l&>Stage</&>: -</TD> -<TD> -<& /Admin/Elements/SelectStage, Name => "Scrip-$id-Stage", Default => $scrip->Stage &> -</TD> -</TR> +<form method="post" action="Scrip.html"> +<input type="hidden" class="hidden" name="id" value="<% $id %>" /> +<input type="hidden" class="hidden" name="Queue" value="<% $Queue %>" /> + +<&| /Widgets/TitleBox, title => loc('Scrip Fields') &> +<table> + +<tr><td align="right"><&|/l&>Description</&>:</td><td> +<input name="Scrip-<% $id %>-Description" value="<% $ARGS{"Scrip-$id-Description"} || $scrip->Description %>" /> +</td></tr> + +<tr><td align="right"><&|/l&>Condition</&>:</td><td> +<& /Admin/Elements/SelectScripCondition, + Name => "Scrip-$id-ScripCondition", + Default => $ARGS{"Scrip-$id-ScripCondition"} || $scrip->ConditionObj->Id, +&></td></tr> + +<tr><td align="right"><&|/l&>Action</&>:</td><td> +<& /Admin/Elements/SelectScripAction, + Name => "Scrip-$id-ScripAction", + Default => $ARGS{"Scrip-$id-ScripAction"} || $scrip->ActionObj->Id, +&></td></tr> + +<tr><td align="right"><&|/l&>Template</&>:</td><td> +<& /Admin/Elements/SelectTemplate, + Name => "Scrip-$id-Template", + Default => $ARGS{"Scrip-$id-Template"} || $scrip->TemplateObj->Id, + Queue => $Queue, +&></td></tr> + +<tr><td align="right"><&|/l&>Stage</&>:</td><td> +<& /Admin/Elements/SelectStage, + Name => "Scrip-$id-Stage", + Default => $ARGS{"Scrip-$id-Stage"} || $scrip->Stage, +&></td></tr> + </table> -<& /Elements/TitleBoxEnd &> -<& /Elements/Submit, Caption => loc("Be sure to save your changes"), Reset => 1 &> +</&> + +<& /Elements/Submit, + Label => $SubmitLabel, + Caption => loc("Be sure to save your changes"), + Reset => 1, +&><br /> -<br> -<& /Elements/TitleBoxStart, title => loc('User Defined conditions and actions') &> +<&| /Widgets/TitleBox, title => loc('User Defined conditions and actions') &> <table> -<TR> -<TD colspan=2> +<tr><td colspan="2"> <i><&|/l&>(Use these fields when you choose 'User Defined' for a condition or action)</&></i> -</TD> -</TR> -<TR> -<TD class=labeltop> -<&|/l&>Custom condition</&>: -</TD> -<TD> -<TEXTAREA COLS=80 ROWS=5 NAME="Scrip-<%$id%>-CustomIsApplicableCode"><%$scrip->CustomIsApplicableCode%></TEXTAREA> -</TD> -</TR> -<TR> -<TD class=labeltop> -<&|/l&>Custom action preparation code</&>: -</TD> -<TD> -<TEXTAREA COLS=80 ROWS=5 NAME="Scrip-<%$id%>-CustomPrepareCode"><%$scrip->CustomPrepareCode%></TEXTAREA> -</TD> -</TR> -<TR> -<TD class=labeltop> -<&|/l&>Custom action cleanup code</&>: -</TD> -<TD> -<TEXTAREA COLS=80 ROWS=5 NAME="Scrip-<%$id%>-CustomCommitCode"><%$scrip->CustomCommitCode%></TEXTAREA> -</TD> -</TR> +</td></tr> + +<tr><td class="labeltop"><&|/l&>Custom condition</&>:</td><td> +<textarea cols="80" rows="5" name="Scrip-<% $id %>-CustomIsApplicableCode"><% $ARGS{"Scrip-$id-CustomIsApplicableCode"} || $scrip->CustomIsApplicableCode %></textarea> +</td></tr> + +<tr><td class="labeltop"><&|/l&>Custom action preparation code</&>:</td><td> +<textarea cols="80" rows="5" name="Scrip-<% $id %>-CustomPrepareCode"><% $ARGS{"Scrip-$id-CustomPrepareCode"} || $scrip->CustomPrepareCode %></textarea> +</td></tr> + +<tr><td class="labeltop"><&|/l&>Custom action cleanup code</&>:</td><td> +<textarea cols="80" rows="5" name="Scrip-<% $id %>-CustomCommitCode"><% $ARGS{"Scrip-$id-CustomCommitCode"} || $scrip->CustomCommitCode %></textarea> +</td></tr> + </table> -<& /Elements/TitleBoxEnd &> +</&> -<& /Elements/Submit, Label => loc('Create'), Reset => 1 &> +<& /Elements/Submit, Label => $SubmitLabel, Reset => 1 &> -</FORM> +</form> <%init> -my (@actions); +my (@actions, $SubmitLabel); -my $scrip = new RT::Scrip($session{'CurrentUser'}); - -if ( $id eq 'new' ) { +my $scrip = RT::Scrip->new( $session{'CurrentUser'} ); - 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; - $id = $scrip->id; - } - else { - Abort( $msg); - } -} -elsif ($id) { - my ($val,$msg) =$scrip->Load($id); - if ($val) { - $id = $scrip->id; - } else { - Abort ($msg); +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'); } -# }}} </%init> <%ARGS> @@ -195,3 +142,42 @@ $id => undef $title => undef $Queue => 0 </%ARGS> + +<%METHOD Process> +<%ARGS> +$id => undef +$Queue => undef +</%ARGS> +<%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); +} +</%INIT> +</%METHOD> |