X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=rt%2Fshare%2Fhtml%2FAdmin%2FElements%2FEditScrip;h=c2e9de19fbc97da441e3c5482bb2e57830f8ef58;hb=b5c4237a34aef94976bc343c8d9e138664fc3984;hp=eed23ff31afb14b01dd4e389952e147406bf54c9;hpb=fc6209f398899f0211cfcedeb81a3cd65e04a941;p=freeside.git diff --git a/rt/share/html/Admin/Elements/EditScrip b/rt/share/html/Admin/Elements/EditScrip index eed23ff31..c2e9de19f 100755 --- a/rt/share/html/Admin/Elements/EditScrip +++ b/rt/share/html/Admin/Elements/EditScrip @@ -64,14 +64,32 @@ <& /Admin/Elements/SelectScripCondition, Name => "Scrip-$id-ScripCondition", Default => $ARGS{"Scrip-$id-ScripCondition"} || $scrip->ConditionObj->Id, + ScripObj => $scrip, + Queue => $Queue, &> +<& /Admin/Elements/EditScripOptions, + Name => "Condition", + Default => $ARGS{"Scrip-$id-ConditionRules"} || $scrip->ConditionRules, + Queue => $Queue, + ScripX => $ARGS{"Scrip-$id-ScripCondition"} || $scrip->ConditionObj->Id, +&> + <&|/l&>Action: <& /Admin/Elements/SelectScripAction, Name => "Scrip-$id-ScripAction", Default => $ARGS{"Scrip-$id-ScripAction"} || $scrip->ActionObj->Id, + ScripObj => $scrip, + Queue => $Queue, &> +<& /Admin/Elements/EditScripOptions, + Name => "Action", + Default => $ARGS{"Scrip-$id-ActionRules"} || $scrip->ActionRules, + Queue => $Queue, + ScripX => $ARGS{"Scrip-$id-ScripAction"} || $scrip->ActionObj->Id, +&> + <&|/l&>Template: <& /Admin/Elements/SelectTemplate, Name => "Scrip-$id-Template", @@ -165,6 +183,18 @@ $Queue => undef <%INIT> return ($id) unless $id; +my @rules = ('ConditionRules', 'ActionRules'); +if ( exists($ARGS{"Scrip-$id-ScripCondition"}) ) { + foreach my $rules (@rules) { + my $prefix = join('-', 'Scrip', $id, $rules); + $ARGS{$prefix} = join("\n", map { + $_ =~ /^$rules-(.*)$/ ? + ($1, $ARGS{$_}) : () + } keys(%ARGS) + ); + } +} + my $scrip = RT::Scrip->new( $session{'CurrentUser'} ); if ( $id eq 'new' ) { return $scrip->Create( @@ -177,6 +207,8 @@ if ( $id eq 'new' ) { CustomCommitCode => $ARGS{"Scrip-new-CustomCommitCode"}, CustomIsApplicableCode => $ARGS{"Scrip-new-CustomIsApplicableCode"}, Stage => $ARGS{"Scrip-new-Stage"}, + ConditionRules => $ARGS{"Scrip-new-ConditionRules"}, + ActionRules => $ARGS{"Scrip-new-ActionRules"}, ); } else { @@ -185,7 +217,8 @@ else { unless $scrip->id; my @attribs = qw(Queue ScripAction ScripCondition Template Stage - Description CustomPrepareCode CustomCommitCode CustomIsApplicableCode); + Description CustomPrepareCode CustomCommitCode CustomIsApplicableCode + ConditionRules ActionRules); my @results = UpdateRecordObject( AttributesRef => \@attribs, AttributePrefix => 'Scrip-'.$scrip->Id,