From: Jonathan Prykop Date: Thu, 9 Jul 2015 00:15:33 +0000 (-0500) Subject: RT#34078: Payment History Report / Statement [Fixes for acl and text preview] X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=commitdiff_plain;h=4f5619288413a185e9933088d9dd8c5afbc55dfa RT#34078: Payment History Report / Statement [Fixes for acl and text preview] --- diff --git a/FS/FS/cust_main.pm b/FS/FS/cust_main.pm index c6602c1a0..f55c3493c 100644 --- a/FS/FS/cust_main.pm +++ b/FS/FS/cust_main.pm @@ -4253,6 +4253,8 @@ sub payment_history { 'description' => 'Previous balance', 'amount' => sprintf("%.2f",$previous), 'balance' => sprintf("%.2f",$previous), + 'date' => $$opt{'start_date'}, + 'date_pretty' => $self->time2str_local('short', $$opt{'start_date'} ), }; #false laziness with above foreach my $key ( qw(amount balance) ) { diff --git a/httemplate/misc/email-customer-statement.html b/httemplate/misc/email-customer-statement.html index 65660f1be..92ce1c4d1 100644 --- a/httemplate/misc/email-customer-statement.html +++ b/httemplate/misc/email-customer-statement.html @@ -5,13 +5,17 @@ 'no_search_fields' => [ 'start_date', 'end_date' ], 'alternate_form' => $alternate_form, 'post_search_hook' => $post_search_hook, + 'acl' => $acl, + 'process_url' => 'process/email-customer-statement.html', ) %> <%init> +my $acl = 'Resend invoices'; + die "access denied" - unless $FS::CurrentUser::CurrentUser->access_right('View invoices'); + unless $FS::CurrentUser::CurrentUser->access_right($acl); my $alternate_form = sub { # this could maaaybe be a separate element, for cleanliness diff --git a/httemplate/misc/email-customers.html b/httemplate/misc/email-customers.html index 3327303e4..57f451fdc 100644 --- a/httemplate/misc/email-customers.html +++ b/httemplate/misc/email-customers.html @@ -10,8 +10,12 @@ This may also be used as an element in other pages, enabling you to provide an alternate initial form while using this for search freezing/thawing and preview/send actions, with the following options: +acl - the access right to use (defaults to 'Bulk send customer notices') + form_action - the URL to submit the form to +process_url - the URL for starting the JSRPC process + title - the title of the page no_search_fields - arrayref of additional fields that are not search parameters @@ -50,7 +54,7 @@ should be used to set msgnum or from/subject/html_body cgi params <% include('/elements/progress-init.html', 'OneTrueForm', [ qw( search table from subject html_body text_body msgnum ) ], - 'process/email-customers.html', + $process_url, $pdest, ) %> @@ -90,7 +94,7 @@ should be used to set msgnum or from/subject/html_body cgi params - Message (HTML display): + Message (HTML display): <% $html_body %> @@ -101,8 +105,11 @@ should be used to set msgnum or from/subject/html_body cgi params % ); - Message (Text display): -
<% $text_body %>
+ Message (Text display): + + click to view + + @@ -192,13 +199,16 @@ Template: my %opt = @_; +$opt{'acl'} ||= 'Bulk send customer notices'; + die "access denied" - unless $FS::CurrentUser::CurrentUser->access_right('Bulk send customer notices'); + unless $FS::CurrentUser::CurrentUser->access_right($opt{'acl'}); my $conf = FS::Conf->new; my @no_search_fields = qw( action table from subject html_body text_body popup url ); my $form_action = $opt{'form_action'} || 'email-customers.html'; +my $process_url = $opt{'process_url'} || 'process/email-customers.html'; my $title = $opt{'title'} || 'Send customer notices'; push( @no_search_fields, @{$opt{'no_search_fields'}} ) if $opt{'no_search_fields'}; diff --git a/httemplate/misc/process/email-customer-statement.html b/httemplate/misc/process/email-customer-statement.html new file mode 100644 index 000000000..40a8a702a --- /dev/null +++ b/httemplate/misc/process/email-customer-statement.html @@ -0,0 +1,9 @@ +<% $server->process %> +<%init> + +die "access denied" + unless $FS::CurrentUser::CurrentUser->access_right('Resend invoices'); + +my $server = new FS::UI::Web::JSRPC 'FS::cust_main_Mixin::process_email_search_result', $cgi; + + diff --git a/httemplate/view/cust_main/menu.html b/httemplate/view/cust_main/menu.html index 9486c24e0..ab56bcfcb 100644 --- a/httemplate/view/cust_main/menu.html +++ b/httemplate/view/cust_main/menu.html @@ -493,7 +493,7 @@ my @menu = ( uri_escape($cgi->self_url); }, condition => sub { $invoicing_list_emailonly }, - acl => [ 'View invoices', 'Bulk send customer notices' ], + acl => 'Resend invoices', }, ], [