From 76460e5ae2b453efdbf6930170095618bb254d91 Mon Sep 17 00:00:00 2001 From: ivan Date: Sun, 12 Jul 2009 23:25:13 +0000 Subject: [PATCH] ACL on customer edit --- httemplate/edit/cust_main.cgi | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/httemplate/edit/cust_main.cgi b/httemplate/edit/cust_main.cgi index 7308c72da..575131424 100755 --- a/httemplate/edit/cust_main.cgi +++ b/httemplate/edit/cust_main.cgi @@ -199,8 +199,12 @@ function samechanged(what) { <%init> +my $curuser = $FS::CurrentUser::CurrentUser; + +#probably redundant given the checks below... die "access denied" - unless $FS::CurrentUser::CurrentUser->access_right('Edit customer'); + unless $curuser->access_right('New customer') + || $curuser->access_right('Edit customer'); my $conf = new FS::Conf; @@ -219,6 +223,10 @@ if ( $cgi->param('error') ) { } ); $custnum = $cust_main->custnum; + + die "access denied" + unless $curuser->access_right($custnum ? 'Edit customer' : 'New customer'); + @invoicing_list = split( /\s*,\s*/, $cgi->param('invoicing_list') ); $same = $cgi->param('same'); $cust_main->setfield('paid' => $cgi->param('paid')) if $cgi->param('paid'); @@ -245,6 +253,9 @@ if ( $cgi->param('error') ) { } elsif ( $cgi->keywords ) { #editing + die "access denied" + unless $curuser->access_right('Edit customer'); + my( $query ) = $cgi->keywords; $query =~ /^(\d+)$/; $custnum=$1; @@ -262,6 +273,9 @@ if ( $cgi->param('error') ) { } else { #new customer + die "access denied" + unless $curuser->access_right('New customer'); + $custnum=''; $cust_main = new FS::cust_main ( {} ); $cust_main->otaker( &getotaker ); -- 2.11.0