X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=rt%2Fshare%2Fhtml%2FApprovals%2Findex.html;h=97f360ac01d88dfcf2dc816661511bb06872393a;hb=b8988e1d3ac75af63c85e8563e57701030315a9e;hp=cfd5ab4d5e897f4be3dbe80ab1bf721025d98d9f;hpb=0fb307c305e4bc2c9c27dc25a3308beae3a4d33c;p=freeside.git diff --git a/rt/share/html/Approvals/index.html b/rt/share/html/Approvals/index.html index cfd5ab4d5..97f360ac0 100755 --- a/rt/share/html/Approvals/index.html +++ b/rt/share/html/Approvals/index.html @@ -2,7 +2,7 @@ %# %# COPYRIGHT: %# -%# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC +%# This software is Copyright (c) 1996-2014 Best Practical Solutions, LLC %# %# %# (Except where explicitly superseded by other copyright notices) @@ -46,10 +46,10 @@ %# %# END BPS TAGGED BLOCK }}} <& /Elements/Header, Title => loc("My approvals") &> -<& /Approvals/Elements/Tabs, Title => loc("My approvals") &> +<& /Elements/Tabs &> <& /Elements/ListActions, actions => \@actions &> -
+ <& Elements/PendingMyApproval, %ARGS &> <& /Elements/Submit, Label => loc('Go!') &>
@@ -64,6 +64,13 @@ foreach my $arg ( keys %ARGS ) { my $ticket = LoadTicket($1); + my $skip_update = 0; + $m->callback( CallbackName => 'BeforeApproval', + skip_update => \$skip_update, + Ticket => $ticket, + actions => \@actions); + next if $skip_update; + if ( $ARGS{ "Approval-" . $ticket->Id . "-Notes" } ) { my $notes = MIME::Entity->build( Data => [ $ARGS{ "Approval-" . $ticket->Id . "-Notes" } ] @@ -79,11 +86,11 @@ foreach my $arg ( keys %ARGS ) { } my ($val, $msg); - if ( $ARGS{$arg} eq 'deny' ) { - ( $val, $msg ) = $ticket->SetStatus('rejected'); + if ( $ARGS{$arg} eq 'deny' && $ticket->Status !~ /^(rejected|deleted)/ ) { + ( $val, $msg ) = $ticket->SetStatus('rejected'); } - elsif ( $ARGS{$arg} eq 'approve' ) { - ( $val, $msg ) = $ticket->SetStatus('resolved'); + elsif ( $ARGS{$arg} eq 'approve' && $ticket->Status ne 'resolved') { + ( $val, $msg ) = $ticket->SetStatus('resolved'); } push ( @actions, loc("Approval #[_1]: [_2]",$ticket->id, $msg )) if ($msg); }