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>
|