1 <% include('/elements/header.html', $title, '' ) %>
3 % if ( $cgi->param('error') ) {
4 <FONT SIZE="+1" COLOR="#ff0000">Error: <% $cgi->param('error') %></FONT>
8 <FORM NAME="timeworked_form" ACTION="<% popurl(1) %>process/timeworked.html" METHOD=POST>
10 <TABLE CELLSPACING="2" CELLPADDING="2" RULES="groups" FRAME="hsides">
15 <TH COLSPAN="2">Ticket</TH>
17 <TH COLSPAN="2">Customer</TH>
32 % foreach ( keys %ticketmap ) {
33 % my (@customers) = @{$customers{$ticketmap{$_}}};
34 % next unless @customers;
35 % my $multiplier = sprintf("%.2f", 1/@customers);
36 % my ($custnum, $name) = split(':', pop @customers, 2);
41 <TD><% $ticketmap{$_} %></TD>
42 <TD><% $ticket{$_} %></TD>
43 <TD><% sprintf("%0.2f", $cgi->param("seconds$_")/3600) %></TD>
44 <TD ALIGN="right"><% $custnum %></TD>
45 <TD ALIGN="right"><% $name %></TD>
47 <INPUT TYPE="hidden" NAME="transactionid<% $_ %>" VALUE="1" >
48 <INPUT TYPE="hidden" NAME="seconds<% $_ %>" VALUE="<% $cgi->param("seconds$_") %>" >
49 <INPUT TYPE="text" NAME="multiplier<% $_ %>_<% $custnum %>" SIZE="5" VALUE="<% $cgi->param("multiplier${_}_$custnum") ? $cgi->param("multiplier${_}_$custnum") : $multiplier %>" >
53 % foreach ( @customers ) {
54 % ($custnum, $name) = split(':', $_, 2);
57 <TD ALIGN="right" COLSPAN="5" ><% $custnum %></TD>
58 <TD ALIGN="right"><% $name %></TD>
60 <INPUT TYPE="text" NAME="multiplier<% $tr_id %>_<% $custnum %>" SIZE="5" VALUE="<% $cgi->param("multiplier${tr_id}_$custnum") ? $cgi->param("multiplier${tr_id}_$custnum") : $multiplier %>" >
69 <INPUT TYPE="submit" NAME="submit" VALUE="<% $title %>">
77 unless $FS::CurrentUser::CurrentUser->access_right('Time queue');
79 my(%ticketmap, %ticket, %customers);
80 my $title = 'Assign Time Worked';
84 my $CurrentUser = RT::CurrentUser->new();
85 $CurrentUser->LoadByName($FS::CurrentUser::CurrentUser->username);
87 foreach my $id ( map { /^transactionid(\d+)$/; $1; }
88 grep /^transactionid\d+$/, $cgi->param) {
89 my $transaction = new RT::Transaction($CurrentUser);
90 $transaction->Load($id);
91 $ticketmap{$id} = $transaction->ObjectId;
92 unless(exists($ticket{$ticketmap{$id}})) {
93 my $ticket = new RT::Ticket($CurrentUser);
94 $ticket->Load($ticketmap{$id});
95 $ticket{$ticketmap{$id}} = $ticket->Subject;
96 $customers{$ticketmap{$id}} =
97 [ map { $_->Resolver->AsString }
98 grep { $_->Resolver->{'fstable'} eq 'cust_main' }
99 grep { $_->Scheme eq 'freeside' }
100 map { $_->TargetURI }
101 @{ $ticket->_Links('Base')->ItemsArrayRef }