summaryrefslogtreecommitdiff
path: root/httemplate/misc/timeworked.html
blob: 2b288f2337a90c51def8d8290c7f87ad2db05e26 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
<% include('/elements/header.html', $title, '' ) %>

% if ( $cgi->param('error') ) { 
  <FONT SIZE="+1" COLOR="#ff0000">Error: <% $cgi->param('error') %></FONT>
  <BR><BR>
% } 

<FORM NAME="timeworked_form" ACTION="<% popurl(1) %>process/timeworked.html" METHOD=POST>

<BR><BR>
<% include("elements/customer-table.html", header => [ 'Multiplier' ],
                                           fields => [ 'multiplier' ],
                                           param  => { %param },
          ) %>

<BR>
<INPUT TYPE="submit" NAME="submit" VALUE="<% $title %>">
<BR>
<BR>

for transactions/tickets:
<TABLE>

%  foreach ( sort { $a <=> $b } keys %ticket ) {

  <TR><TD><% $_ %></TD><TD><% $ticket{$_} %></TD></TR>
  <INPUT TYPE="hidden" NAME="transactionid<% $_ %>" VALUE="1" >
  <INPUT TYPE="hidden" NAME="seconds<% $_ %>" VALUE="<% $cgi->param("seconds$_") %>" >

%  }

</TABLE>
</FORM>
</BODY>
</HTML>

<%init>

die "access denied"
  unless $FS::CurrentUser::CurrentUser->access_right('Time queue');

my($svcnum, %ticket, %customers, %param); 
my $title = 'Assign Time Worked';

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);
  my $ticket = new RT::Ticket($CurrentUser);
  $ticket->Load($transaction->ObjectId);
  $ticket{$id} = $ticket->Subject;
  foreach my $customerURI (
                       grep { $_->Resolver->{'fstable'} eq 'cust_main' } 
                       grep { $_->Scheme eq 'freeside' } 
                        map { $_->TargetURI } 
                            @{ $ticket->_Links('Base')->ItemsArrayRef } 
                          ) {
    $customers{$customerURI->Resolver->AsString} = 1;
  }
}

my $row = 0;
foreach ( keys %customers ) {
  my ($number, $name) = split(':', $_, 2);
  $param{"custnum$row"} = $number;
  $param{"customer$row"} = $name;
  $param{"multiplier$row"} = sprintf("%.2f", 1/scalar(keys(%customers)));
  $row++;
}

</%init>