QuickCreate
Many weeks ago i found somewhere at the maillinglist something about enhance RT QuickCreate to make it more usable for a helpdesk/call center.
This small patch add's to the QuickCreate a Message Text (was already prepared by BPS) and puts the text as body for a new ticket.
We need to patch two files.
1. /html/Elements/QuickCreate
--- /opt/rt3/share/html/Elements/QuickCreate 2007-06-11 10:10:42.000000000 +0200
+++ /opt/rt3/local/html/Elements/QuickCreate 2007-06-11 11:25:12.000000000 +0200
@@ -49,22 +49,39 @@
<&| /Widgets/TitleBox, title => loc('Quick ticket creation') &>
<form method="post" action="<%$RT::WebPath%>/index.html">
<input type="hidden" class="hidden" name="QuickCreate" value="1" />
-<table>
-<tr><td>
-<&|/l&>Subject</&>:<br /><input size="15" name="Subject" />
-</td><td>
-<&|/l&>Queue</&>:<br /><& /Elements/SelectNewTicketQueue, Name => 'Queue', ShowNullOption => 0 &>
-</td><td>
-<&|/l&>Owner</&>:<br />
+
+<table style="text-align: left; width: 100%;" border="0" cellpadding="0" cellspacing="0">
+<tbody>
+<tr>
+<td style="text-align: right; width: 70px;"><font size="-2"><&|/l&>Requestor</&>:<br /></font></td>
+<td><input class="input_quick" name="Requestor"></td>
+</tr>
+<tr>
+<td style="text-align: right; width: 70px;"><font size="-2"><&|/l&>Queue</&>:</font></td>
+<td><& /Elements/SelectNewTicketQueue, Name => 'Queue', ShowNullOption => 0 &></td>
+</tr>
+<tr>
+<td style="text-align: right; width: 70px;"><font size="-2"><&|/l&>Owner</&>:</font></td>
+<td>
<select type="select" name="Owner">
-<option value="<%$session{'CurrentUser'}->id%>" selected><%$session{'CurrentUser'}->Name %></option>
-<option value="<%$RT::Nobody->id%>"><%loc('Nobody')%></option>
+<option value="<%$session{'CurrentUser'}->id%>"><%$session{'CurrentUser'}->Name %></option>
+<option value="<%$RT::Nobody->id%>" selected><%loc('Nobody')%></option>
</select>
</td>
</tr>
-%#<tr><td colspan="3"><textarea cols="50" rows="3"></textarea></td></tr>
+<tr>
+<td style="text-align: right; width: 70px;"><font size="-2"><&|/l&>Subject</&>:</font></td>
+<td><input class="input_quick" name="Subject" /></td>
+</tr>
+<tr>
+<td style="text-align: right; width: 70px;"><font size="-2"><&|/l&>Message</&>:</font></td>
+<td><textarea cols="80" rows="4" name="Tickettext"></textarea></td>
+</tr>
+<tr>
+<td style="padding: 0;" align="right" colspan="2"><input type="submit" class="button" value="<%loc('Create')%>" /></td>
+</tr>
+</tbody>
</table>
-<div align="right"><input type="submit" class="button" value="<%loc('Create')%>" /></div>
</form>
</&>
</div>
And a second file under /html/index.html
--- /opt/rt3/share/html/index.html 2007-06-11 10:10:42.000000000 +0200
+++ /opt/rt3/local/html/index.html 2007-06-11 10:58:46.000000000 +0200
@@ -84,13 +84,21 @@
my @results;
if ($ARGS{'QuickCreate'} ) {
+ my $txt = $ARGS{'Tickettext'};
+ $RT::Logger->debug("the TText is :".$txt);
+ my $Mime = MIME::Entity->build(
+ Type => 'text/plain',
+ Data => $txt
+ );
+ my $MimeMessage = $Mime->stringify();
+ my $parser = RT::EmailParser->new();
+ $parser->ParseMIMEEntityFromScalar($MimeMessage);
my $ticket = RT::Ticket->new($session{'CurrentUser'});
my ($tid, $trans, $tmsg) = $ticket->Create(Queue => $ARGS{'Queue'},
Owner => $ARGS{'Owner'},
- Requestor => $session{'CurrentUser'}->UserObj->EmailAddress,
- Subject => $ARGS{'Subject'});
-
-
+ Requestor => $ARGS{'Requestor'} || $session{'CurrentUser'}->UserObj->EmailAddress,
+ Subject => $ARGS{'Subject'},
+ MIMEObj => $parser->Entity);
push (@results, $tmsg);
}
Now you can easy create a ticket from the frontpage with main information.