Control Update on ticket

Good afternoon,

I am writing a custom scrip that handles a workflow for a ticket. It has a
custom field Approval. I want to create a ticket with this field having no
value in Queue A.

I want the Manager of Queue A to come in and Correspond (update) the ticket
with a message & change the custom field to Approved or Rejected. Then I
want to be able to create a correspondance on the ticket with the value of
the the field Approval prepended to whatever update the user type. I then
want to reset the approval field back to (no value) and move it to Queue B.

My questions are:

1.) The custom field is present when I create a ticket, but I want this to
be edited by the person updating the ticket. How can I get this so it is
shown & updatable by the person approving the ticket?

2.) How do intercept the message typed in by the user to prepend to the
text message? It looks like I can use the $ticket->Correspond() method to
set a correspondance and maybe the $transaction->Message() method to return
an Attachment object but I do not see how I can grab the text part of the
message and pre-pend either "Approved - " or "Rejected - " to the front of
it. (or maybe I am waaay of the path here…) Is there an easier way?

My other consideration is that I just create an additional correspondance
entry with just the word Approved or Rejected, but I would rather not have
users have one message with the approval & another with the reasoning.

There are several other queues A,B,C,D etc that the ticket would move
through and needed approvals through every step.

Thanks for your help.

Kevin

There are several other queues A,B,C,D etc that the ticket would move
through and needed approvals through every step.

Use RT’s built in approvals; they do just what you want. Some docs:
http://bestpractical.com/rt/docs/latest/customizing/approvals.html

To move the ticket between your queues when approved/rejected, you’ll
use a custom scrip that triggers when the ticket status moves from new
to open or rejected.