[rt-users] Need help with /Approvals/ & local/html/Ticket/Elements/ShowTransaction

Jean-Sebastien Morisset jsmoriss at mvlan.net
Wed Jun 25 11:55:38 EDT 2008


Hi everyone,

I'm using an extension to ./local/html/Ticket/Elements/ShowTransaction
that allows me to create dependant tickets based on the current
correspondence in the ticket's history.

Before adding the "create ticket" button bellow a correspondence, I use
the following check:

% if ( $Transaction->Type =~ /^(Create|Correspond|Comment)$/ && $Ticket->QueueObj->Name !~ /^Approval$/) {

This works fine, EXCEPT when viewing approvals with the /Approvals/
page. The /Approvals/ page shows each approval ticket, and includes the
history of every dependant ticket. This history list uses
./local/html/Ticket/Elements/ShowTransaction, so the "create ticket"
buttons are displayed. I'd like to avoid this. :-)

So, my question is, how can I expand the above "if" test in
./local/html/Ticket/Elements/ShowTransaction to check that it's being
called by the /Approvals/ page?

And in case you were interested in the complete code, I've attached a
diff.

Thanks,
js.
-- 
Jean-Sebastien Morisset, Sr. UNIX Administrator <jsmoriss at mvlan.net>
-------------- next part --------------
47a48
> 
64d64
< 
90a91,92
> $Verbose => 0
> $Default => 0
103,104c105
<     }
<     else {
---
>     } else {
107,108c108
< }
< elsif (    ( $Transaction->Field =~ /^Owner$/ )
---
> } elsif (    ( $Transaction->Field =~ /^Owner$/ )
112,113c112
< }
< elsif ( $Transaction->Type =~ /^(AddLink|DeleteLink)$/ ) {
---
> } elsif ( $Transaction->Type =~ /^(AddLink|DeleteLink)$/ ) {
115,116c114
< }
< elsif ( $Transaction->Type =~ /^(Status|Set|Told)$/ ) {
---
> } elsif ( $Transaction->Type =~ /^(Status|Set|Told)$/ ) {
119,120c117
<     }
<     else {
---
>     } else {
123,124c120
< }
< else {
---
> } else {
162d157
< 
194a190,239
> 
> % if ( $Transaction->Type =~ /^(Create|Correspond|Comment)$/ && $Ticket->QueueObj->Name !~ /^Approval$/) {
> 
> <p align="right">
> <form action="<% $RT::WebPath %>/Ticket/Create.html" name="CreateTicketInQueue">
> 
> <script type="text/javascript">
> 	function setrelationship (select) {
> 		var wert = select.options[select.options.selectedIndex].value;
> 		select.form.elements["new-MemberOf"].value = "";
> 		select.form.elements["new-DependsOn"].value = ""; 
> 		select.form.elements["new-RefersTo"].value = "";
> 		select.form.elements["MemberOf-new"].value = "";
> 		select.form.elements["DependsOn-new"].value = "";
> 		select.form.elements["RefersTo-new"].value = "";
> 		select.form.elements[wert].value = "<%$Ticket->Id%>";
> 	} 
> </script>
> 
> <input type="hidden" name="new-MemberOf" value="">
> <input type="hidden" name="MemberOf-new" value="">
> <input type="hidden" name="new-DependsOn" value="">
> <input type="hidden" name="DependsOn-new" value="<%$Ticket->Id%>">
> <input type="hidden" name="new-RefersTo" value="">
> <input type="hidden" name="RefersTo-new" value="">
> <input type="hidden" name="id" value="<%$desc%>">
> <input type="hidden" name="CloneTicket" value="<%$Ticket->Id%>">
> <input type="hidden" name="Subject" value="">
> <input type="hidden" name="QuoteTransaction" value="<%$Transaction->Id%>">
> <input type="hidden" name="Status" value="new">
> <input type="hidden" name="Requestors" value="">
> <input type="hidden" name="Owner" value="Nobody">
> <input type="hidden" name="Cc" value="<%$Ticket->Requestors->MemberEmailAddressesAsString%>,<%$Ticket->Cc->MemberEmailAddressesAsString%>">
> 
> Create new
> <select name="how-depends" onchange="setrelationship(this)">
> 	<option value="DependsOn-new" selected>Child (dependent)</option>
> 	<option value="new-MemberOf">Child (independent)</option>
> 	<option value="new-DependsOn">Parent (dependent)</option>
> 	<option value="MemberOf-new">Parent (independent)</option>
> 	<option value="new-RefersTo">Refers to</option>
> 	<option value="RefersTo-new">Refered to by</option>
> </select>
> 
> <input type="submit" value="Ticket"> in
> 	<& /Elements/SelectQueue, Name => 'Queue', %ARGS, ShowNullOption => 0, ShowAllQueues => 0 &>
> </form>
> </p>
> 
> % }


More information about the rt-users mailing list