<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<meta name=Generator content="Microsoft Word 12 (filtered medium)">
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.E-MailFormatvorlage17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page Section1
        {size:612.0pt 792.0pt;
        margin:70.85pt 70.85pt 2.0cm 70.85pt;}
div.Section1
        {page:Section1;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1" />
 </o:shapelayout></xml><![endif]-->
</head>

<body lang=DE link=blue vlink=purple>

<div class=Section1>

<p class=MsoNormal><span lang=EN-US>Good morning,<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>

<p class=MsoNormal><span lang=EN-US>I am currently trying to customize RTs Action
Listing in the top of the Ticket Display (Comment, Correspond, Forward, Resolve).
I am using callbacks, but they do not invoke as expected. As a basic idea I
have been using the example of Dirk Pape, specifically <a
href="http://page.mi.fu-berlin.de/dirkpape/rt3/Callbacks/MI/Ticket/Elements/Tabs/Default">http://page.mi.fu-berlin.de/dirkpape/rt3/Callbacks/MI/Ticket/Elements/Tabs/Default</a><o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>

<p class=MsoNormal><span lang=EN-US>The code I am actually using looks like
this:<o:p></o:p></span></p>

<div style='mso-element:para-border-div;border:none;border-bottom:solid windowtext 1.0pt;
padding:0cm 0cm 1.0pt 0cm'>

<p class=MsoNormal style='border:none;padding:0cm'><span lang=EN-US><o:p> </o:p></span></p>

</div>

<p class=MsoNormal><span lang=EN-US style='font-size:8.0pt;font-family:"Courier New"'><%INIT><o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:8.0pt;font-family:"Courier New"'>if
($Ticket) {<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:8.0pt;font-family:"Courier New"'>       
# overwrite the default Action for Resolve to Correspond<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:8.0pt;font-family:"Courier New"'>       
if ( $Ticket->CurrentUserHasRight('ModifyTicket') && (
$Ticket->Status ne 'resolved' ) ) {<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:8.0pt;font-family:"Courier New"'>               
$actions->{'G'}->{'path'} =
"Ticket/Update.html?Action=Respond&DefaultStatus=resolved&id=".$Ticket->id;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:8.0pt;font-family:"Courier New"'>       
}<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:8.0pt;font-family:"Courier New"'><o:p> </o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:8.0pt;font-family:"Courier New"'>       
# Set To Test<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:8.0pt;font-family:"Courier New"'>       
if ( $Ticket->CurrentUserHasRight('ModifyTicket') && (
$Ticket->Status ne 'test' ) ) {<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:8.0pt;font-family:"Courier New"'>               
$actions->{'T'} = {<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:8.0pt;font-family:"Courier New"'>                       
title => 'Test',<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:8.0pt;font-family:"Courier New"'>                       
path => "Ticket/Update.html?Action=Respond&DefaultStatus=test&id="<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:8.0pt;font-family:"Courier New"'>                               
. $Ticket->id };<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:8.0pt;font-family:"Courier New"'>       
}<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:8.0pt;font-family:"Courier New"'><o:p> </o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:8.0pt;font-family:"Courier New"'>       
# Add as Watcher<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:8.0pt;font-family:"Courier New"'>       
if ( $Ticket->CurrentUserHasRight('Watch') ) {<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:8.0pt;font-family:"Courier New"'>               
$actions->{'W'} = {<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:8.0pt;font-family:"Courier New"'>                       
title => loc('Watch'),<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:8.0pt;font-family:"Courier New"'>                       
path => 'Ticket/ModifyPeople.html?Ticket-AddWatcher-Principal-'<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:8.0pt;font-family:"Courier New"'>                               
. $Ticket->CurrentUser->id<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:8.0pt;font-family:"Courier New"'>                               
. '=Cc&id='.$Ticket->id };<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:8.0pt;font-family:"Courier New"'>       
}<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:8.0pt;font-family:"Courier New"'><o:p> </o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:8.0pt;font-family:"Courier New"'>}<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:8.0pt;font-family:"Courier New"'>#
$actions->{'ZZ2'} = { title => 'test2', path => 'test2' };<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:8.0pt;font-family:"Courier New"'></%INIT><o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:8.0pt;font-family:"Courier New"'><%ARGS><o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:8.0pt;font-family:"Courier New"'>$Ticket
=> undef<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:8.0pt;font-family:"Courier New"'>$actions
=> undef<o:p></o:p></span></p>

<div style='mso-element:para-border-div;border:none;border-bottom:solid windowtext 1.0pt;
padding:0cm 0cm 1.0pt 0cm'>

<p class=MsoNormal style='border:none;padding:0cm'><span lang=EN-US
style='font-size:8.0pt;font-family:"Courier New"'></%ARGS><o:p></o:p></span></p>

</div>

<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>

<p class=MsoNormal><span lang=EN-US>The callback actually gets called, if I
uncomment the “ZZ2” entry, it gets shown as expected. Unfortunately,
the $Ticket object is undefined and thus breaks the entire idea.<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>

<p class=MsoNormal><span lang=EN-US>I am using RT 3.8.8 installed from Debian packages,
the callback has been placed into /usr/local/share/request-tracker3.8/html/Callbacks/Ticket/Elements/Tabs/Default.<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>

<p class=MsoNormal><span lang=EN-US>I would appreciate any hints, why this does
not work.<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'>Best
regards,<br>
Torben Nehmer<o:p></o:p></p>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span
style='font-size:7.5pt'>-------<br>
Torben Nehmer<br>
Diplom Informatiker (FH)<br>
Business System Developer</span><span style='font-size:12.0pt'><o:p></o:p></span></p>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span
style='font-size:7.5pt'>CANCOM Deutschland GmbH<br>
Messerschmittstr. 20<br>
89343 Scheppach<br>
Germany</span><span style='font-size:12.0pt'><o:p></o:p></span></p>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span
lang=EN-US style='font-size:7.5pt'>Tel.: +49 8225 - 996-1118<br>
Fax: +49 8225 - 996-41118<br>
</span><span style='font-size:12.0pt'><a href="mailto:torben.nehmer@cancom.de"><span
lang=EN-US style='font-size:7.5pt;color:blue'>torben.nehmer@cancom.de</span></a></span><span
lang=EN-US style='font-size:10.0pt'><br>
</span><span style='font-size:10.0pt'><a href="http://www.cancom.de"><span
lang=EN-US style='font-size:7.5pt;color:blue'>www.cancom.de</span></a></span><span
lang=EN-US style='font-size:12.0pt'><o:p></o:p></span></p>

<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span
style='font-size:7.5pt'>CANCOM Deutschland GmbH<br>
Sitz der Gesellschaft: Jettingen-Scheppach<br>
HRB 10653 Memmingen<br>
<span style='color:black'>Geschäftsführer: Martin Mayr, Tobias Hörmann</span></span><span
style='font-size:12.0pt'><o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:7.5pt'>Diese E-Mail und alle
mitgesendeten Dateien sind vertraulich und ausschließlich für den Gebrauch
durch den Empfänger bestimmt! <br>
</span><span lang=EN-US style='font-size:7.5pt'>This e-mail and any files
transmitted with it are confidential intended solely for the use of the
addressee!</span><span lang=EN-US><o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>

</div>

</body>

</html>