eea5a7f98863ada247d4e3aead6a892ccecfbc18
[freeside.git] / httemplate / view / cust_main / tickets.html
1 <FORM METHOD="GET" NAME="CreateTicketForm" STYLE="display:inline">
2 <SCRIPT TYPE="text/javascript">
3 function updateTicketLink() {
4   var link = document.getElementById('CreateTicketLink');
5   var selector = document.getElementById('Queue')
6   link.href = "<% $new_base.'?'.
7     join(';', map(
8       { ($_ eq 'Queue') ? () : "$_=$new_param{$_}"} 
9     keys %new_param),'Queue=') %>" + selector.options[selector.selectedIndex].value;
10 }
11 </SCRIPT>
12 <A id="CreateTicketLink" HREF="<% $new_link %>">Create new ticket</A>
13  in queue
14 %# fetch list of queues in which the user can create tickets
15 % my $session = FS::TicketSystem->session();
16 % my %queues = FS::TicketSystem->queues($session, 'CreateTicket');
17 % if( $conf->exists('ticket_system-force_default_queueid') ) {
18 <B><% $queues{$new_param{'Queue'}} %></B>
19 <INPUT TYPE="hidden" NAME="Queue" VALUE="<% $new_param{'Queue'} %>">
20 % }
21 % else {
22 <SELECT NAME="Queue" id="Queue" onchange="updateTicketLink()">
23 % foreach my $queueid ( sort { $queues{$a} cmp $queues{$b} } keys %queues ) {
24     <OPTION VALUE="<% $queueid %>"
25             <% $queueid == $new_param{'Queue'} ? 'SELECTED' : '' %>
26     ><% $queues{$queueid} |h %>
27 % }
28 </SELECT>
29 <SCRIPT DEFER TYPE="text/javascript">updateTicketLink();</SCRIPT>
30 % }
31 </FORM>
32 <BR>
33
34 (<A HREF="<% $open_link %>">View <% $openlabel %> tickets for this customer</A>)
35 (<A HREF="<% $res_link  %>">View resolved tickets for this customer</A>)
36 <BR><BR>
37
38 <% include("/elements/table-grid.html") %>
39 % my $bgcolor1 = '#eeeeee';
40 %   my $bgcolor2 = '#ffffff';
41 %   my $bgcolor = '';
42
43 <TR>
44   <TH CLASS="grid" BGCOLOR="#cccccc">#</TH>
45   <TH CLASS="grid" BGCOLOR="#cccccc">Subject</TH>
46   <TH CLASS="grid" BGCOLOR="#cccccc">Status</TH>
47   <TH CLASS="grid" BGCOLOR="#cccccc">Queue</TH>
48   <TH CLASS="grid" BGCOLOR="#cccccc">Owner</TH>
49   <TH CLASS="grid" BGCOLOR="#cccccc">Priority</TH>
50 </TR>
51
52 % foreach my $ticket ( @tickets ) {
53 %     my $href = FS::TicketSystem->href_ticket($ticket->{id});
54 %     if ( $bgcolor eq $bgcolor1 ) {
55 %       $bgcolor = $bgcolor2;
56 %     } else {
57 %       $bgcolor = $bgcolor1;
58 %     }
59
60   <TR>
61   
62     <TD CLASS="grid" BGCOLOR="<% $bgcolor %>">
63       <A HREF=<%$href%>><% $ticket->{id} %></A>
64     </TD>
65   
66     <TD CLASS="grid" BGCOLOR="<% $bgcolor %>">
67       <A HREF=<%$href%>><% $ticket->{subject} %></A>
68     </TD>
69   
70     <TD CLASS="grid" BGCOLOR="<% $bgcolor %>">
71       <% $ticket->{status} %>
72     </TD>
73   
74     <TD CLASS="grid" BGCOLOR="<% $bgcolor %>">
75       <% $ticket->{queue} %>
76     </TD>
77   
78     <TD CLASS="grid" BGCOLOR="<% $bgcolor %>">
79       <% $ticket->{owner} %>
80     </TD>
81   
82     <TD ALIGN="right" CLASS="grid" BGCOLOR="<% $bgcolor %>">
83       <% $ticket->{content}
84            ? $ticket->{content}.' ('.$ticket->{priority}.')'
85            : $ticket->{priority}
86       %>
87     </TD>
88   
89   </TR>
90
91 % } 
92
93 </TABLE>
94
95 <%init>
96
97 my( $conf ) = new FS::Conf;
98 my( $cust_main ) = @_;
99 my( @tickets )  = $cust_main->tickets;
100
101 my $open_link = FS::TicketSystem->href_customer_tickets($cust_main->custnum);
102 my $openlabel = join('/', FS::TicketSystem->statuses );
103
104 my $res_link  = FS::TicketSystem->href_customer_tickets(
105                   $cust_main->custnum,
106                   { 'statuses' => [ 'resolved' ] }
107                 );
108
109 my( $new_base, %new_param ) = FS::TicketSystem->href_params_new_ticket(
110                  $cust_main,
111                  join(', ', $cust_main->invoicing_list_emailonly )               );
112
113 my $new_link = FS::TicketSystem->href_new_ticket(
114                  $cust_main,
115                  join(', ', $cust_main->invoicing_list_emailonly )
116                );
117
118 </%init>