<div>Hi,</div><div><br></div><div>First off, what version of RT are you using? The option I'm mentioning here are for RT 4, I'm nut sure if they will work with older versions.</div><div><br></div><div>It should be possible to change the actions directly shown at the top of a ticket, but I'm not sure how to nicely change that menu (without breaking it during an update).</div>
<div><br></div><div>However, it's possible to modify the actions menu using the Lifecycles configuration in your RT_SiteConfig.</div><div>What we did was copy the entire Lifecycles config from the RT_Config to the RT_SiteConfig and modified it to our liking.</div>
<div><br></div><div>This allows you to create custom statuses but also define actions which are shown in your action menu.</div><div>The below configuration is a little Dutch, but I think you should be able to figure out most of the parameters listed in it.</div>
<div><br></div><div>Especially the first section is interesting, the second section is for approvals which we don't use.</div><div><br></div><div><font face="courier new, monospace"># ---</font></div><div><div><font face="courier new, monospace"># Ticket Lifecycles</font></div>
<div><font face="courier new, monospace"># ---</font></div></div><div><font face="courier new, monospace"><br></font></div><div><font face="courier new, monospace">Set(%Lifecycles,</font></div><div><div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">    </span>default => {</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">          </span>initial<span class="Apple-tab-span" style="white-space:pre">                     </span>=> [ 'new' ],</font></div><div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">            </span>active<span class="Apple-tab-span" style="white-space:pre">                      </span>=> [ 'open', 'Bij_Leverancier', 'Bij_Aanvrager', 'Intern', 'stalled' ],</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">          </span>inactive<span class="Apple-tab-span" style="white-space:pre">            </span>=> [ 'resolved', 'rejected', 'spam', 'deleted' ],</font></div>
<div><font face="courier new, monospace"><br></font></div><div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">                </span>defaults => {</font></div><div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">                    </span>on_create<span class="Apple-tab-span" style="white-space:pre">   </span>=> 'new',</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">                  </span>on_merge<span class="Apple-tab-span" style="white-space:pre">    </span>=> 'resolved',</font></div><div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">                   </span>approved<span class="Apple-tab-span" style="white-space:pre">    </span>=> 'open',</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">                  </span>denied<span class="Apple-tab-span" style="white-space:pre">              </span>=> 'rejected',</font></div><div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">           </span>},</font></div>
<div><font face="courier new, monospace"><br></font></div><div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">                </span>transitions => {</font></div><div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">                 </span>''<span class="Apple-tab-span" style="white-space:pre">          </span>=> [qw(new open resolved spam)],</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">                  </span>new <span class="Apple-tab-span" style="white-space:pre">                </span>=> [qw(open Bij_Leverancier Bij_Aanvrager Intern stalled resolved rejected spam deleted)],</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">                  </span>open<span class="Apple-tab-span" style="white-space:pre">                </span>=> [qw(new Bij_Leverancier Bij_Aanvrager Intern stalled resolved rejected spam deleted)],</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">                  </span>Bij_Leverancier<span class="Apple-tab-span" style="white-space:pre">     </span>=> [qw(new open Bij_Aanvrager Intern stalled resolved rejected spam deleted)],</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">                  </span>Bij_Aanvrager<span class="Apple-tab-span" style="white-space:pre">       </span>=> [qw(new open Bij_Leverancier Intern stalled resolved rejected spam deleted)],</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">                  </span>Intern<span class="Apple-tab-span" style="white-space:pre">              </span>=> [qw(new open Bij_Leverancier Bij_Aanvrager stalled resolved rejected spam deleted)],</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">                  </span>stalled<span class="Apple-tab-span" style="white-space:pre">             </span>=> [qw(new open Bij_Leverancier Bij_Aanvrager Intern rejected resolved spam deleted)],</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">                  </span>resolved<span class="Apple-tab-span" style="white-space:pre">    </span>=> [qw(new open Bij_Leverancier Bij_Aanvrager Intern stalled rejected spam deleted)],</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">                  </span>rejected<span class="Apple-tab-span" style="white-space:pre">    </span>=> [qw(new open Bij_Leverancier Bij_Aanvrager Intern stalled resolved spam deleted)],</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">                  </span>spam<span class="Apple-tab-span" style="white-space:pre">                </span>=> [qw(new open Bij_Leverancier Bij_Aanvrager Intern stalled rejected resolved deleted)],</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">                  </span>deleted<span class="Apple-tab-span" style="white-space:pre">             </span>=> [qw(new open Bij_Leverancier Bij_Aanvrager Intern stalled rejected resolved spam)],</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">          </span>},</font></div><div><font face="courier new, monospace"><br></font></div><div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">                </span>rights => {</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">                  </span>'* -> deleted'<span class="Apple-tab-span" style="white-space:pre">   </span>=> 'DeleteTicket',</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">                  </span>'* -> *'<span class="Apple-tab-span" style="white-space:pre"> </span>=> 'ModifyTicket',</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">          </span>},</font></div><div><font face="courier new, monospace"><br></font></div><div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">                </span>actions => [</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">                  </span>'new -> open'<span class="Apple-tab-span" style="white-space:pre">                    </span>=> { label => 'Openen', update => 'Respond', },</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">                  </span>'new -> resolved'<span class="Apple-tab-span" style="white-space:pre">                </span>=> { label => 'Oplossen', update => 'Comment', },</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">                  </span>'open -> stalled'<span class="Apple-tab-span" style="white-space:pre">                </span>=> { label => 'Parkeren', update => 'Comment', },</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">                  </span>'open -> resolved'<span class="Apple-tab-span" style="white-space:pre">               </span>=> { label => 'Oplossen', update => 'Comment', },</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">                  </span>'new -> Bij_Leverancier'<span class="Apple-tab-span" style="white-space:pre"> </span>=> { label => 'Naar Leverancier', update => 'Respond', },</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">                  </span>'open -> Bij_Leverancier'<span class="Apple-tab-span" style="white-space:pre">        </span>=> { label => 'Naar Leverancier', update => 'Respond', },</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">                  </span>'new -> Bij_Aanvrager'<span class="Apple-tab-span" style="white-space:pre">           </span>=> { label => 'Naar Aanvrager', update => 'Respond', },</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">                  </span>'open -> Bij_Aanvrager'<span class="Apple-tab-span" style="white-space:pre">          </span>=> { label => 'Naar Aanvrager', update => 'Respond', },</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">                  </span>'Bij_Leverancier -> open'<span class="Apple-tab-span" style="white-space:pre">        </span>=> { label => 'Openen', },</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">                  </span>'Bij_Aanvrager -> open'<span class="Apple-tab-span" style="white-space:pre">          </span>=> { label => 'Openen', },</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">                  </span>'Intern -> open'<span class="Apple-tab-span" style="white-space:pre">         </span>=> { label => 'Openen', },</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">                  </span>'stalled -> open'<span class="Apple-tab-span" style="white-space:pre">                </span>=> { label => 'Openen', },</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">                  </span>'resolved -> open'<span class="Apple-tab-span" style="white-space:pre">               </span>=> { label => 'Heropenen', update => 'Comment', },</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">                  </span>'rejected -> open'<span class="Apple-tab-span" style="white-space:pre">               </span>=> { label => 'Heropenen', update => 'Comment', },</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">                  </span>'deleted -> open'<span class="Apple-tab-span" style="white-space:pre">                </span>=> { label => 'Undelete', },</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">                  </span>'spam -> open'<span class="Apple-tab-span" style="white-space:pre">                   </span>=> { label => 'Geen Spam', update => 'Comment', },</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">                  </span>'new -> spam'<span class="Apple-tab-span" style="white-space:pre">                    </span>=> { label => 'SPAM', },</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">                  </span>'open -> spam'<span class="Apple-tab-span" style="white-space:pre">                   </span>=> { label => 'SPAM', },</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">          </span>],</font></div><div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">  </span>},</font></div>
<div><font face="courier new, monospace"><br></font></div><div><font face="courier new, monospace"># ---</font></div><div><font face="courier new, monospace"># Don't change lifecyle of the approvals, they are not capable to deal with custom statuses!</font></div>
<div><font face="courier new, monospace"># ---</font></div><div><font face="courier new, monospace"><br></font></div><div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">   </span>approvals => {</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">          </span>initial<span class="Apple-tab-span" style="white-space:pre">                     </span>=> [ 'new' ],</font></div><div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">            </span>active<span class="Apple-tab-span" style="white-space:pre">                      </span>=> [ 'open', 'stalled' ],</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">          </span>inactive<span class="Apple-tab-span" style="white-space:pre">            </span>=> [ 'resolved', 'rejected', 'deleted' ],</font></div>
<div><font face="courier new, monospace"><br></font></div><div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">                </span>defaults => {</font></div><div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">                    </span>on_create<span class="Apple-tab-span" style="white-space:pre">   </span>=> 'new',</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">                  </span>on_merge<span class="Apple-tab-span" style="white-space:pre">    </span>=> 'resolved',</font></div><div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">           </span>},</font></div>
<div><font face="courier new, monospace"><br></font></div><div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">                </span>transitions => {</font></div><div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">                 </span>''<span class="Apple-tab-span" style="white-space:pre">          </span>=> [qw(new open resolved)],</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">                  </span>new <span class="Apple-tab-span" style="white-space:pre">                </span>=> [qw(open stalled resolved rejected deleted)],</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">                  </span>open<span class="Apple-tab-span" style="white-space:pre">                </span>=> [qw(new stalled resolved rejected deleted)],</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">                  </span>stalled<span class="Apple-tab-span" style="white-space:pre">             </span>=> [qw(new open rejected resolved deleted)],</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">                  </span>resolved<span class="Apple-tab-span" style="white-space:pre">    </span>=> [qw(new open stalled rejected deleted)],</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">                  </span>rejected<span class="Apple-tab-span" style="white-space:pre">    </span>=> [qw(new open stalled resolved deleted)],</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">                  </span>deleted<span class="Apple-tab-span" style="white-space:pre">             </span>=> [qw(new open stalled rejected resolved)],</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">          </span>},</font></div><div><font face="courier new, monospace"><br></font></div><div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">                </span>rights => {</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">                  </span>'* -> deleted'<span class="Apple-tab-span" style="white-space:pre">   </span>=> 'DeleteTicket',</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">                  </span>'* -> rejected'<span class="Apple-tab-span" style="white-space:pre">  </span>=> 'ModifyTicket',</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">                  </span>'* -> *'<span class="Apple-tab-span" style="white-space:pre"> </span>=> 'ModifyTicket',</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">          </span>},</font></div><div><font face="courier new, monospace"><br></font></div><div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">                </span>actions => [</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">                  </span>'new -> open'<span class="Apple-tab-span" style="white-space:pre">            </span>=> { label => 'Openen', update => 'Respond', },</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">                  </span>'new -> resolved'<span class="Apple-tab-span" style="white-space:pre">        </span>=> { label => 'Oplossen', update => 'Comment', },</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">                  </span>'new -> rejected'<span class="Apple-tab-span" style="white-space:pre">        </span>=> { label => 'Weigeren', update => 'Respond', },</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">                  </span>'new -> deleted'<span class="Apple-tab-span" style="white-space:pre"> </span>=> { label => 'Verwijderen', },</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">                  </span>'open -> stalled'<span class="Apple-tab-span" style="white-space:pre">        </span>=> { label => 'Perkeren', update => 'Comment', },</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">                  </span>'open -> resolved'<span class="Apple-tab-span" style="white-space:pre">       </span>=> { label => 'Oplossen', update => 'Comment', },</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">                  </span>'open -> rejected'<span class="Apple-tab-span" style="white-space:pre">       </span>=> { label => 'Weigeren', update => 'Respond', },</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">                  </span>'stalled -> open'<span class="Apple-tab-span" style="white-space:pre">        </span>=> { label => 'Openen', },</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">                  </span>'resolved -> open'<span class="Apple-tab-span" style="white-space:pre">       </span>=> { label => 'Heropenen', update => 'Comment', },</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">                  </span>'rejected -> open'<span class="Apple-tab-span" style="white-space:pre">       </span>=> { label => 'Heropenen', update => 'Comment', },</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">                  </span>'deleted -> open' <span class="Apple-tab-span" style="white-space:pre">       </span>=> { label => 'Undelete', },</font></div>
<div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">          </span>],</font></div><div><font face="courier new, monospace"><span class="Apple-tab-span" style="white-space:pre">  </span>},</font></div>
<div><font face="courier new, monospace">);</font></div></div><div><br></div><div>We found that this is a nice and clean way for creating custom actions, the downside is that they are shown under the actions dropdown instead of directly in the horizontal menu.</div>
<div><br></div><div>I hope this helps a little, maybe someone else can elaborate on how to do a proper change of the horizontal menu (maybe using callbacks???).</div><div><br></div><div><br></div>-- <br>Bart<br><br><br><div class="gmail_quote">
2012/9/25 Gabriel L. Somlo <span dir="ltr"><<a href="mailto:gsomlo@gmail.com" target="_blank">gsomlo@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
At the top of each ticket view there's a menu of links, typically<br>
containing "Open - Steal --- Comment - Reply - Forward - Resolve".<br>
<br>
Is there a way to add an extra item to this menu ? I'm thinking a<br>
"Reject" shortcut which would link to the same ticket resolution form<br>
as "Resolve", except with "DefaultStatus=rejected".<br>
<br>
About the only thing I could find that's configurable related to this<br>
is "Set($ResolveDefaultUpdateType, 'Comment');", which I could<br>
presumably use to have the closing comments be visible to the<br>
requestor. But I'd like to add a convenient "Reject" link side by side<br>
with "Resolve", and wonder if it's possible at all ?<br>
<br>
Thanks much,<br>
--Gabriel<br>
<br>
--------<br>
Final RT training for 2012 in Atlanta, GA - October 23 & 24<br>
  <a href="http://bestpractical.com/training" target="_blank">http://bestpractical.com/training</a><br>
<br>
We're hiring! <a href="http://bestpractical.com/jobs" target="_blank">http://bestpractical.com/jobs</a><br>
</blockquote></div><br><br clear="all"><div><br></div><br>