From 8c5a780343e027058a51692d8b9b8140c88ce6c7 Mon Sep 17 00:00:00 2001 From: mark Date: Wed, 1 Sep 2010 23:39:23 +0000 Subject: RT mandatory custom fields, RT#9260 --- .../Ticket/Update.html/BeforeDisplay | 24 ++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 rt/share/html/Callbacks/CheckMandatoryFields/Ticket/Update.html/BeforeDisplay (limited to 'rt/share/html/Callbacks/CheckMandatoryFields/Ticket/Update.html') diff --git a/rt/share/html/Callbacks/CheckMandatoryFields/Ticket/Update.html/BeforeDisplay b/rt/share/html/Callbacks/CheckMandatoryFields/Ticket/Update.html/BeforeDisplay new file mode 100644 index 000000000..0d69bc27b --- /dev/null +++ b/rt/share/html/Callbacks/CheckMandatoryFields/Ticket/Update.html/BeforeDisplay @@ -0,0 +1,24 @@ +<%doc> +When the user tries to change a ticket's status to "resolved" through +the Update interface, check mandatory fields. If they aren't all set, +redirect to Ticket Basics instead of updating. Note that this will +lose any comments/time/other information the user has entered. + + +<%init> +my $TicketObj = $ARGS{'Ticket'}; +my $ARGSRef = $ARGS{'ARGSRef'}; +my $oldStatus = $TicketObj->Status(); +my $newStatus = $ARGSRef->{'Status'} || $ARGSRef->{'DefaultStatus'}; +if( $oldStatus ne 'resolved' and + $newStatus eq 'resolved' and + $m->comp('/Ticket/Elements/CheckMandatoryFields', + Ticket => $TicketObj + ) ) { + $m->clear_buffer; + RT::Interface::Web::Redirect( + RT->Config->Get('WebURL')."Ticket/Modify.html?id=".$TicketObj->Id."&resolve=1" + ); + $m->abort; +} + -- cgit v1.2.1