[Rt-devel] Custom Ticket Creation Form

Jeff Albert jralbert at uvic.ca
Fri Oct 6 15:47:58 EDT 2006


Hi Andrew,
Rather than trying to modify RT itself, we just built an external web 
form that collected the data and crunched it all into custom headers 
attached to an e-mail message sent to RT; we then used an onCreate scrip 
in RT to handle the incoming messages, parse out the useful information, 
and modify the ticket as it was being created. We used custom fields to 
store the data, but you wouldn't have to. By using the external form, we 
avoided having to deal with merging custom code in RT with new releases 
any time we wanted to upgrade. Hope that's helpful.

Cheers,
Jeff Albert

Andrew Dougherty wrote:
> Hello,
> 
>     After many attempts at trial and error and after a moderate
> amount of web research, including downloading and searching all of the
> mailinglists, I feel compelled to ask this question of the
> mailinglist.
> 
>     I am trying to create a custom ticket creation form, by
> forking Create.html.  I do not want Custom Fields, just to add the
> extra INPUTs to the Content input that becomes the first comment.
> 
>     As I don't know the "sequence diagrams" for RT, I have been
> unable to find a way to make this change (theoretically impossible)
> within the Create.html file, nor find where the Ticket is being
> created (and the form processed), and thus make the change there.
> 
>     I am not sure that this is even the correct mechanism for
> making a custom form of this type.  I did read through the "RT
> Essentials" but did not really see a way to do this.
> 
>     All I really need is someone to acknowledge which bearing the
> solution lies on.  For instance, can I simply create a Scrip that
> takes care of the post processing and test on the existence of the
> extra INPUTs?
> 
>     Any assistance would be very appreciated.
> 
> Sincerely,
> Andrew Dougherty
> 
>     Here are the extra INPUTs
> 
>     <!-- BEGIN NONSENSE -->
> 
>     % foreach my $field ("Username","Unit","Phone Number") {
>     <TR>
>     <TD class=label>
>     <&|/l&><%$field%></&>:
>     </TD>
>     <TD class=value COLSPAN=5>
>     <INPUT Name="<%$field%>" SIZE=15 MAXSIZE=100 value="<%$ARGS{$field} 
> || ''%>"><BR>
>     </TD>
>     </TR>
>     % }
> 
>     <TR>
>     <TD class=label>
>     <&|/l&>Issue Type</&>:
>     </TD>
>     <TD class=value>
>     <SELECT NAME="Issue Type">
>     % foreach my $problem ("Speed Problems","VOIP 
> Problems","Connectivity","Service Outage","Other") {
>     <OPTION "<%$problem%>"><%$problem%>
>     % }
>     </SELECT>
>     </TD>
>     </TR>
> 
>     <TR>
>     <TD class=label>
>     <&|/l&>Severity</&>:
>     </TD>
>     <TD class=value>
>     <SELECT NAME="Severity">
>     % foreach my $severity (1..5) {
>     <OPTION "<%$severity%>"><%$severity%>
>     % }
>     </SELECT>
>     </TD>
>     </TR>
> 
>     <TR>
>     <TD class=label>
>     <&|/l&>Building</&>:
>     </TD>
>     <TD class=value>
>     <SELECT NAME="Building">
>     % foreach my $building ("blah","blah","blah") {
>     <OPTION "<%$building%>"><%$building%>
>     % }
>     </SELECT>
>     </TD>
>     </TR>
> 
>     <!-- END NONSENSE -->
> 
> I then wish to have all the values for the INPUTs added into the value
> for the Content.
> 
> i.e. theoretically:
> 
>     $ARGS{Content} = join("\n",map "$_: $ARGS{$_}",
>         ("Username","Unit","Phone Number","Issue Type",
>         "Severity","Building","Content"))."\n\n\n";
> 
> 
> Andrew Dougherty
> Network Operations and Security Engineer
> onShore Networks, LLC
> (312)850-5200 ext. 146
> 
> _______________________________________________
> List info: http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-devel


More information about the Rt-devel mailing list