From 4753a5a8115c647f626fe13f8a34f06a5d06d6b0 Mon Sep 17 00:00:00 2001 From: ivan Date: Thu, 11 Mar 2010 03:27:37 +0000 Subject: [PATCH] add queue selection to customer ticket creation, RT#7656 --- FS/FS/TicketSystem/RT_External.pm | 29 ++++++++++++++++++++--------- httemplate/view/cust_main/tickets.html | 25 +++++++++++++++++++++++-- 2 files changed, 43 insertions(+), 11 deletions(-) diff --git a/FS/FS/TicketSystem/RT_External.pm b/FS/FS/TicketSystem/RT_External.pm index cdb4e90f3..2995b88a4 100644 --- a/FS/FS/TicketSystem/RT_External.pm +++ b/FS/FS/TicketSystem/RT_External.pm @@ -273,7 +273,7 @@ sub href_customer_tickets { } -sub href_new_ticket { +sub href_params_new_ticket { my( $self, $custnum_or_cust_main, $requestors ) = @_; my( $custnum, $cust_main ); @@ -284,14 +284,25 @@ sub href_new_ticket { $custnum = $custnum_or_cust_main; $cust_main = qsearchs('cust_main', { 'custnum' => $custnum } ); } - my $queueid = $cust_main->agent->ticketing_queueid || $default_queueid; - - $self->baseurl. - 'Ticket/Create.html?'. - "Queue=$queueid". - "&new-MemberOf=freeside://freeside/cust_main/$custnum". - ( $requestors ? '&Requestors='. uri_escape($requestors) : '' ) - ; + + my %param = ( + 'Queue' => ($cust_main->agent->ticketing_queueid || $default_queueid), + 'new-MemberOf'=> "freeside://freeside/cust_main/$custnum", + 'Requestors' => $requestors, + ); + + ( $self->baseurl.'Ticket/Create.html', %param ); +} + +sub href_new_ticket { + my $self = shift; + + my( $base, %param ) = $self->href_params_new_ticket(@_); + + my $uri = new URI $base; + $uri->query_form(%param); + $uri; + } sub href_ticket { diff --git a/httemplate/view/cust_main/tickets.html b/httemplate/view/cust_main/tickets.html index 167849c76..e1f9a131e 100644 --- a/httemplate/view/cust_main/tickets.html +++ b/httemplate/view/cust_main/tickets.html @@ -1,7 +1,24 @@ +
+ +in queue + +% foreach my $param ( grep { $_ ne 'Queue' } keys %new_param ) { + +% } +
+
+ (View <% $openlabel %> tickets for this customer) (View resolved tickets for this customer) -
-(Create new ticket for this customer) +

<% include("/elements/table-grid.html") %> % my $bgcolor1 = '#eeeeee'; @@ -73,6 +90,10 @@ my $res_link = FS::TicketSystem->href_customer_tickets( { 'statuses' => [ 'resolved' ] } ); +my( $new_base, %new_param ) = FS::TicketSystem->href_params_new_ticket( + $cust_main, + join(', ', $cust_main->invoicing_list_emailonly ) ); + my $new_link = FS::TicketSystem->href_new_ticket( $cust_main, join(', ', $cust_main->invoicing_list_emailonly ) -- 2.11.0