%# BEGIN LICENSE BLOCK %# %# Copyright (c) 1996-2003 Jesse Vincent %# %# (Except where explictly superceded by other copyright notices) %# %# 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. %# %# 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. %# %# %# END LICENSE BLOCK <& /Elements/Header, Title => loc("My approvals") &> <& /Approvals/Elements/Tabs, Title => loc("My approvals") &> <& /Elements/ListActions, actions => \@actions &> <& Elements/PendingMyApproval, %ARGS &> <& /Elements/Submit, Label => loc('Show Approvals') &> <%init> my (@actions); foreach my $arg ( keys %ARGS ) { next unless ( $arg =~ /Approval-(\d+)-Action/ ); my ( $notesval, $notesmsg ); my $ticket = LoadTicket($1); if ( $ARGS{ "Approval-" . $ticket->Id . "-Notes" } ) { my $notes = MIME::Entity->build( Data => [ $ARGS{ "Approval-" . $ticket->Id . "-Notes" } ] ); RT::I18N::SetMIMEEntityToUTF8($notes); # convert text parts into utf-8 my ( $notesval, $notesmsg ) = $ticket->Correspond( MIMEObj => $notes ); if ($notesval) { push ( @actions, loc("Approval #[_1]: Notes recorded",$ticket->Id )); } else { push ( @actions, loc("Approval #[_1]: Notes not recorded due to a system error",$ticket->Id )); } } my ($val, $msg); if ( $ARGS{$arg} eq 'deny' ) { ( $val, $msg ) = $ticket->SetStatus('rejected'); } elsif ( $ARGS{$arg} eq 'approve' ) { ( $val, $msg ) = $ticket->SetStatus('resolved'); } push ( @actions, loc("Approval #[_1]: [_2]",$ticket->id, $msg )) if ($msg); }