diff options
-rw-r--r-- | FS/FS/TicketSystem/RT_External.pm | 29 | ||||
-rw-r--r-- | 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 @@ +<FORM METHOD="GET" ACTION="<% $new_base %>" NAME="CreateTicketForm"> +<INPUT TYPE="submit" VALUE="Create new ticket"> +in queue +<SELECT NAME="Queue"> +% my %queues = FS::TicketSystem->queues(); +% foreach my $queueid ( keys %queues ) { +% #should consider whether the user has ACL to create ticket in each queue + <OPTION VALUE="<% $queueid %>" + <% $queueid == $new_param{'Queue'} ? 'SELECTED' : '' %> + ><% $queues{$queueid} |h %> +% } +</SELECT> +% foreach my $param ( grep { $_ ne 'Queue' } keys %new_param ) { + <INPUT TYPE="hidden" NAME="<% $param %>" VALUE="<% $new_param{$param} |h %>"> +% } +</FORM> +<BR> + (<A HREF="<% $open_link %>">View <% $openlabel %> tickets for this customer</A>) (<A HREF="<% $res_link %>">View resolved tickets for this customer</A>) -<BR> -(<A HREF="<% $new_link %>">Create new ticket for this customer</A>) +<BR><BR> <% 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 ) |