3 %# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com>
5 %# (Except where explictly superceded by other copyright notices)
7 %# This work is made available to you under the terms of Version 2 of
8 %# the GNU General Public License. A copy of that license should have
9 %# been provided with this software, but in any event can be snarfed
12 %# This work is distributed in the hope that it will be useful, but
13 %# WITHOUT ANY WARRANTY; without even the implied warranty of
14 %# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 %# General Public License for more details.
17 %# Unless otherwise specified, all modifications, corrections or
18 %# extensions to this work which alter its source code become the
19 %# property of Best Practical Solutions, LLC when submitted for
20 %# inclusion in the work.
24 <& /Elements/Header, Title => loc("My approvals") &>
25 <& /Approvals/Elements/Tabs, Title => loc("My approvals") &>
27 <& /Elements/ListActions, actions => \@actions &>
29 <& Elements/PendingMyApproval, %ARGS &>
30 <& /Elements/Submit &>
35 foreach my $arg ( keys %ARGS ) {
37 next unless ( $arg =~ /Approval-(\d+)-Action/ );
39 my ( $notesval, $notesmsg );
41 my $ticket = LoadTicket($1);
43 if ( $ARGS{ "Approval-" . $ticket->Id . "-Notes" } ) {
44 my $notes = MIME::Entity->build(
45 Data => [ $ARGS{ "Approval-" . $ticket->Id . "-Notes" } ]
47 RT::I18N::SetMIMEEntityToUTF8($notes); # convert text parts into utf-8
49 my ( $notesval, $notesmsg ) = $ticket->Correspond( MIMEObj => $notes );
51 push ( @actions, loc("Approval #[_1]: Notes recorded",$ticket->Id ));
53 push ( @actions, loc("Approval #[_1]: Notes not recorded due to a system error",$ticket->Id ));
58 if ( $ARGS{$arg} eq 'deny' ) {
59 ( $val, $msg ) = $ticket->SetStatus('rejected');
61 elsif ( $ARGS{$arg} eq 'approve' ) {
62 ( $val, $msg ) = $ticket->SetStatus('resolved');
64 push ( @actions, loc("Approval #[_1]: [_2]",$ticket->id, $msg )) if ($msg);