diff options
Diffstat (limited to 'httemplate/misc/timeworked.html')
| -rwxr-xr-x | httemplate/misc/timeworked.html | 138 | 
1 files changed, 138 insertions, 0 deletions
| diff --git a/httemplate/misc/timeworked.html b/httemplate/misc/timeworked.html new file mode 100755 index 000000000..46063e829 --- /dev/null +++ b/httemplate/misc/timeworked.html @@ -0,0 +1,138 @@ +<% include('/elements/header.html', $title, '' ) %> + +<% 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> + +  <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; + +      <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}} |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"><% $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="<% $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); + +        <TR> +          <TD ALIGN="right" COLSPAN="5" ><% $custnum %></TD> +          <TD ALIGN="right"><% $name %></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="submit" NAME="submit" VALUE="<% $title %>"> +</FORM> + +<% include('/elements/footer.html') %> + +<%init> + +die "access denied" +  unless $FS::CurrentUser::CurrentUser->access_right('Time queue'); + +my(%ticketmap, %ticket, %customers);  +my $title = 'Assign Time Worked'; +tie %ticketmap, 'Tie::IxHash'; + +RT::Init(); + +my $CurrentUser = RT::CurrentUser->new(); +$CurrentUser->LoadByName($FS::CurrentUser::CurrentUser->username); + +foreach my $id ( map { /^transactionid(\d+)$/; $1; } +                     grep /^transactionid\d+$/, $cgi->param) { +  my $transaction = new RT::Transaction($CurrentUser);  +  $transaction->Load($id); +  $ticketmap{$id} = $transaction->ObjectId; +  unless(exists($ticket{$ticketmap{$id}})) { +    my $ticket = new RT::Ticket($CurrentUser); +    $ticket->Load($ticketmap{$id}); +    $ticket{$ticketmap{$id}} = $ticket->Subject; +    $customers{$ticketmap{$id}} = +                            [ map  { $_->Resolver->AsString } +                              grep { $_->Resolver->{'fstable'} eq 'cust_main' } +                              grep { $_->Scheme eq 'freeside' }  +                              map  { $_->TargetURI }  +                                @{ $ticket->_Links('Base')->ItemsArrayRef }  +                            ]; +                             +  } +} + +</%init> + | 
