projects
/
freeside.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
new ui for assigning support time
[freeside.git]
/
httemplate
/
misc
/
process
/
timeworked.html
diff --git
a/httemplate/misc/process/timeworked.html
b/httemplate/misc/process/timeworked.html
index
b69c898
..
c589d76
100644
(file)
--- a/
httemplate/misc/process/timeworked.html
+++ b/
httemplate/misc/process/timeworked.html
@@
-8,16
+8,20
@@
die "access denied"
unless $FS::CurrentUser::CurrentUser->access_right('Time queue');
die "access denied"
unless $FS::CurrentUser::CurrentUser->access_right('Time queue');
-my %multipliers = map { /^custnum(\d+)$/; ($cgi->param("custnum$1") => $cgi->param("multiplier$1")); }
- grep /^custnum\d+$/, $cgi->param;
-
-my @svc_acct_rt_transaction;
+my @acct_rt_transaction;
foreach my $transaction (
map { /^transactionid(\d+)$/; $1; } grep /^transactionid\d+$/, $cgi->param
) {
foreach my $transaction (
map { /^transactionid(\d+)$/; $1; } grep /^transactionid\d+$/, $cgi->param
) {
+ my $s = "multiplier${transaction}_";
+ my %multipliers = map { /^$s(\d+)$/; $1 => $cgi->param("$s$1"); }
+ grep /^$s\d+$/, $cgi->param;
+ my $msum = 0;
+ foreach(values %multipliers) {$msum += $_};
+
my $seconds = $cgi->param("seconds$transaction");
my $seconds = $cgi->param("seconds$transaction");
- my %seconds = map { $_ => sprintf("%.0f", $seconds * $multipliers{$_}) }
- (keys %multipliers);
+ my %seconds =
+ map { $_ => sprintf("%.0f", $seconds * $multipliers{$_} / $msum) }
+ (keys %multipliers);
my $sum = 0;
my $count = 0;
foreach (values %seconds) {
my $sum = 0;
my $count = 0;
foreach (values %seconds) {
@@
-32,19
+36,22
@@
foreach my $transaction (
$seconds{$_} += $adjustment;
last;
}
$seconds{$_} += $adjustment;
last;
}
+ } else {
+ die "unexpectedly cannot apportion time";
}
foreach my $customer ( grep {$seconds{$_}} keys %seconds ) {
}
foreach my $customer ( grep {$seconds{$_}} keys %seconds ) {
- push @
svc_acct_rt_transaction, new FS::svc_
acct_rt_transaction {
+ push @
acct_rt_transaction, new FS::
acct_rt_transaction {
'custnum' => $customer,
'transaction_id' => $transaction,
'seconds' => $seconds{$customer},
'custnum' => $customer,
'transaction_id' => $transaction,
'seconds' => $seconds{$customer},
+ 'support' => $seconds{$customer} * $msum,
};
}
}
};
}
}
-my $error = FS::
svc_acct_rt_transaction->batch_insert(@svc_
acct_rt_transaction);
+my $error = FS::
acct_rt_transaction->batch_insert(@
acct_rt_transaction);
$cgi->param('error', $error) if $error;
</%init>
$cgi->param('error', $error) if $error;
</%init>