PATCH: Another callback for /Ticket/Display.html

I came across another scenario where I needed a new callback:
/Ticket/Display.html before the redirect (approx line 154).

Scenario: When resolving a ticket via /Ticket/Update.html, I want to
conditionally require entering a value for a custom field (eg: resolving
a ticket to add a new user and specifying their new email address). So I
have a callback (BeforeMessageBox) that adds appropriate fields for the
CFs I want filled in. This works great. However, by default
/Ticket/Display.html does not update Custom Fields - just Basics and
Links. So I’m using a new Callback (BeforeActions) to give me a chance
to save these CF’s.

Here’s another feature request: give me a standard way to see if a form
has been submitted. In other projects I’ve used a hidden field
"_form_submitted" which served this purpose. Something similar would be
useful in a lot of places IMHO.

Here’s the patch for /Tickets/Display.html

— /Ticket/Display.html.orig 2006-03-04 22:51:08.000000000 +0000
+++ /Ticket/Display.html 2006-07-31 21:15:23.000000000 +0000
@@ -146,11 +146,16 @@
push (@Actions, @BasicActions, @results);
}

+# only run as the result of a form submission (eg. from
/Ticket/Update.html)
+if ( $ARGS{“SubmitTicket”} ) {

  • $m->comp(’/Elements/Callback’, _CallbackName => ‘BeforeActions’,
  •        TicketObj => \$TicketObj, Tickets => \$Tickets, Actions =>
    

@Actions,

  •         ARGSRef => \%ARGS);
    

+}

This code does automatic redirection if any updates happen.

It doesn’t work for the client.

if (@Actions) {
# We’ve done something, so we need to clear the decks to avoid
# resubmission on refresh.

Thanks,
Drew

I came across another scenario where I needed a new callback:
/Ticket/Display.html before the redirect (approx line 154).

Scenario: When resolving a ticket via /Ticket/Update.html, I want to
conditionally require entering a value for a custom field (eg:
resolving
a ticket to add a new user and specifying their new email address).
So I
have a callback (BeforeMessageBox) that adds appropriate fields for
the
CFs I want filled in. This works great. However, by default
/Ticket/Display.html does not update Custom Fields - just Basics and
Links. So I’m using a new Callback (BeforeActions) to give me a chance
to save these CF’s.

Instead, how about a patch to just handle the CFs there, like we do
in other places that process ticket updates?

Here’s another feature request: give me a standard way to see if a
form
has been submitted. In other projects I’ve used a hidden field
“_form_submitted” which served this purpose. Something similar
would be
useful in a lot of places IMHO.

That sort of massive overhaul, well, at that point we may as well be
implementing RT on top of a new framework like Jifty :wink: which would
get you something much like what you want :wink:

jesse

PGP.sig (186 Bytes)