diff options
Diffstat (limited to 'httemplate')
-rw-r--r-- | httemplate/misc/delete-cust_bill.html | 21 | ||||
-rwxr-xr-x | httemplate/view/cust_bill.cgi | 37 | ||||
-rw-r--r-- | httemplate/view/cust_main/payment_history/invoice.html | 16 |
3 files changed, 63 insertions, 11 deletions
diff --git a/httemplate/misc/delete-cust_bill.html b/httemplate/misc/delete-cust_bill.html new file mode 100644 index 000000000..3a642b0e9 --- /dev/null +++ b/httemplate/misc/delete-cust_bill.html @@ -0,0 +1,21 @@ +% if ( $error ) { +% errorpage($error); +% } else { +<% $cgi->redirect($p. "view/cust_main.cgi?". $custnum) %> +% } +<%init> + +die "access denied" + unless $FS::CurrentUser::CurrentUser->access_right('Delete invoices'); + +#untaint invnum +my($query) = $cgi->keywords; +$query =~ /^(\d+)$/ || die "Illegal crednum"; +my $invnum = $1; + +my $cust_bill = qsearchs('cust_bill',{'invnum'=>$invnum}); +my $custnum = $cust_bill->custnum; + +my $error = $cust_bill->delete; + +</%init> diff --git a/httemplate/view/cust_bill.cgi b/httemplate/view/cust_bill.cgi index 173d30bf2..fbb2cf94d 100755 --- a/httemplate/view/cust_bill.cgi +++ b/httemplate/view/cust_bill.cgi @@ -2,10 +2,31 @@ "View this customer (#$custnum)" => "${p}view/cust_main.cgi?$custnum", )) %> +% if ( $conf->exists('deleteinvoices') +% && $curuser->access_right('Delete invoices' ) +% ) +% { + + <SCRIPT TYPE="text/javascript"> + function areyousure(href, message) { + if (confirm(message) == true) + window.location.href = href; + } + </SCRIPT> + + <A HREF = "javascript:areyousure( + '<%$p%>misc/delete-cust_bill.html?<% $invnum %>', + 'Are you sure you want to delete this invoice?' + )" + TITLE = "Delete this invoice from the database completely" + >Delete this invoice</A> + <BR><BR> + +% } % if ( $cust_bill->owed > 0 % && scalar( grep $payby{$_}, qw(BILL CASH WEST MCRD) ) -% && $FS::CurrentUser::CurrentUser->access_right('Post payment') +% && $curuser->access_right('Post payment') % ) % { % my $s = 0; @@ -36,8 +57,7 @@ % } - -% if ( $FS::CurrentUser::CurrentUser->access_right('Resend invoices') ) { +% if ( $curuser->access_right('Resend invoices') ) { <A HREF="<% $p %>misc/print-invoice.cgi?<% $link %>">Re-print this invoice</A> @@ -53,10 +73,9 @@ % } - % if ( $conf->exists('invoice_latex') ) { - <A HREF="<% $p %>view/cust_bill-pdf.cgi?<% $link %>.pdf">View typeset invoice</A> + <A HREF="<% $p %>view/cust_bill-pdf.cgi?<% $link %>.pdf">View typeset invoice PDF</A> <BR><BR> % } % #false laziness with search/cust_bill_event.cgi @@ -127,8 +146,10 @@ <% include('/elements/footer.html') %> <%init> +my $curuser = $FS::CurrentUser::CurrentUser; + die "access denied" - unless $FS::CurrentUser::CurrentUser->access_right('View invoices'); + unless $curuser->access_right('View invoices'); #untaint invnum my($query) = $cgi->keywords; @@ -149,7 +170,7 @@ my $cust_bill = qsearchs({ 'table' => 'cust_bill', 'addl_from' => 'LEFT JOIN cust_main USING ( custnum )', 'hashref' => { 'invnum' => $invnum }, - 'extra_sql' => ' AND '. $FS::CurrentUser::CurrentUser->agentnums_sql, + 'extra_sql' => ' AND '. $curuser->agentnums_sql, }); die "Invoice #$invnum not found!" unless $cust_bill; @@ -160,5 +181,3 @@ my $custnum = $cust_bill->custnum; my $link = $templatename ? "$templatename-$invnum" : $invnum; </%init> - - diff --git a/httemplate/view/cust_main/payment_history/invoice.html b/httemplate/view/cust_main/payment_history/invoice.html index 0ccdeb85b..fe62be620 100644 --- a/httemplate/view/cust_main/payment_history/invoice.html +++ b/httemplate/view/cust_main/payment_history/invoice.html @@ -1,9 +1,11 @@ -<% $link %><% $pre %>Invoice #<% $invnum %> -(Balance $ <% $cust_bill->owed %>)<% $post %><% $link ? '</A>' : '' %><% $events %> +<% $link %><% $pre %>Invoice #<% $cust_bill->display_invnum %> +(Balance $ <% $cust_bill->owed %>)<% $post %><% $link ? '</A>' : '' %><% $delete %><% $events %> <%init> my( $cust_bill, %opt ) = @_; +my $conf = new FS::Conf; + my $curuser = $FS::CurrentUser::CurrentUser; my($pre, $post) = ('', ''); @@ -18,6 +20,16 @@ my $link = $curuser->access_right('View invoices') ? qq!<A HREF="${p}view/cust_bill.cgi?$invnum">! : ''; +my $delete = ''; +if ( $conf->exists('deleteinvoices') + && $curuser->access_right('Delete invoices') ) { + $delete = qq! (<A HREF="javascript:areyousure('!. + qq!${p}misc/delete-cust_bill.html?$invnum',!. + qq!'Are you sure you want to delete this invoice?')"!. + qq! TITLE="Delete this invoice from the database completely"!. + qq!>delete</A>)!; +} + my $events = ''; </%init> |