X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fview%2Fcust_bill.cgi;h=d73edbd79aa0d26a19117c4c0eb0e66781a87f58;hb=9192ae1275e778f890d75c07066ddd2e4cabaa26;hp=4822ab718391f6a0f2f96014bf71d4c2986eb0b4;hpb=eb3bd392a89b8b666dc512951e78913c05b98810;p=freeside.git
diff --git a/httemplate/view/cust_bill.cgi b/httemplate/view/cust_bill.cgi
index 4822ab718..d73edbd79 100755
--- a/httemplate/view/cust_bill.cgi
+++ b/httemplate/view/cust_bill.cgi
@@ -2,30 +2,40 @@
emt("View this customer (#[_1])",$display_custnum) => "${p}view/cust_main.cgi?$custnum",
) &>
-% if ( $conf->exists('deleteinvoices')
-% && $curuser->access_right('Delete invoices' )
-% )
-% {
-
-
-
- <% mt('Delete this invoice') |h %>
-
+
+% if ( !$cust_bill->closed ) { # otherwise allow no changes
+% my $can_delete = $conf->exists('deleteinvoices')
+% && $curuser->access_right('Delete invoices');
+% my $can_void = $curuser->access_right('Void invoices');
+% if ( $can_void ) {
+ <& /elements/popup_link.html,
+ 'label' => emt('Void this invoice'),
+ 'actionlabel' => emt('Void this invoice'),
+ 'action' => $p.'misc/void-cust_bill.html?invnum='.$invnum,
+ &>
+% }
+% if ( $can_void and $can_delete ) {
+ |
+% }
+% if ( $can_delete ) {
+ \
+ <% emt('Delete this invoice') |h %>
+% }
+% if ( $can_void or $can_delete ) {
+
+% }
% }
% if ( $cust_bill->owed > 0
-% && scalar( grep $payby{$_}, qw(BILL CASH WEST MCRD) )
% && $curuser->access_right(['Post payment', 'Post check payment', 'Post cash payment'])
% && ! $conf->exists('pkg-balances')
% )
@@ -34,25 +44,30 @@
<% mt('Post') |h %>
-% if ( $payby{'BILL'} && $curuser->access_right(['Post payment', 'Post check payment']) ) {
+% if ( $curuser->access_right(['Post payment', 'Post check payment']) ) {
<% $s++ ? ' | ' : '' %>
<% mt('check') |h %>
% }
-% if ( $payby{'CASH'} && $curuser->access_right(['Post payment', 'Post cash payment']) ) {
+% if ( $curuser->access_right(['Post payment', 'Post cash payment']) ) {
<% $s++ ? ' | ' : '' %>
<% mt('cash') |h %>
% }
-% if ( $payby{'WEST'} && $curuser->access_right(['Post payment']) ) {
- <% $s++ ? ' | ' : '' %>
- <% mt('Western Union') |h %>
-% }
-
-% if ( $payby{'MCRD'} && $curuser->access_right(['Post payment']) ) {
- <% $s++ ? ' | ' : '' %>
- <% mt('manual credit card') |h %>
-% }
+%# % if ( $payby{'WEST'} && $curuser->access_right(['Post payment']) ) {
+%# <% $s++ ? ' | ' : '' %>
+%# <% mt('Western Union') |h %>
+%# % }
+%#
+%# % if ( $payby{'MCRD'} && $curuser->access_right(['Post payment']) ) {
+%# <% $s++ ? ' | ' : '' %>
+%# <% mt('manual credit card') |h %>
+%# % }
+%#
+%# % if ( $payby{'MCHK'} && $curuser->access_right(['Post payment']) ) {
+%# <% $s++ ? ' | ' : '' %>
+%# <% mt('manual electronic check') |h %>
+%# % }
<% mt('payment against this invoice') |h %>
@@ -106,10 +121,6 @@
( <% mt('View invoice events') |h %> )
% }
-% if ( $cust_bill->num_cust_bill_event ) { $br++;
-( <% mt('View deprecated, old-style invoice events') |h %> )
-% }
-
% my @modes = grep {! $_->disabled}
% $cust_bill->cust_main->agent->invoice_modes;
% if ( @modes ) {
@@ -135,10 +146,10 @@ function change_invoice_mode(obj) {
<% $br ? '
' : '' %>
-% if ( $conf->exists('invoice_html') ) {
+% if ( $conf->exists('invoice_html') && ! $cgi->param('plaintext') ) {
<% join('', $cust_bill->print_html(\%opt) ) %>
% } else {
-
<% join('', $cust_bill->print_text(\%opt) ) %>+
<% join('', $cust_bill->print_text(\%opt) ) |h %>% } <& /elements/footer.html &> @@ -172,12 +183,6 @@ my %opt = ( $opt{'barcode_img'} = 1 if $conf->exists('invoice-barcode'); -my @payby = grep /\w/, $conf->config('payby'); -#@payby = (qw( CARD DCRD CHEK DCHK LECB BILL CASH WEST COMP )) -@payby = (qw( CARD DCRD CHEK DCHK LECB BILL CASH COMP )) - unless @payby; -my %payby = map { $_=>1 } @payby; - my $cust_bill = qsearchs({ 'select' => 'cust_bill.*', 'table' => 'cust_bill', @@ -185,6 +190,13 @@ my $cust_bill = qsearchs({ 'hashref' => { 'invnum' => $invnum }, 'extra_sql' => ' AND '. $curuser->agentnums_sql, }); +# if we're asked for a voided invnum, redirect appropriately +if (!$cust_bill and FS::cust_bill_void->row_exists("invnum = $invnum") ) { + $m->clear_buffer; + my $url = $p.'view/cust_bill_void.html?'.$cgi->query_string; + $m->print( $cgi->redirect($url) ); + $m->abort; +} die "Invoice #$invnum not found!" unless $cust_bill; $cust_bill->set('mode' => $mode);