X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=httemplate%2Fmisc%2Fpayment.cgi;h=35f57e8d6dd9498d4b38fd93d9f05de586b9b069;hp=ac102826a48f4740589d39b66d0c560affd3d1bb;hb=eb1ff5885cd1abf6c94cfcb0f46de7c651f50ac9;hpb=0ddbeb00fa8c2d777d8344ee690054bb7d382c6c
diff --git a/httemplate/misc/payment.cgi b/httemplate/misc/payment.cgi
index ac102826a..35f57e8d6 100644
--- a/httemplate/misc/payment.cgi
+++ b/httemplate/misc/payment.cgi
@@ -1,248 +1,370 @@
-%
-% my %type = ( 'CARD' => 'credit card',
-% 'CHEK' => 'electronic check (ACH)',
-% );
-%
-% $cgi->param('payby') =~ /^(CARD|CHEK)$/
-% or die "unknown payby ". $cgi->param('payby');
-% my $payby = $1;
-%
-% $cgi->param('custnum') =~ /^(\d+)$/
-% or die "illegal custnum ". $cgi->param('custnum');
-% my $custnum = $1;
-%
-% my $cust_main = qsearchs( 'cust_main', { 'custnum'=>$custnum } );
-% die "unknown custnum $custnum" unless $cust_main;
-%
-% my $balance = $cust_main->balance;
-%
-% my $payinfo = '';
-%
-% #false laziness w/selfservice make_payment.html shortcut for one-country
-% my $conf = new FS::Conf;
-% my %states = map { $_->state => 1 }
-% qsearch('cust_main_county', {
-% 'country' => $conf->config('countrydefault') || 'US'
-% } );
-% my @states = sort { $a cmp $b } keys %states;
-%
-% my $paybatch = "webui-payment-". time. "-$$-". rand() * 2**32;
-%
-%
+<& /elements/header-cust_main.html, view=>'payment_history', cust_main=>$cust_main &>
+
+
-<% include('/elements/footer.html') %>
+<& /elements/footer-cust_main.html &>
+<%once>
+
+my %weight = (
+ 1 => 'Primary',
+ 2 => 'Secondary',
+ 3 => 'Tertiary',
+ 4 => 'Fourth',
+ 5 => 'Fifth',
+ 6 => 'Sixth',
+ 7 => 'Seventh',
+);
+
+%once>
+<%init>
+
+die "access denied"
+ unless $FS::CurrentUser::CurrentUser->access_right('Process payment');
+
+my %type = ( 'CARD' => 'credit card',
+ 'CHEK' => 'electronic check (ACH)',
+ );
+
+$cgi->param('payby') =~ /^(CARD|CHEK)$/
+ or die "unknown payby ". $cgi->param('payby');
+my $payby = $1;
+
+$cgi->param('custnum') =~ /^(\d+)$/
+ or die "illegal custnum ". $cgi->param('custnum');
+my $custnum = $1;
+
+my $cust_main = qsearchs( 'cust_main', { 'custnum'=>$custnum } );
+die "unknown custnum $custnum" unless $cust_main;
+
+my $balance = $cust_main->balance;
+
+my $payinfo = '';
+
+my $conf = new FS::Conf;
+
+#false laziness w/selfservice make_payment.html shortcut for one-country
+my %states = map { $_->state => 1 }
+ qsearch('cust_main_county', {
+ 'country' => $conf->config('countrydefault') || 'US'
+ } );
+my @states = sort { $a cmp $b } keys %states;
+
+my $amount = '';
+if ( $balance > 0 ) {
+ # when configured to do so, amount will only auto-fill with balance
+ # if balance represents a single invoice
+ $amount = $balance
+ unless $conf->exists('manual_process-single_invoice_amount')
+ && ($cust_main->open_cust_bill != 1);
+}
+
+my $payunique = "webui-payment-". time. "-$$-". rand() * 2**32;
+
+%init>