support hours 'usage' tracking for our own internal use (#1733)
[freeside.git] / httemplate / misc / timeworked.html
1 <% include('/elements/header.html', $title, '' ) %>
2
3 % if ( $cgi->param('error') ) { 
4   <FONT SIZE="+1" COLOR="#ff0000">Error: <% $cgi->param('error') %></FONT>
5   <BR><BR>
6 % } 
7
8 <FORM NAME="timeworked_form" ACTION="<% popurl(1) %>process/timeworked.html" METHOD=POST>
9
10 <BR><BR>
11 <% include("elements/customer-table.html", header => [ 'Multiplier' ],
12                                            fields => [ 'multiplier' ],
13                                            param  => { %param },
14           ) %>
15
16 <BR>
17 <INPUT TYPE="submit" NAME="submit" VALUE="<% $title %>">
18 <BR>
19 <BR>
20
21 for transactions/tickets:
22 <TABLE>
23
24 %  foreach ( sort { $a <=> $b } keys %ticket ) {
25
26   <TR><TD><% $_ %></TD><TD><% $ticket{$_} %></TD></TR>
27   <INPUT TYPE="hidden" NAME="transactionid<% $_ %>" VALUE="1" >
28   <INPUT TYPE="hidden" NAME="seconds<% $_ %>" VALUE="<% $cgi->param("seconds$_") %>" >
29
30 %  }
31
32 </TABLE>
33 </FORM>
34 </BODY>
35 </HTML>
36
37 <%init>
38
39 die "access denied"
40   unless $FS::CurrentUser::CurrentUser->access_right('Time queue');
41
42 my($svcnum, %ticket, %customers, %param); 
43 my $title = 'Assign Time Worked';
44
45 RT::Init();
46
47 my $CurrentUser = RT::CurrentUser->new();
48 $CurrentUser->LoadByName($FS::CurrentUser::CurrentUser->username);
49
50 foreach my $id ( map { /^transactionid(\d+)$/; $1; }
51                      grep /^transactionid\d+$/, $cgi->param) {
52   my $transaction = new RT::Transaction($CurrentUser); 
53   $transaction->Load($id);
54   my $ticket = new RT::Ticket($CurrentUser);
55   $ticket->Load($transaction->ObjectId);
56   $ticket{$id} = $ticket->Subject;
57   foreach my $customerURI (
58                        grep { $_->Resolver->{'fstable'} eq 'cust_main' } 
59                        grep { $_->Scheme eq 'freeside' } 
60                         map { $_->TargetURI } 
61                             @{ $ticket->_Links('Base')->ItemsArrayRef } 
62                           ) {
63     $customers{$customerURI->Resolver->AsString} = 1;
64   }
65 }
66
67 my $row = 0;
68 foreach ( keys %customers ) {
69   my ($number, $name) = split(':', $_, 2);
70   $param{"custnum$row"} = $number;
71   $param{"customer$row"} = $name;
72   $param{"multiplier$row"} = sprintf("%.2f", 1/scalar(keys(%customers)));
73   $row++;
74 }
75
76 </%init>
77