link tickets to services, #17067
[freeside.git] / httemplate / view / cust_main / tickets.html
index 194e907..f076fcc 100644 (file)
@@ -1,164 +1,2 @@
-<FORM METHOD="GET" NAME="CreateTicketForm" STYLE="display:inline">
-<SCRIPT TYPE="text/javascript">
-function updateTicketLink() {
-  var link = document.getElementById('CreateTicketLink');
-  var selector = document.getElementById('Queue')
-  link.href = "<% $new_base.'?'.
-    join(';', map(
-      { ($_ eq 'Queue') ? () : "$_=$new_param{$_}"} 
-    keys %new_param),'Queue=') %>" + selector.options[selector.selectedIndex].value;
-}
-</SCRIPT>
-<A NAME="tickets"><FONT CLASS="fsinnerbox-title">Tickets</FONT></A>
-<A id="CreateTicketLink" HREF="<% $new_link %>"><% mt('Create new ticket') |h %></A>
- <% mt('in queue') |h %> 
-%# fetch list of queues in which the user can create tickets
-% my %queues = FS::TicketSystem->queues('', 'CreateTicket');
-% if( $conf->exists('ticket_system-force_default_queueid') ) {
-<B><% $queues{$new_param{'Queue'}} %></B>
-<INPUT TYPE="hidden" NAME="Queue" VALUE="<% $new_param{'Queue'} %>">
-% }
-% else {
-<SELECT NAME="Queue" id="Queue" onchange="updateTicketLink()">
-% foreach my $queueid ( sort { $queues{$a} cmp $queues{$b} } keys %queues ) {
-    <OPTION VALUE="<% $queueid %>"
-            <% $queueid == $new_param{'Queue'} ? 'SELECTED' : '' %>
-    ><% $queues{$queueid} |h %>
-% }
-</SELECT>
-<SCRIPT DEFER TYPE="text/javascript">updateTicketLink();</SCRIPT>
-% }
-</FORM>
- | 
-View 
-<A HREF="<% $open_link %>"><% mt($openlabel) |h %></A> | 
-<A HREF="<% $res_link  %>"><% mt('resolved') |h %></A>
-<BR>
-
-<& /elements/table-grid.html &>
-% my $bgcolor1 = '#eeeeee';
-%   my $bgcolor2 = '#ffffff';
-%   my $bgcolor = '';
-
-<TR>
-  <TH CLASS="grid" BGCOLOR="#cccccc"><% mt('#') |h %></TH>
-  <TH CLASS="grid" BGCOLOR="#cccccc"><% mt('Subject') |h %></TH>
-  <TH CLASS="grid" BGCOLOR="#cccccc"><% mt('Status') |h %></TH>
-  <TH CLASS="grid" BGCOLOR="#cccccc"><% mt('Queue') |h %></TH>
-  <TH CLASS="grid" BGCOLOR="#cccccc"><% mt('Owner') |h %></TH>
-  <TH CLASS="grid" BGCOLOR="#cccccc"><% mt('Due') |h %></TH>
-  <TH CLASS="grid" BGCOLOR="#cccccc"><% mt('Estimated Time') |h %></TH>
-  <TH CLASS="grid" BGCOLOR="#cccccc"><% mt('Priority') |h %></TH>
-% if ( $ss_priority ) {
-  <TH CLASS="grid" BGCOLOR="#cccccc"><% mt('Customer Priority') |h %></TH>
-% }
-</TR>
-
-% foreach my $ticket ( @tickets ) {
-%     my $href = FS::TicketSystem->href_ticket($ticket->{id});
-%     if ( $bgcolor eq $bgcolor1 ) {
-%       $bgcolor = $bgcolor2;
-%     } else {
-%       $bgcolor = $bgcolor1;
-%     }
-
-  <TR>
-  
-    <TD CLASS="grid" BGCOLOR="<% $bgcolor %>">
-      <A HREF=<%$href%>><% $ticket->{id} %></A>
-    </TD>
-  
-    <TD CLASS="grid" BGCOLOR="<% $bgcolor %>">
-      <A HREF=<%$href%>><% $ticket->{subject} %></A>
-    </TD>
-  
-    <TD CLASS="grid" BGCOLOR="<% $bgcolor %>">
-      <% $ticket->{status} %>
-    </TD>
-  
-    <TD CLASS="grid" BGCOLOR="<% $bgcolor %>">
-      <% $ticket->{queue} %>
-    </TD>
-  
-    <TD CLASS="grid" BGCOLOR="<% $bgcolor %>">
-      <% $ticket->{owner} %>
-    </TD>
-
-    <TD CLASS="grid" BGCOLOR="<% $bgcolor %>">
-      <% $date_formatter->($ticket->{due}) %>
-    </TD>
-
-    <TD ALIGN="right" CLASS="grid" BGCOLOR="<% $bgcolor %>">
-      <% $ticket->{timeestimated} %>
-    </TD>
-  
-    <TD ALIGN="right" CLASS="grid" BGCOLOR="<% $bgcolor %>">
-      <% $ticket->{content}
-           ? $ticket->{content}.' ('.$ticket->{priority}.')'
-           : $ticket->{priority}
-      %>
-    </TD>
-
-%   if ( $ss_priority ) {
-    <TD ALIGN="right" CLASS="grid" BGCOLOR="<% $bgcolor %>">
-      <% $ticket->{"CF.{$ss_priority}"} %>
-    </TD>
-%   }
-
-  </TR>
-
-% } 
-
-</TABLE>
-
-<%init>
-use Date::Format 'time2str';
-use Date::Parse 'str2time';
-
-my( $conf ) = new FS::Conf;
-my( $cust_main ) = @_;
-my( @tickets )  = $cust_main->tickets;
-
-my $open_link = FS::TicketSystem->href_customer_tickets($cust_main->custnum);
-my $openlabel = join('/', FS::TicketSystem->statuses );
-
-my $res_link  = FS::TicketSystem->href_customer_tickets(
-                  $cust_main->custnum,
-                  { 'statuses' => [ 'resolved' ] }
-                );
-
-my( $new_base, %new_param ) = 
-  FS::TicketSystem->href_params_new_ticket( $cust_main );
-
-my $new_link = FS::TicketSystem->href_new_ticket( $cust_main );
-
-my $ss_priority = FS::TicketSystem->selfservice_priority;
-if ( $ss_priority ) {
-  my $dir = $conf->exists('ticket_system-priority_reverse') ? -1 : 1;
-  use sort 'stable';
-  # sort in the following way:
-  @tickets = sort { 
-    # within a severity level...
-    ( $a->{'content'} eq $b->{'content'} ) ? (
-      # no-priority tickets sort last
-      (
-        ($a->{'_selfservice_priority'} eq '') <=> 
-        ($b->{'_selfservice_priority'} eq '')
-      ) ||
-      # otherwise obey ticket_system-priority_reverse
-      ( $dir * 
-        ($b->{'_selfservice_priority'} <=> $a->{'_selfservice_priority'})
-      )
-    ) : 0; # but don't rearrange between severity levels
-  } @tickets;
-}
-
-my $format = $conf->config('date_format') || '%Y-%m-%d';
-
-my $date_formatter = sub {
-  my $time = str2time($_[0], 'GMT');
-  # exclude times within 24 hours of zero
-  ($time > 86400) ? time2str($format, $time) : '';
-};
-
-</%init>
+% my $cust_main = shift;
+<& /elements/table-tickets.html, object => $cust_main &>