<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://rt-wiki.bestpractical.com/index.php?action=history&amp;feed=atom&amp;title=CannedReplies</id>
	<title>CannedReplies - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://rt-wiki.bestpractical.com/index.php?action=history&amp;feed=atom&amp;title=CannedReplies"/>
	<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/index.php?title=CannedReplies&amp;action=history"/>
	<updated>2026-08-22T01:37:03Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.41.1</generator>
	<entry>
		<id>https://rt-wiki.bestpractical.com/index.php?title=CannedReplies&amp;diff=26517&amp;oldid=prev</id>
		<title>Barton: Code reformatting</title>
		<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/index.php?title=CannedReplies&amp;diff=26517&amp;oldid=prev"/>
		<updated>2017-09-07T02:06:44Z</updated>

		<summary type="html">&lt;p&gt;Code reformatting&lt;/p&gt;
&lt;a href=&quot;https://rt-wiki.bestpractical.com/index.php?title=CannedReplies&amp;amp;diff=26517&amp;amp;oldid=428&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>Barton</name></author>
	</entry>
	<entry>
		<id>https://rt-wiki.bestpractical.com/index.php?title=CannedReplies&amp;diff=428&amp;oldid=prev</id>
		<title>Admin: 8 revisions imported</title>
		<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/index.php?title=CannedReplies&amp;diff=428&amp;oldid=prev"/>
		<updated>2016-04-06T20:03:22Z</updated>

		<summary type="html">&lt;p&gt;8 revisions imported&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 16:03, 6 April 2016&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;4&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;!-- diff cache key bestpractical_mediawiki1459887241:diff:1.41:old-427:rev-428 --&gt;
&lt;/table&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://rt-wiki.bestpractical.com/index.php?title=CannedReplies&amp;diff=427&amp;oldid=prev</id>
		<title>212.29.41.179: /* Create a SelectCannedReply Admin Element */</title>
		<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/index.php?title=CannedReplies&amp;diff=427&amp;oldid=prev"/>
		<updated>2015-02-17T09:44:50Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Create a SelectCannedReply Admin Element&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 05:44, 17 February 2015&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l21&quot;&gt;Line 21:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 21:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Bring a copy of the SelectTemplate element over to you local branch and call it SelectCannedReply:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Bring a copy of the SelectTemplate element over to you local branch and call it SelectCannedReply:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  cp $RTHOME/html/Admin/Elements/SelectTemplate $RTHOME/html/Admin/Elements/SelectCannedReply&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  cp $RTHOME/html/Admin/Elements/SelectTemplate $RTHOME&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;/local&lt;/ins&gt;/html/Admin/Elements/SelectCannedReply&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Modify the SelectCannedReply file. I added a line right before the &amp;quot;OrderBy&amp;quot; line in each of the functions. Mine now looks like this:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Modify the SelectCannedReply file. I added a line right before the &amp;quot;OrderBy&amp;quot; line in each of the functions. Mine now looks like this:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key bestpractical_mediawiki1459887241:diff:1.41:old-426:rev-427:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>212.29.41.179</name></author>
	</entry>
	<entry>
		<id>https://rt-wiki.bestpractical.com/index.php?title=CannedReplies&amp;diff=426&amp;oldid=prev</id>
		<title>72.241.56.66: /* Create a SelectCannedReply Admin Element */</title>
		<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/index.php?title=CannedReplies&amp;diff=426&amp;oldid=prev"/>
		<updated>2012-06-15T19:23:25Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Create a SelectCannedReply Admin Element&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Several people have asked on the mailing list about how to get &amp;#039;canned replies&amp;#039; to appear in a drop-down list on the reply/comment screen. The idea is to make frequently used responses easily accessible.&lt;br /&gt;
&lt;br /&gt;
RTFM gives this capability.&lt;br /&gt;
&lt;br /&gt;
There may be people who don&amp;#039;t need the full power (and overhead) of an RTFM installation. For these folks, here is a simple solution that uses a couple of callbacks to provide a canned-reply feature on the reply/comment screen. It uses RT&amp;#039;s templates, so the same variable substitutions can be used. One limitation is that the transaction object can&amp;#039;t be used in the template - I just pass in a blank transaction object to the template parsing routine.&lt;br /&gt;
&lt;br /&gt;
Users will need [[ShowTemplate]] rights in order to send canned replies.&lt;br /&gt;
&lt;br /&gt;
Also note that you can send a canned reply with a quoted messages, but that the textarea will combine them in the style of a top post.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Modified Version ==&lt;br /&gt;
&lt;br /&gt;
by Kevin &amp;quot;gentgeen&amp;quot; Squire (gentgeen AT wikiak DOT org) on Mar 5, 2010.&lt;br /&gt;
&lt;br /&gt;
One drawback of the original [[CannedReplies]] was that it showed all templates in the dropdown. Originally this was fine for our environment, but as we began using RT for more things, and the pool of privileged users became less technical, there was a call to filter out the templates that were not canned replies. This is what I did meet that goal. All of my work is based off of the original done by Stephen Turner(MIT).&lt;br /&gt;
&lt;br /&gt;
=== Create a SelectCannedReply Admin Element ===&lt;br /&gt;
&lt;br /&gt;
Bring a copy of the SelectTemplate element over to you local branch and call it SelectCannedReply:&lt;br /&gt;
&lt;br /&gt;
 cp $RTHOME/html/Admin/Elements/SelectTemplate $RTHOME/html/Admin/Elements/SelectCannedReply&lt;br /&gt;
