From: Mike Robinson Date: Tue, 1 May 2012 17:32:53 +0000 (-0500) Subject: 17528: back-date payment access-right X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=commitdiff_plain;h=b3f48204012dd722912dcb3703908bd1eaf6df7b 17528: back-date payment access-right --- 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']) ) { <% mt('Date') |h %> @@ -39,6 +40,15 @@ align: "BR" }); +% } +% else { + + <% mt('Date') |h %> + + <% time2str($date_format.' %r',$_date) %> + + +% } <% mt('Amount') |h %> 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,