summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Robinson <miker@freeside.biz>2012-05-01 12:32:53 -0500
committerMike Robinson <miker@freeside.biz>2012-05-01 12:32:53 -0500
commitb3f48204012dd722912dcb3703908bd1eaf6df7b (patch)
treeede23149c6ed27f415627db7a4ef93d79666ed8c
parent1e2473f03c0fb15f1e56dc09ea3a94c5e5525a53 (diff)
17528: back-date payment access-right
-rw-r--r--FS/FS/AccessRight.pm1
-rw-r--r--FS/FS/access_right.pm1
-rwxr-xr-xhttemplate/edit/cust_pay.cgi10
-rwxr-xr-xhttemplate/edit/process/cust_pay.cgi8
4 files changed, 19 insertions, 1 deletions
diff --git a/FS/FS/AccessRight.pm b/FS/FS/AccessRight.pm
index 8a13ab3..a39fb37 100644
--- a/FS/FS/AccessRight.pm
+++ b/FS/FS/AccessRight.pm
@@ -188,6 +188,7 @@ tie my %rights, 'Tie::IxHash',
'Customer payment rights' => [
'View payments',
{ rightname=>'Post payment', desc=>'Make check or cash payments.' },
+ { rightname=>'Backdate payment', desc=>'Enable payments to be posted for days other than today.' },
'Post check payment',
'Post cash payment',
'Post payment batch',
diff --git a/FS/FS/access_right.pm b/FS/FS/access_right.pm
index 815c6d9..719577f 100644
--- a/FS/FS/access_right.pm
+++ b/FS/FS/access_right.pm
@@ -185,6 +185,7 @@ sub _upgrade_data { # class method
my %onetime = (
'List customers' => 'List all customers',
'List packages' => 'Summarize packages',
+ 'Post payment' => 'Backdate payment',
);
foreach my $old_acl ( keys %onetime ) {
diff --git a/httemplate/edit/cust_pay.cgi b/httemplate/edit/cust_pay.cgi
index 7a1bb00..f0826f6 100755
--- a/httemplate/edit/cust_pay.cgi
+++ b/httemplate/edit/cust_pay.cgi
@@ -23,6 +23,7 @@
<% mt('Payment') |h %>
<% ntable("#cccccc", 2) %>
+% if ( $FS::CurrentUser::CurrentUser->access_right(['Backdate payment']) ) {
<TR>
<TD ALIGN="right"><% mt('Date') |h %></TD>
<TD COLSPAN=2>
@@ -39,6 +40,15 @@
align: "BR"
});
</SCRIPT>
+% }
+% else {
+<TR>
+ <TD ALIGN="right"><% mt('Date') |h %></TD>
+ <TD COLSPAN=2>
+ <% time2str($date_format.' %r',$_date) %>
+ </TD>
+</TR>
+% }
<TR>
<TD ALIGN="right"><% mt('Amount') |h %></TD>
diff --git a/httemplate/edit/process/cust_pay.cgi b/httemplate/edit/process/cust_pay.cgi
index 06f5e64..8664883 100755
--- a/httemplate/edit/process/cust_pay.cgi
+++ b/httemplate/edit/process/cust_pay.cgi
@@ -39,7 +39,13 @@ $cgi->param('link') =~ /^(custnum|invnum|popup)$/
my $field = my $link = $1;
$field = 'custnum' if $field eq 'popup';
-my $_date = parse_datetime($cgi->param('_date'));
+my $_date;
+if ( $FS::CurrentUser::CurrentUser->access_right(['Backdate payment']) ) {
+ $_date = parse_datetime($cgi->param('_date'));
+}
+else {
+ $_date = time;
+}
my $new = new FS::cust_pay ( {
$field => $linknum,