diff options
-rw-r--r-- | FS/FS/AccessRight.pm | 1 | ||||
-rw-r--r-- | FS/FS/access_right.pm | 1 | ||||
-rwxr-xr-x | httemplate/edit/cust_pay.cgi | 10 | ||||
-rwxr-xr-x | httemplate/edit/process/cust_pay.cgi | 8 |
4 files changed, 19 insertions, 1 deletions
diff --git a/FS/FS/AccessRight.pm b/FS/FS/AccessRight.pm index 8a13ab3ed..a39fb37af 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 815c6d9bd..719577f50 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 7a1bb00fa..f0826f652 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 06f5e64d5..8664883c1 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, |