projects
/
freeside.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
0496974
)
RT#34078: Payment History Report / Statement [Fixes for acl and text preview]
author
Jonathan Prykop
<jonathan@freeside.biz>
Thu, 9 Jul 2015 00:15:33 +0000
(19:15 -0500)
committer
Jonathan Prykop
<jonathan@freeside.biz>
Thu, 9 Jul 2015 00:15:33 +0000
(19:15 -0500)
FS/FS/cust_main.pm
patch
|
blob
|
history
httemplate/misc/email-customer-statement.html
patch
|
blob
|
history
httemplate/misc/email-customers.html
patch
|
blob
|
history
httemplate/misc/process/email-customer-statement.html
[new file with mode: 0644]
patch
|
blob
httemplate/view/cust_main/menu.html
patch
|
blob
|
history
diff --git
a/FS/FS/cust_main.pm
b/FS/FS/cust_main.pm
index
c6602c1
..
f55c349
100644
(file)
--- 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),
'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) ) {
};
#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
65660f1
..
92ce1c4
100644
(file)
--- 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,
'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>
)
%>
<%init>
+my $acl = 'Resend invoices';
+
die "access denied"
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
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
3327303
..
57f451f
100644
(file)
--- 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:
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
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
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 ) ],
<% include('/elements/progress-init.html',
'OneTrueForm',
[ qw( search table from subject html_body text_body msgnum ) ],
-
'process/email-customers.html'
,
+
$process_url
,
$pdest,
)
%>
$pdest,
)
%>
@@
-90,7
+94,7
@@
should be used to set msgnum or from/subject/html_body cgi params
<INPUT TYPE="hidden" NAME="html_body" VALUE="<% $html_body |h %>">
<TR>
<INPUT TYPE="hidden" NAME="html_body" VALUE="<% $html_body |h %>">
<TR>
- <T
D
ALIGN="right" VALIGN="top">Message (HTML display): </TD>
+ <T
H
ALIGN="right" VALIGN="top">Message (HTML display): </TD>
<TD CLASS="background" ALIGN="left"><% $html_body %></TD>
</TR>
<TD CLASS="background" ALIGN="left"><% $html_body %></TD>
</TR>
@@
-101,8
+105,11
@@
should be used to set msgnum or from/subject/html_body cgi params
% );
<INPUT TYPE="hidden" NAME="text_body" VALUE="<% $text_body |h %>">
<TR>
% );
<INPUT TYPE="hidden" NAME="text_body" VALUE="<% $text_body |h %>">
<TR>
- <TD ALIGN="right" VALIGN="top">Message (Text display): </TD>
- <TD CLASS="background" STYLE="background-color:white" ALIGN="left"><PRE><% $text_body %></PRE></TD>
+ <TH ALIGN="right" VALIGN="top">Message (Text display): </TD>
+ <TD CLASS="background" STYLE="background-color:white" ALIGN="left">
+ <a href="javascript:void(0)" onclick="this.style.display='none'; document.getElementById('email-message-text').style.display=''">click to view</a>
+ <PRE id="email-message-text" style="display: none;"><% $text_body %></PRE>
+ </TD>
</TR>
</TABLE>
</TR>
</TABLE>
@@
-192,13
+199,16
@@
Template:
my %opt = @_;
my %opt = @_;
+$opt{'acl'} ||= 'Bulk send customer notices';
+
die "access denied"
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 $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'};
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
(file)
index 0000000..
40a8a70
--- /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;
+
+</%init>
diff --git
a/httemplate/view/cust_main/menu.html
b/httemplate/view/cust_main/menu.html
index
9486c24
..
ab56bcf
100644
(file)
--- 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 },
uri_escape($cgi->self_url);
},
condition => sub { $invoicing_list_emailonly },
- acl =>
[ 'View invoices', 'Bulk send customer notices' ]
,
+ acl =>
'Resend invoices'
,
},
],
[
},
],
[