From d793ab5b5050e29654183b6d0a645f934bb87df0 Mon Sep 17 00:00:00 2001 From: Jonathan Prykop Date: Fri, 23 Oct 2015 20:46:01 -0500 Subject: [PATCH] RT#38533: One click re-send refund,payment receipt, invoice [v3 merge] --- httemplate/elements/popup_link_onclick.html | 14 ++++++++------ httemplate/misc/send-invoice.cgi | 10 +++++++++- httemplate/view/cust_main.cgi | 8 ++++++++ httemplate/view/cust_main/payment_history.html | 3 ++- httemplate/view/cust_main/payment_history/invoice.html | 11 ++++++++++- httemplate/view/cust_main/payment_history/payment.html | 9 ++++++++- httemplate/view/cust_main/payment_history/refund.html | 9 ++++++++- 7 files changed, 53 insertions(+), 11 deletions(-) diff --git a/httemplate/elements/popup_link_onclick.html b/httemplate/elements/popup_link_onclick.html index 09ce93e7a..783e7a2c9 100644 --- a/httemplate/elements/popup_link_onclick.html +++ b/httemplate/elements/popup_link_onclick.html @@ -9,12 +9,13 @@ Example: #required 'action' => 'content.html', # uri for content of popup - #alternately, use instead of action - 'js_action' => 'url', # javascript variable or expression - #strongly recommended 'actionlabel => 'You clicked', # popup title + #alternately, use instead of action, values will be passed unquoted to overlib + 'js_action' => 'url', # javascript variable or expression + 'js_actionlabel' => 'actionlabel', # javascript variable or expression + #opt 'width' => 540, 'height' => 336, @@ -50,9 +51,10 @@ if (ref($_[0]) eq 'HASH') { $params = { @_ }; } -$action = q(') . $params->{'action'} . q(') if exists $params->{'action'}; +$action = q(') . $params->{'action'} . q('); $action = $params->{'js_action'} if exists $params->{'js_action'}; -$actionlabel = $params->{'actionlabel'} if exists $params->{'actionlabel'}; +$actionlabel = q(') . $params->{'actionlabel'} . q('); +$actionlabel = $params->{'js_actionlabel'} if exists $params->{'js_actionlabel'}; $width = $params->{'width'} if exists $params->{'width'}; $height = $params->{'height'} if exists $params->{'height'}; $color = $params->{'color'} if exists $params->{'color'}; @@ -66,7 +68,7 @@ my $popup_name = 'popup-'.random_id(); my $onclick = "overlib( OLiframeContent($action, $width, $height, '$popup_name', 0, '$scrolling' ), ". - "CAPTION, '$actionlabel', STICKY, AUTOSTATUSCAP, MIDX, 0, MIDY, 0, ". + "CAPTION, $actionlabel, STICKY, AUTOSTATUSCAP, MIDX, 0, MIDY, 0, ". "DRAGGABLE, CLOSECLICK, ". "BGCOLOR, '$color', CGCOLOR, '$color', CLOSETEXT, '$closetext'". ( $frame ? ", FRAME, $frame" : '' ). diff --git a/httemplate/misc/send-invoice.cgi b/httemplate/misc/send-invoice.cgi index dd9c3ade2..435875348 100644 --- a/httemplate/misc/send-invoice.cgi +++ b/httemplate/misc/send-invoice.cgi @@ -1,4 +1,12 @@ -% if ( $error ) { +% if ($cgi->param('popup')) { +% my $title = $error ? 'Error sending invoice email' : 'Invoice email sent'; +<% include('/elements/header-popup.html', $title ) %> +
+<% $error %>
+ +
+<% include('/elements/footer.html') %> +% } elsif ( $error ) { % errorpage($error); % } else { <% $cgi->redirect("${p}view/cust_main.cgi?$custnum") %> diff --git a/httemplate/view/cust_main.cgi b/httemplate/view/cust_main.cgi index cd8b0289f..287658f70 100755 --- a/httemplate/view/cust_main.cgi +++ b/httemplate/view/cust_main.cgi @@ -38,6 +38,14 @@ function areyousure(href, message) { if (confirm(message) == true) window.location.href = href; } +function areyousure_popup(message, action, actionlabel) { + if (confirm(message) == true) { +<% include('/elements/popup_link_onclick.html', + 'js_action' => 'action', + 'js_actionlabel' => 'actionlabel', + ) %> + } +} diff --git a/httemplate/view/cust_main/payment_history.html b/httemplate/view/cust_main/payment_history.html index 1cd838604..5418fb8e5 100644 --- a/httemplate/view/cust_main/payment_history.html +++ b/httemplate/view/cust_main/payment_history.html @@ -430,7 +430,7 @@ my %opt = ( #rights ( map { $_ => $curuser->access_right($_) } ( - 'View invoices', 'Void invoices', 'Unvoid invoices', 'Delete invoices', + 'View invoices', 'Void invoices', 'Unvoid invoices', 'Delete invoices', 'Resend invoices', 'Apply payment', 'Refund credit card payment', 'Refund Echeck payment', 'Post refund', 'Post check refund', 'Post cash refund ', 'Refund payment', 'Credit card void', 'Echeck void', 'Void payments', 'Unvoid payments', @@ -444,6 +444,7 @@ my %opt = ( #customer information 'total_owed' => $cust_main->total_owed, 'total_unapplied_refunds' => $cust_main->total_unapplied_refunds, + 'has_email_address' => scalar($cust_main->invoicing_list_emailonly), ); $opt{'date_format'} ||= '%m/%d/%Y'; diff --git a/httemplate/view/cust_main/payment_history/invoice.html b/httemplate/view/cust_main/payment_history/invoice.html index acb1d6956..925b8b473 100644 --- a/httemplate/view/cust_main/payment_history/invoice.html +++ b/httemplate/view/cust_main/payment_history/invoice.html @@ -1,4 +1,4 @@ -<% $link %><% $invoice %><% $link ? '' : '' %><% "$void$delete$under" %> +<% $link %><% $invoice %><% $link ? '' : '' %><% "$email$void$delete$under" %> <%init> my( $cust_bill, %opt ) = @_; @@ -42,6 +42,15 @@ $delete = areyousure_link("${p}misc/delete-cust_bill.html?$invnum", ) if ( $opt{'deleteinvoices'} && $opt{'Delete invoices'} ); +my $email = ($opt{'has_email_address'} && $opt{'Resend invoices'}) ? + q! (invnum. + q!','Email Invoice Receipt')" TITLE="Send email receipt">email receipt)! + : ''; + my $events = ''; if ( $cust_bill->num_cust_event && ($opt{'Billing event reports'} || $opt{'View customer billing events'}) diff --git a/httemplate/view/cust_main/payment_history/payment.html b/httemplate/view/cust_main/payment_history/payment.html index 0ed2f8003..652001789 100644 --- a/httemplate/view/cust_main/payment_history/payment.html +++ b/httemplate/view/cust_main/payment_history/payment.html @@ -1,5 +1,5 @@ <% $payment. ' '. $info. $desc. - $view. $change_pkg. $apply. $refund. $void. $delete. $unapply + $view. $email. $change_pkg. $apply. $refund. $void. $delete. $unapply %> <%init> @@ -139,6 +139,13 @@ my $view = ). ')'; +my $email = $opt{'has_email_address'} ? + q! (paynum. + q!','Email Payment Receipt')" TITLE="Send email receipt">email receipt)! + : ''; + my $change_pkg = ''; if ( $apply && $opt{'pkg-balances'} && $cust_pay->pkgnum ) { $change_pkg = diff --git a/httemplate/view/cust_main/payment_history/refund.html b/httemplate/view/cust_main/payment_history/refund.html index fc2a5ccf0..e82df90dc 100644 --- a/httemplate/view/cust_main/payment_history/refund.html +++ b/httemplate/view/cust_main/payment_history/refund.html @@ -1,6 +1,6 @@ <% $refund %> (<% "$payby$payinfo" %>) -<% "$view$delete" %> +<% "$view$email$delete" %> <%init> my( $cust_refund, %opt ) = @_; @@ -26,6 +26,13 @@ my $view = ). ')'; +my $email = $opt{'has_email_address'} ? + q! (refundnum. + q!','Email Refund Receipt')" TITLE="Send email receipt">email receipt)! + : ''; + my $delete = ''; $delete = areyousure_link("${p}misc/delete-cust_refund.cgi?".$cust_refund->refundnum, emt('Are you sure you want to delete this refund?'), -- 2.11.0