&lt;br /&gt;
Modify the SelectCannedReply file. I added a line right before the &amp;quot;OrderBy&amp;quot; line in each of the functions. Mine now looks like this:&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;%INIT&amp;amp;gt;&lt;br /&gt;
 my $PrimaryTemplates = RT::Templates-&amp;amp;gt;new($session{&amp;#039;CurrentUser&amp;#039;});&lt;br /&gt;
 if ($Queue != 0) {&lt;br /&gt;
 $PrimaryTemplates-&amp;amp;gt;LimitToQueue($Queue);&lt;br /&gt;
 $PrimaryTemplates-&amp;amp;gt;Limit(FIELD =&amp;amp;gt; &amp;#039;Description&amp;#039;, OPERATOR =&amp;amp;gt; &amp;#039;STARTSWITH&amp;#039;, VALUE =&amp;amp;gt; &amp;#039;Canned Reply&amp;#039;);&lt;br /&gt;
 $PrimaryTemplates-&amp;amp;gt;OrderBy(FIELD =&amp;amp;gt; &amp;#039;Name&amp;#039;);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 my $OtherTemplates = RT::Templates-&amp;amp;gt;new($session{&amp;#039;CurrentUser&amp;#039;});&lt;br /&gt;
 $OtherTemplates-&amp;amp;gt;LimitToGlobal($DefaultQueue);&lt;br /&gt;
 $OtherTemplates-&amp;amp;gt;Limit(FIELD =&amp;amp;gt; &amp;#039;Description&amp;#039;, OPERATOR =&amp;amp;gt; &amp;#039;STARTSWITH&amp;#039;, VALUE =&amp;amp;gt; &amp;#039;Canned Reply&amp;#039;);&lt;br /&gt;
 $OtherTemplates-&amp;amp;gt;OrderBy(FIELD =&amp;amp;gt; &amp;#039;Name&amp;#039;);&lt;br /&gt;
 &amp;amp;lt;/%INIT&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Create The Two Callbacks ===&lt;br /&gt;
&lt;br /&gt;
These are basically identical to the original version, the one major difference was the call is now made to /Admin/Elements/SelectCannedReply instead of /Admin/Elements/SelectTemplate&lt;br /&gt;
&lt;br /&gt;
==== $RTHOME/local/html/Callbacks/CannedReply/Ticket/Update.html/BeforeMessageBox ====&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;tr&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;td&amp;amp;gt;Canned-reply:&amp;amp;lt;/td&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;td&amp;amp;gt;&amp;amp;lt;&amp;amp;amp; /Admin/Elements/SelectCannedReply, Name =&amp;amp;gt; &amp;quot;Canned-Template&amp;quot;, Queue =&amp;amp;gt; $TicketObj-&amp;amp;gt;QueueObj-&amp;amp;gt;id &amp;amp;amp;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;input type=&amp;quot;submit&amp;quot; name=&amp;quot;select_template&amp;quot; value=&amp;quot;Go&amp;quot;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/tr&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &amp;amp;lt;%init&amp;amp;gt;&lt;br /&gt;
 my $TicketObj = LoadTicket($ARGS{&amp;#039;id&amp;#039;});&lt;br /&gt;
 &amp;amp;lt;/%init&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/td&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== $RTHOME/local/html/Callbacks/CannedReply/Elements/MessageBox/Default ====&lt;br /&gt;
&lt;br /&gt;
identical to the original $RTHOME/local/html/Callbacks/&amp;amp;lt;whatever&amp;amp;gt;/Elements/MessageBox/Default below.&lt;br /&gt;
&lt;br /&gt;
=== Usage ===&lt;br /&gt;
&lt;br /&gt;
Like the original, you use RT&amp;#039;s templates to create your canned-replies. so the same variable substitutions can be used. You can create your canned-replies as a global template (A canned-reply for use in every queue) or just within the queue (A canned-reply for use in just the one queue). The difference in this setup from the original is that it will limit what is shown to the end-user based on the &amp;#039;&amp;#039;description&amp;#039;&amp;#039; of the template. When creating a canned-reply, you will need to make your description begin with &amp;quot;Canned Reply&amp;quot; (case sensitive). This can be altered (Non-English languages for example) by modifying the &amp;quot;STARTSWITH&amp;quot; option in the SelectCannedReply file.&lt;br /&gt;
&lt;br /&gt;
Users will need [[ShowTemplate]] rights in order to send canned replies.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Original ==&lt;br /&gt;
&lt;br /&gt;
by Stephen Turner (MIT) on April 6, 2006.&lt;br /&gt;
&lt;br /&gt;
Here&amp;#039;s the code - this involves two new Callback files. Please note that this is just something I&amp;#039;ve been playing with, and there is probably room for improvement.&lt;br /&gt;
&lt;br /&gt;
=== $RTHOME/local/html/Callbacks/&amp;amp;lt;whatever&amp;amp;gt;/Ticket/Update.html/BeforeMessageBox ===&lt;br /&gt;
&lt;br /&gt;
 Canned reply: &amp;amp;lt;&amp;amp;amp; /Admin/Elements/SelectTemplate, Name =&amp;amp;gt; &amp;quot;Canned-Template&amp;quot;, Queue =&amp;amp;gt; $TicketObj-&amp;amp;gt;QueueObj-&amp;amp;gt;id &amp;amp;amp;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;input type=&amp;quot;submit&amp;quot; name=&amp;quot;select_template&amp;quot; value=&amp;quot;Go&amp;quot;&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &amp;amp;lt;%init&amp;amp;gt;&lt;br /&gt;
 my $TicketObj = LoadTicket($ARGS{&amp;#039;id&amp;#039;});&lt;br /&gt;
 &amp;amp;lt;/%init&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== $RTHOME/local/html/Callbacks/&amp;amp;lt;whatever&amp;amp;gt;/Elements/MessageBox/Default ===&lt;br /&gt;
&lt;br /&gt;
 %#&lt;br /&gt;
 %# Allows use of templates as &amp;#039;canned replies&amp;#039; in update screen.&lt;br /&gt;
 %# Looks up the template specified, parses it and displays the parsed&lt;br /&gt;
 %# template content.&lt;br /&gt;
 %#&lt;br /&gt;
 % if ($content) {&lt;br /&gt;
 &amp;amp;lt;% $content %&amp;amp;gt;&lt;br /&gt;
 % }&lt;br /&gt;
 &amp;amp;lt;%init&amp;amp;gt;&lt;br /&gt;
 my $template;&lt;br /&gt;
 my $trans = new RT::Transaction( $session{&amp;#039;CurrentUser&amp;#039;} );&lt;br /&gt;
 my $content = &amp;quot;&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
 if ( $ARGS{&amp;#039;select_template&amp;#039;} ) {&lt;br /&gt;
     my $template_id = $ARGS{&amp;#039;Canned-Template&amp;#039;};&lt;br /&gt;
     if ($template_id) {&lt;br /&gt;
         $template = RT::Template-&amp;amp;gt;new($session{&amp;#039;CurrentUser&amp;#039;});&lt;br /&gt;
         $template-&amp;amp;gt;Load($template_id);&lt;br /&gt;
         if ($template-&amp;amp;gt;id) {&lt;br /&gt;
             my $TicketObj = LoadTicket($ARGS{&amp;#039;id&amp;#039;});&lt;br /&gt;
             $template-&amp;amp;gt;Parse(TicketObj =&amp;amp;gt; $TicketObj,&lt;br /&gt;
                              TransactionObj =&amp;amp;gt; $trans);&lt;br /&gt;
             $content = $template-&amp;amp;gt;MIMEObj-&amp;amp;gt;stringify;&lt;br /&gt;
         }&lt;br /&gt;
     }&lt;br /&gt;
 &lt;br /&gt;
 }&lt;br /&gt;
 &amp;amp;lt;/%init&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pretty Variation 1 ==&lt;br /&gt;
&lt;br /&gt;
by Kevin &amp;quot;gentgeen&amp;quot; Squire (gentgeen AT wikiak DOT org)&lt;br /&gt;
&lt;br /&gt;
I really liked the original idea, but I did not like how it was displayed. I wanted the words &amp;quot;Canned reply:&amp;quot; to be directly above the word &amp;quot;Message&amp;quot; and the templates selection and submit button to line up with the other input boxes.&lt;br /&gt;
&lt;br /&gt;
The code above will create a table that looks something like this:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;--------------------------------------------------------------&lt;br /&gt;
 |          Bcc: |  INPUTBOX                                  |&lt;br /&gt;
 |       Attach: |  INPUTBOX  BUTTON BUTTON                   |&lt;br /&gt;
 |      Message: |  Canned Reply: DROPDOWNBOX  BUTTON         |&lt;br /&gt;
 |                  INPUTBOX                                  |&lt;br /&gt;
 --------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The code below will create a table that looks something like this:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;------------------------------------------------&lt;br /&gt;
 |          Bcc: |  INPUTBOX                    |&lt;br /&gt;
 |       Attach: |  INPUTBOX  BUTTON BUTTON     |&lt;br /&gt;
 | Canned Reply: |  DROPDOWNBOX  BUTTON         |&lt;br /&gt;
 |      Message: |  INPUTBOX                    |&lt;br /&gt;
 ------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
First I changed the Update.html page (I copied the original over to my local directory) by adding a call to a callback for &amp;quot;[[BeforeMessage]]&amp;quot; (instead of &amp;quot;[[BeforeMessageBox]]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== New Update.html ===&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;tr&amp;amp;gt;&amp;amp;lt;td align=right&amp;amp;gt;&amp;amp;lt;&amp;amp;amp;|/l&amp;amp;amp;&amp;amp;gt;Attach&amp;amp;lt;/&amp;amp;amp;&amp;amp;gt;:&amp;amp;lt;/td&amp;amp;gt;&amp;amp;lt;td&amp;amp;gt;&amp;amp;lt;input name=&amp;quot;Attach&amp;quot; type=&amp;quot;file&amp;quot;&amp;amp;gt;&amp;amp;lt;INPUT TYPE=SUBMIT NAME=&amp;quot;AddMoreAttach&amp;quot; VALUE=&amp;quot;&amp;amp;lt;&amp;amp;amp;|/l&amp;amp;amp;&amp;amp;gt;Add More Files&amp;amp;lt;/&amp;amp;amp;&amp;amp;gt;&amp;quot;&amp;amp;gt;&amp;amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;UpdateAttach&amp;quot; value=&amp;quot;1&amp;quot;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/td&amp;amp;gt;&amp;amp;lt;/tr&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &amp;amp;lt;!-- Adding New Call Back Here --&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;&amp;amp;amp; /Elements/Callback, _CallbackName =&amp;amp;gt; &amp;#039;BeforeMessage&amp;#039;, %ARGS &amp;amp;amp;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!-- End of New Call Back --&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &amp;amp;lt;tr&amp;amp;gt;&amp;amp;lt;td align=&amp;quot;right&amp;quot; valign=&amp;quot;top&amp;quot;&amp;amp;gt;&amp;amp;lt;&amp;amp;amp;|/l&amp;amp;amp;&amp;amp;gt;Message&amp;amp;lt;/&amp;amp;amp;&amp;amp;gt;:&amp;amp;lt;/td&amp;amp;gt;&amp;amp;lt;td&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;&amp;amp;amp; /Elements/Callback, _CallbackName =&amp;amp;gt; &amp;#039;BeforeMessageBox&amp;#039;, %ARGS &amp;amp;amp;&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;lt;nowiki&amp;gt;*NOTE:&amp;lt;/nowiki&amp;gt;&amp;#039;&amp;#039;&amp;#039;* Since the callback is in the middle of a table, the callback code must be at least 1 table row, with two table data elements&lt;br /&gt;
&lt;br /&gt;
Then I changed the first callback noted above to the following:&lt;br /&gt;
&lt;br /&gt;
=== $RTHOME/local/html/Callbacks/&amp;amp;lt;whatever&amp;amp;gt;/Ticket/Update.html/BeforeMessage ===&lt;br /&gt;
&lt;br /&gt;
 %#&lt;br /&gt;
 %# Allows use of templates as &amp;#039;canned replies&amp;#039; in update screen.&lt;br /&gt;
 %# Presents a select list of templates.&lt;br /&gt;
 %#&lt;br /&gt;
 &amp;amp;lt;tr&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;td class=&amp;quot;label&amp;quot;&amp;amp;gt;Canned reply:&amp;amp;lt;/td&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;td colspan=&amp;quot;2&amp;quot;&amp;amp;gt;&amp;amp;lt;&amp;amp;amp; /Admin/Elements/SelectTemplate, Name =&amp;amp;gt; &amp;quot;Canned-Template&amp;quot;, Queue =&amp;amp;gt; $TicketObj-&amp;amp;gt;QueueObj-&amp;amp;gt;id &amp;amp;amp;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;input type=&amp;quot;submit&amp;quot; name=&amp;quot;select_template&amp;quot; value=&amp;quot;Go&amp;quot;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/td&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/tr&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &amp;amp;lt;%init&amp;amp;gt;&lt;br /&gt;
 my $TicketObj = LoadTicket($ARGS{&amp;#039;id&amp;#039;});&lt;br /&gt;
 &amp;amp;lt;/%init&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
== Simpler Pretty Variation ==&lt;br /&gt;
&lt;br /&gt;
by Jerrad&lt;br /&gt;
&lt;br /&gt;
This uses the original&amp;#039;s MessageBox callback, but instead of local/html/Callbacks/Indirection/Ticket/Update.html/BeforeMessageBox we use local/html/Callbacks/Indirection/Ticket/Update.html/BeforeUpdateType with:&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;td&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;&amp;amp;amp; /Admin/Elements/SelectTemplate, Name =&amp;amp;gt; &amp;quot;Canned-Template&amp;quot;, Queue =&amp;amp;gt; $TicketObj-&amp;amp;gt;QueueObj-&amp;amp;gt;id &amp;amp;amp;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;input type=&amp;quot;submit&amp;quot; name=&amp;quot;select_template&amp;quot; value=&amp;quot;Load&amp;quot;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/td&amp;amp;gt;&amp;amp;lt;/tr&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &amp;amp;lt;%init&amp;amp;gt;&lt;br /&gt;
 my $TicketObj = LoadTicket($ARGS{&amp;#039;id&amp;#039;});&lt;br /&gt;
 &amp;amp;lt;/%init&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DefaultCreateContent; yet another version ==&lt;br /&gt;
&lt;br /&gt;
[http://lists.bestpractical.com/pipermail/rt-users/2011-February/068854.html mailing list post]&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
[[StockAnswers]]&lt;/div&gt;</summary>
		<author><name>72.241.56.66</name></author>
	</entry>
	<entry>
		<id>https://rt-wiki.bestpractical.com/index.php?title=CannedReplies&amp;diff=424&amp;oldid=prev</id>
		<title>129.67.101.16: add link to my related thingy</title>
		<link rel="alternate" type="text/html" href="https://rt-wiki.bestpractical.com/index.php?title=CannedReplies&amp;diff=424&amp;oldid=prev"/>
		<updated>2011-02-09T14:12:24Z</updated>

		<summary type="html">&lt;p&gt;add link to my related thingy&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Several people have asked on the mailing list about how to get &amp;#039;canned replies&amp;#039; to appear in a drop-down list on the reply/comment screen. The idea is to make frequently used responses easily accessible.&lt;br /&gt;
&lt;br /&gt;
RTFM gives this capability.&lt;br /&gt;
&lt;br /&gt;
There may be people who don&amp;#039;t need the full power (and overhead) of an RTFM installation. For these folks, here is a simple solution that uses a couple of callbacks to provide a canned-reply feature on the reply/comment screen. It uses RT&amp;#039;s templates, so the same variable substitutions can be used. One limitation is that the transaction object can&amp;#039;t be used in the template - I just pass in a blank transaction object to the template parsing routine.&lt;br /&gt;
&lt;br /&gt;
Users will need [[ShowTemplate]] rights in order to send canned replies.&lt;br /&gt;
&lt;br /&gt;
Also note that you can send a canned reply with a quoted messages, but that the textarea will combine them in them in the style of a top post.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Modified Version ==&lt;br /&gt;
&lt;br /&gt;
by Kevin &amp;quot;gentgeen&amp;quot; Squire (gentgeen AT wikiak DOT org) on Mar 5, 2010.&lt;br /&gt;
&lt;br /&gt;
One drawback of the original [[CannedReplies]] was that it showed all templates in the dropdown. Originally this was fine for our environment, but as we began using RT for more things, and the pool of privileged users became less technical, there was a call to filter out the templates that were not canned replies. This is what I did meet that goal. All of my work is based off of the original done by Stephen Turner(MIT).&lt;br /&gt;
&lt;br /&gt;
=== Create a SelectCannedReply Admin Element ===&lt;br /&gt;
&lt;br /&gt;
Bring a copy of the SelectTemplate element over to you local branch and call it SelectCannedReply:&lt;br /&gt;
&lt;br /&gt;
 cp $RTHOME/html/Admin/Elements/SelectTemplate $RTHOME/html/Admin/Elements/SelectCannedReply&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Modify the SelectCannedReply file. I added a line right before the &amp;quot;OrderBy&amp;quot; line in each of the functions. Mine now looks like this:&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;%INIT&amp;amp;gt;&lt;br /&gt;
 my $PrimaryTemplates = RT::Templates-&amp;amp;gt;new($session{&amp;#039;CurrentUser&amp;#039;});&lt;br /&gt;
 if ($Queue != 0) {&lt;br /&gt;
 $PrimaryTemplates-&amp;amp;gt;LimitToQueue($Queue);&lt;br /&gt;
 $PrimaryTemplates-&amp;amp;gt;Limit(FIELD =&amp;amp;gt; &amp;#039;Description&amp;#039;, OPERATOR =&amp;amp;gt; &amp;#039;STARTSWITH&amp;#039;, VALUE =&amp;amp;gt; &amp;#039;Canned Reply&amp;#039;);&lt;br /&gt;
 $PrimaryTemplates-&amp;amp;gt;OrderBy(FIELD =&amp;amp;gt; &amp;#039;Name&amp;#039;);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 my $OtherTemplates = RT::Templates-&amp;amp;gt;new($session{&amp;#039;CurrentUser&amp;#039;});&lt;br /&gt;
 $OtherTemplates-&amp;amp;gt;LimitToGlobal($DefaultQueue);&lt;br /&gt;
 $PrimaryTemplates-&amp;amp;gt;Limit(FIELD =&amp;amp;gt; &amp;#039;Description&amp;#039;, OPERATOR =&amp;amp;gt; &amp;#039;STARTSWITH&amp;#039;, VALUE =&amp;amp;gt; &amp;#039;Canned Reply&amp;#039;);&lt;br /&gt;
 $OtherTemplates-&amp;amp;gt;OrderBy(FIELD =&amp;amp;gt; &amp;#039;Name&amp;#039;);&lt;br /&gt;
 &amp;amp;lt;/%INIT&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Create The Two Callbacks ===&lt;br /&gt;
&lt;br /&gt;
These are basically identical to the original version, the one major difference was the call is now made to /Admin/Elements/SelectCannedReply instead of /Admin/Elements/SelectTemplate&lt;br /&gt;
&lt;br /&gt;
==== $RTHOME/local/html/Callbacks/CannedReply/Ticket/Update.html/BeforeMessageBox ====&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;tr&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;td&amp;amp;gt;Canned-reply:&amp;amp;lt;/td&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;td&amp;amp;gt;&amp;amp;lt;&amp;amp;amp; /Admin/Elements/SelectCannedReply, Name =&amp;amp;gt; &amp;quot;Canned-Template&amp;quot;, Queue =&amp;amp;gt; $TicketObj-&amp;amp;gt;QueueObj-&amp;amp;gt;id &amp;amp;amp;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;input type=&amp;quot;submit&amp;quot; name=&amp;quot;select_template&amp;quot; value=&amp;quot;Go&amp;quot;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/tr&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &amp;amp;lt;%init&amp;amp;gt;&lt;br /&gt;
 my $TicketObj = LoadTicket($ARGS{&amp;#039;id&amp;#039;});&lt;br /&gt;
 &amp;amp;lt;/%init&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/td&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== $RTHOME/local/html/Callbacks/CannedReply/Elements/MessageBox/Default ====&lt;br /&gt;
&lt;br /&gt;
identical to the original $RTHOME/local/html/Callbacks/&amp;amp;lt;whatever&amp;amp;gt;/Elements/MessageBox/Default below.&lt;br /&gt;
&lt;br /&gt;
=== Usage ===&lt;br /&gt;
&lt;br /&gt;
Like the original, you use RT&amp;#039;s templates to create your canned-replies. so the same variable substitutions can be used. You can create your canned-replies as a global template (A canned-reply for use in every queue) or just within the queue (A canned-reply for use in just the one queue). The difference in this setup from the original is that it will limit what is shown to the end-user based on the &amp;#039;&amp;#039;description&amp;#039;&amp;#039; of the template. When creating a canned-reply, you will need to make your description begin with &amp;quot;Canned Reply&amp;quot; (case sensitive). This can be altered (Non-English languages for example) by modifying the &amp;quot;STARTSWITH&amp;quot; option in the SelectCannedReply file.&lt;br /&gt;
&lt;br /&gt;
Users will need [[ShowTemplate]] rights in order to send canned replies.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Original ==&lt;br /&gt;
&lt;br /&gt;
by Stephen Turner (MIT) on April 6, 2006.&lt;br /&gt;
&lt;br /&gt;
Here&amp;#039;s the code - this involves two new Callback files. Please note that this is just something I&amp;#039;ve been playing with, and there is probably room for improvement.&lt;br /&gt;
&lt;br /&gt;
=== $RTHOME/local/html/Callbacks/&amp;amp;lt;whatever&amp;amp;gt;/Ticket/Update.html/BeforeMessageBox ===&lt;br /&gt;
&lt;br /&gt;
 Canned reply: &amp;amp;lt;&amp;amp;amp; /Admin/Elements/SelectTemplate, Name =&amp;amp;gt; &amp;quot;Canned-Template&amp;quot;, Queue =&amp;amp;gt; $TicketObj-&amp;amp;gt;QueueObj-&amp;amp;gt;id &amp;amp;amp;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;input type=&amp;quot;submit&amp;quot; name=&amp;quot;select_template&amp;quot; value=&amp;quot;Go&amp;quot;&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &amp;amp;lt;%init&amp;amp;gt;&lt;br /&gt;
 my $TicketObj = LoadTicket($ARGS{&amp;#039;id&amp;#039;});&lt;br /&gt;
 &amp;amp;lt;/%init&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== $RTHOME/local/html/Callbacks/&amp;amp;lt;whatever&amp;amp;gt;/Elements/MessageBox/Default ===&lt;br /&gt;
&lt;br /&gt;
 %#&lt;br /&gt;
 %# Allows use of templates as &amp;#039;canned replies&amp;#039; in update screen.&lt;br /&gt;
 %# Looks up the template specified, parses it and displays the parsed&lt;br /&gt;
 %# template content.&lt;br /&gt;
 %#&lt;br /&gt;
 % if ($content) {&lt;br /&gt;
 &amp;amp;lt;% $content %&amp;amp;gt;&lt;br /&gt;
 % }&lt;br /&gt;
 &amp;amp;lt;%init&amp;amp;gt;&lt;br /&gt;
 my $template;&lt;br /&gt;
 my $trans = new RT::Transaction( $session{&amp;#039;CurrentUser&amp;#039;} );&lt;br /&gt;
 my $content = &amp;quot;&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
 if ( $ARGS{&amp;#039;select_template&amp;#039;} ) {&lt;br /&gt;
     my $template_id = $ARGS{&amp;#039;Canned-Template&amp;#039;};&lt;br /&gt;
     if ($template_id) {&lt;br /&gt;
         $template = RT::Template-&amp;amp;gt;new($session{&amp;#039;CurrentUser&amp;#039;});&lt;br /&gt;
         $template-&amp;amp;gt;Load($template_id);&lt;br /&gt;
         if ($template-&amp;amp;gt;id) {&lt;br /&gt;
             my $TicketObj = LoadTicket($ARGS{&amp;#039;id&amp;#039;});&lt;br /&gt;
             $template-&amp;amp;gt;Parse(TicketObj =&amp;amp;gt; $TicketObj,&lt;br /&gt;
                              TransactionObj =&amp;amp;gt; $trans);&lt;br /&gt;
             $content = $template-&amp;amp;gt;MIMEObj-&amp;amp;gt;stringify;&lt;br /&gt;
         }&lt;br /&gt;
     }&lt;br /&gt;
 &lt;br /&gt;
 }&lt;br /&gt;
 &amp;amp;lt;/%init&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pretty Variation 1 ==&lt;br /&gt;
&lt;br /&gt;
by Kevin &amp;quot;gentgeen&amp;quot; Squire (gentgeen AT wikiak DOT org)&lt;br /&gt;
&lt;br /&gt;
I really liked the original idea, but I did not like how it was displayed. I wanted the words &amp;quot;Canned reply:&amp;quot; to be directly above the word &amp;quot;Message&amp;quot; and the templates selection and submit button to line up with the other input boxes.&lt;br /&gt;
&lt;br /&gt;
The code above will create a table that looks something like this:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;--------------------------------------------------------------&lt;br /&gt;
 |          Bcc: |  INPUTBOX                                  |&lt;br /&gt;
 |       Attach: |  INPUTBOX  BUTTON BUTTON                   |&lt;br /&gt;
 |      Message: |  Canned Reply: DROPDOWNBOX  BUTTON         |&lt;br /&gt;
 |                  INPUTBOX                                  |&lt;br /&gt;
 --------------------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The code below will create a table that looks something like this:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;------------------------------------------------&lt;br /&gt;
 |          Bcc: |  INPUTBOX                    |&lt;br /&gt;
 |       Attach: |  INPUTBOX  BUTTON BUTTON     |&lt;br /&gt;
 | Canned Reply: |  DROPDOWNBOX  BUTTON         |&lt;br /&gt;
 |      Message: |  INPUTBOX                    |&lt;br /&gt;
 ------------------------------------------------&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
First I changed the Update.html page (I copied the original over to my local directory) by adding a call to a callback for &amp;quot;[[BeforeMessage]]&amp;quot; (instead of &amp;quot;[[BeforeMessageBox]]&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== New Update.html ===&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;tr&amp;amp;gt;&amp;amp;lt;td align=right&amp;amp;gt;&amp;amp;lt;&amp;amp;amp;|/l&amp;amp;amp;&amp;amp;gt;Attach&amp;amp;lt;/&amp;amp;amp;&amp;amp;gt;:&amp;amp;lt;/td&amp;amp;gt;&amp;amp;lt;td&amp;amp;gt;&amp;amp;lt;input name=&amp;quot;Attach&amp;quot; type=&amp;quot;file&amp;quot;&amp;amp;gt;&amp;amp;lt;INPUT TYPE=SUBMIT NAME=&amp;quot;AddMoreAttach&amp;quot; VALUE=&amp;quot;&amp;amp;lt;&amp;amp;amp;|/l&amp;amp;amp;&amp;amp;gt;Add More Files&amp;amp;lt;/&amp;amp;amp;&amp;amp;gt;&amp;quot;&amp;amp;gt;&amp;amp;lt;input type=&amp;quot;hidden&amp;quot; name=&amp;quot;UpdateAttach&amp;quot; value=&amp;quot;1&amp;quot;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/td&amp;amp;gt;&amp;amp;lt;/tr&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &amp;amp;lt;!-- Adding New Call Back Here --&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;&amp;amp;amp; /Elements/Callback, _CallbackName =&amp;amp;gt; &amp;#039;BeforeMessage&amp;#039;, %ARGS &amp;amp;amp;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;!-- End of New Call Back --&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &amp;amp;lt;tr&amp;amp;gt;&amp;amp;lt;td align=&amp;quot;right&amp;quot; valign=&amp;quot;top&amp;quot;&amp;amp;gt;&amp;amp;lt;&amp;amp;amp;|/l&amp;amp;amp;&amp;amp;gt;Message&amp;amp;lt;/&amp;amp;amp;&amp;amp;gt;:&amp;amp;lt;/td&amp;amp;gt;&amp;amp;lt;td&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;&amp;amp;amp; /Elements/Callback, _CallbackName =&amp;amp;gt; &amp;#039;BeforeMessageBox&amp;#039;, %ARGS &amp;amp;amp;&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;lt;nowiki&amp;gt;*NOTE:&amp;lt;/nowiki&amp;gt;&amp;#039;&amp;#039;&amp;#039;* Since the callback is in the middle of a table, the callback code must be at least 1 table row, with two table data elements&lt;br /&gt;
&lt;br /&gt;
Then I changed the first callback noted above to the following:&lt;br /&gt;
&lt;br /&gt;
=== $RTHOME/local/html/Callbacks/&amp;amp;lt;whatever&amp;amp;gt;/Ticket/Update.html/BeforeMessage ===&lt;br /&gt;
&lt;br /&gt;
 %#&lt;br /&gt;
 %# Allows use of templates as &amp;#039;canned replies&amp;#039; in update screen.&lt;br /&gt;
 %# Presents a select list of templates.&lt;br /&gt;
 %#&lt;br /&gt;
 &amp;amp;lt;tr&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;td class=&amp;quot;label&amp;quot;&amp;amp;gt;Canned reply:&amp;amp;lt;/td&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;td colspan=&amp;quot;2&amp;quot;&amp;amp;gt;&amp;amp;lt;&amp;amp;amp; /Admin/Elements/SelectTemplate, Name =&amp;amp;gt; &amp;quot;Canned-Template&amp;quot;, Queue =&amp;amp;gt; $TicketObj-&amp;amp;gt;QueueObj-&amp;amp;gt;id &amp;amp;amp;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;input type=&amp;quot;submit&amp;quot; name=&amp;quot;select_template&amp;quot; value=&amp;quot;Go&amp;quot;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/td&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/tr&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &amp;amp;lt;%init&amp;amp;gt;&lt;br /&gt;
 my $TicketObj = LoadTicket($ARGS{&amp;#039;id&amp;#039;});&lt;br /&gt;
 &amp;amp;lt;/%init&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
== Simpler Pretty Variation ==&lt;br /&gt;
&lt;br /&gt;
by Jerrad&lt;br /&gt;
&lt;br /&gt;
This uses the original&amp;#039;s MessageBox callback, but instead of local/html/Callbacks/Indirection/Ticket/Update.html/BeforeMessageBox we use local/html/Callbacks/Indirection/Ticket/Update.html/BeforeUpdateType with:&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;td&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;&amp;amp;amp; /Admin/Elements/SelectTemplate, Name =&amp;amp;gt; &amp;quot;Canned-Template&amp;quot;, Queue =&amp;amp;gt; $TicketObj-&amp;amp;gt;QueueObj-&amp;amp;gt;id &amp;amp;amp;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;input type=&amp;quot;submit&amp;quot; name=&amp;quot;select_template&amp;quot; value=&amp;quot;Load&amp;quot;&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;/td&amp;amp;gt;&amp;amp;lt;/tr&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 &amp;amp;lt;%init&amp;amp;gt;&lt;br /&gt;
 my $TicketObj = LoadTicket($ARGS{&amp;#039;id&amp;#039;});&lt;br /&gt;
 &amp;amp;lt;/%init&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
== DefaultCreateContent; yet another version ==&lt;br /&gt;
&lt;br /&gt;
[http://lists.bestpractical.com/pipermail/rt-users/2011-February/068854.html mailing list post]&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
[[StockAnswers]]&lt;/div&gt;</summary>
		<author><name>129.67.101.16</name></author>
	</entry>
</feed>