summaryrefslogtreecommitdiff
path: root/httemplate/misc/process/recharge_svc.html
diff options
context:
space:
mode:
Diffstat (limited to 'httemplate/misc/process/recharge_svc.html')
-rwxr-xr-xhttemplate/misc/process/recharge_svc.html92
1 files changed, 0 insertions, 92 deletions
diff --git a/httemplate/misc/process/recharge_svc.html b/httemplate/misc/process/recharge_svc.html
deleted file mode 100755
index b56f8a282..000000000
--- a/httemplate/misc/process/recharge_svc.html
+++ /dev/null
@@ -1,92 +0,0 @@
-%if ($error) {
-% $cgi->param('error', $error);
-<% $cgi->redirect(popurl(2). "recharge_svc.html?". $cgi->query_string ) %>
-%} else {
-<% header("Package recharged") %>
- <SCRIPT TYPE="text/javascript">
- window.top.location.reload();
- </SCRIPT>
- </BODY></HTML>
-%}
-<%init>
-
-my $conf = new FS::Conf;
-
-die "access denied"
- unless $FS::CurrentUser::CurrentUser->access_right('Recharge customer service');
-
-#untaint svcnum
-my $svcnum = $cgi->param('svcnum');
-$svcnum =~ /^(\d+)$/ || die "Illegal svcnum";
-$svcnum = $1;
-
-#untaint prepaid
-my $prepaid = $cgi->param('prepaid');
-$prepaid =~ /^(\w*)$/;
-$prepaid = $1;
-
-#untaint payby
-my $payby = $cgi->param('payby');
-$payby =~ /^([A-Z]*)$/;
-$payby = $1;
-
-my $error = '';
-my $svc_acct = qsearchs( 'svc_acct', {'svcnum'=>$svcnum} );
-$error = "Can't recharge service $svcnum. " unless $svc_acct;
-
-my $cust_main = $svc_acct->cust_svc->cust_pkg->cust_main;
-
-my $oldAutoCommit = $FS::UID::AutoCommit;
-local $FS::UID::AutoCommit = 0;
-my $dbh = dbh;
-
-unless ($error) {
-
- #should probably use payby.pm but whatever
- if ($payby eq 'PREP') {
- $error = $cust_main->recharge_prepay( $prepaid );
- } elsif ( $payby =~ /^(CARD|DCRD|CHEK|DCHK|LECB|BILL|COMP)$/ ) {
- my $part_pkg = $svc_acct->cust_svc->cust_pkg->part_pkg;
- my $amount = $part_pkg->option('recharge_amount', 1);
- my %rhash = map { $_ =~ /^recharge_(.*)$/; $1, $part_pkg->option($_) }
- grep { $part_pkg->option($_, 1) }
- qw ( recharge_seconds recharge_upbytes recharge_downbytes
- recharge_totalbytes );
-
- my $description = "Recharge";
- $description .= " $rhash{seconds}s" if $rhash{seconds};
- $description .= " $rhash{upbytes} up" if $rhash{upbytes};
- $description .= " $rhash{downbytes} down" if $rhash{downbytes};
- $description .= " $rhash{totalbytes} total" if $rhash{totalbytes};
-
- $error = $cust_main->charge($amount, "Recharge " . $svc_acct->label,
- $description, $part_pkg->taxclass);
-
- $error ||= "invalid $_" foreach grep { $rhash{$_} !~ /^\d*$/ } keys %rhash;
- if ($part_pkg->option('recharge_reset', 1)) {
- $error ||= $svc_acct->set_usage(\%rhash, 'null' => 1);
- }else{
- $error ||= $svc_acct->recharge(\%rhash);
- }
-
- my $old_balance = $cust_main->balance;
- $error ||= $cust_main->bill;
- $error ||= $cust_main->apply_payments_and_credits;
- my $bill_error = $cust_main->collect('realtime' => 1) unless $error;
- $error ||= "Failed to collect - $bill_error"
- if $cust_main->balance > $old_balance && $cust_main->balance > 0
- && $payby ne 'BILL';
-
- } else {
- $error = "fatal error - unknown payby: $payby";
- }
-
-}
-
-if ($error) {
- $dbh->rollback if $oldAutoCommit;
-} else {
- $dbh->commit or die $dbh->errstr if $oldAutoCommit;
-}
-
-</%init>