Merge branch 'master' of ssh://git.freeside.biz/home/git/freeside
[freeside.git] / httemplate / misc / timeworked.html
index ac59960..a0cf743 100755 (executable)
@@ -1,76 +1,95 @@
 <% include('/elements/header.html', $title, '' ) %>
 
-% if ( $cgi->param('error') ) { 
-  <FONT SIZE="+1" COLOR="#ff0000">Error: <% $cgi->param('error') %></FONT>
-  <BR><BR>
-% } 
+<% include('/elements/error.html') %>
 
 <FORM NAME="timeworked_form" ACTION="<% popurl(1) %>process/timeworked.html" METHOD=POST>
 
 <TABLE CELLSPACING="2" CELLPADDING="2" RULES="groups" FRAME="hsides">
 
-<THEAD>
-  <TR>
-    <TH>Trans</TH>
-    <TH COLSPAN="2">Ticket</TH>
-    <TH>Time</TH>
-    <TH COLSPAN="2">Customer</TH>
-    <TH>Multiplier</TH>
-  </TR>
-
-  <TR>
-    <TH>#</TH>
-    <TH>#</TH>
-    <TH>Subject</TH>
-    <TH>hours</TH>
-    <TH>#</TH>
-    <TH>Name</TH>
-    <TH></TH>
-  </TR>
-</THEAD>
-
-%  foreach my $tr_id ( keys %ticketmap ) {
-%    my (@customers) = @{$customers{$ticketmap{$tr_id}}};
-%    next unless @customers;
-%    my $multiplier = sprintf("%.2f", 1/@customers);
-%    my ($custnum, $name) = split(':', pop @customers, 2);
-%    my $link = $p. 'rt/Ticket/Display.html?id='. $ticketmap{$tr_id}.
-%                   '#txn-'. $tr_id;
-
-<TBODY>
-  <TR>
-  <TD><a href="$link"><% $tr_id %></a></TD>
-  <TD><a href="$link"><% $ticketmap{$tr_id} %></a></TD>
-  <TD><a href="$link"><% $ticket{$ticketmap{$tr_id}} %></a></TD>
-  <TD><% sprintf("%0.2f", $cgi->param("seconds$tr_id")/3600) %></TD>
-  <TD ALIGN="right"><% $custnum %></TD>
-  <TD ALIGN="right"><% $name %></TD>
-  <TD>
-    <INPUT TYPE="hidden" NAME="transactionid<% $tr_id %>" VALUE="1" >
-    <INPUT TYPE="hidden" NAME="seconds<% $tr_id %>" VALUE="<% $cgi->param("seconds$tr_id") %>" >
-    <INPUT TYPE="text" NAME="multiplier<% $tr_id %>_<% $custnum %>" SIZE="5" VALUE="<% $cgi->param("multiplier${_}_$custnum") ? $cgi->param("multiplier${_}_$custnum") : $multiplier %>" >
-  </TR>
-
-%    foreach ( @customers ) {
-%      ($custnum, $name) = split(':', $_, 2);
-
-  <TR>
-  <TD ALIGN="right" COLSPAN="5" ><% $custnum %></TD>
-  <TD ALIGN="right"><% $name %></TD>
-  <TD>
-    <INPUT TYPE="text" NAME="multiplier<% $tr_id %>_<% $custnum %>" SIZE="5" VALUE="<% $cgi->param("multiplier${tr_id}_$custnum") ? $cgi->param("multiplier${tr_id}_$custnum") : $multiplier %>" >
-  </TR>
-</TBODY>
-
-%    }
-%  }
+  <THEAD>
+    <TR>
+      <TH COLSPAN="2">Ticket</TH>
+      <TH>Hours</TH>
+      <TH COLSPAN="2">Customer</TH>
+      <TH>Multiplier</TH>
+    </TR>
+  </THEAD>
+
+  <TBODY>
+
+%   foreach my $tr_id ( keys %ticketmap ) {
+%     my (@customers) = @{$customers{$ticketmap{$tr_id}}};
+%     next unless @customers;
+%     my $default_multiplier = sprintf("%.2f", 1/@customers);
+%     my ($custnum, $name) = split(':', pop @customers, 2);
+%     my $link = $p. 'rt/Ticket/Display.html?id='. $ticketmap{$tr_id}.
+%                    '#txn-'. $tr_id;
+%     my $clink = $p. 'view/cust_main.cgi?'. $custnum;
+
+      <TR>
+        <TD><a href="<% $link %>"><% $ticketmap{$tr_id} %></a></TD>
+        <TD><a href="<% $link %>"><% $ticket{$ticketmap{$tr_id}} |h %></a></TD>
+
+%       my $seconds = 0;
+%       if ( $cgi->param("seconds$tr_id") =~ /^(\d+)$/ ) {
+%         $seconds = $1;
+%       }
+
+        <TD><% sprintf("%0.2f", $seconds/3600) %></TD>
+        <TD ALIGN="right"><a href="<% $clink %>"><% $custnum %></a></TD>
+        <TD ALIGN="right"><a href="<% $clink %>"><% $name %></a></TD>
+        <TD>
+          <INPUT TYPE="hidden" NAME="transactionid<%$tr_id%>" VALUE="1" >
+          <INPUT TYPE="hidden" NAME="seconds<%$tr_id%>" VALUE="<% $seconds %>" >
+
+%         my $multiplier = $default_multiplier;
+%         my $mult_paramname = "multiplier${tr_id}_$custnum";
+%         if ( $cgi->param($mult_paramname) =~ /^\s*([\d\.]+)\s*$/ ) {
+%           $multiplier = $1;
+%         }
+
+          <INPUT TYPE="text" NAME="<% $mult_paramname %>" SIZE="5" VALUE="<% $multiplier %>" >
+        </TD>
+      </TR>
+
+%     foreach ( @customers ) {
+%       ($custnum, $name) = split(':', $_, 2);
+%       $clink = $p. 'view/cust_main.cgi?'. $custnum;
+
+        <TR>
+          <TD ALIGN="right" COLSPAN="4" ><a href="<% $clink %>"><% $custnum %></a></TD>
+          <TD ALIGN="right"><a href="<% $clink %>"><% $name %></a></TD>
+          <TD>
+
+%           $multiplier = $default_multiplier;
+%           $mult_paramname = "multiplier${tr_id}_$custnum";
+%           if ( $cgi->param($mult_paramname) =~ /^\s*([\d\.]+)\s*$/ ) {
+%             $multiplier = $1;
+%           }
+
+            <INPUT TYPE="text" NAME="<% $mult_paramname %>" SIZE="5" VALUE="<% $multiplier %>" >
+
+          </TD>
+
+        </TR>
+
+%     }
+%   }
+
+  </TBODY>
 
 </TABLE>
+
 <BR>
+
+<INPUT TYPE="hidden" NAME="begin"    VALUE="<% $cgi->param('begin')    |h %>">
+<INPUT TYPE="hidden" NAME="end"      VALUE="<% $cgi->param('end')      |h %>">
+<INPUT TYPE="hidden" NAME="category" VALUE="<% $cgi->param('category') |h %>">
+
 <INPUT TYPE="submit" NAME="submit" VALUE="<% $title %>">
 </FORM>
-</BODY>
-</HTML>
+
+<% include('/elements/footer.html') %>
 
 <%init>
 
@@ -79,8 +98,7 @@ die "access denied"
 
 my(%ticketmap, %ticket, %customers); 
 my $title = 'Assign Time Worked';
-
-RT::Init();
+tie %ticketmap, 'Tie::IxHash';
 
 my $CurrentUser = RT::CurrentUser->new();
 $CurrentUser->LoadByName($FS::CurrentUser::CurrentUser->username);