diff options
author | Ivan Kohler <ivan@freeside.biz> | 2017-06-02 14:22:22 -0700 |
---|---|---|
committer | Ivan Kohler <ivan@freeside.biz> | 2017-06-02 14:22:22 -0700 |
commit | 7e025dc076379f89e91803ec58d1a0d95cb02d1f (patch) | |
tree | c9b3fc4bc80472c2051f633cfb59a537e5420aed | |
parent | 300ff26285e8de055a71d11df5d2954d5837a6b2 (diff) |
separate ACL for editing customer invoice terms, RT#75759
-rw-r--r-- | FS/FS/cust_main.pm | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/FS/FS/cust_main.pm b/FS/FS/cust_main.pm index 640eee359..23d54b607 100644 --- a/FS/FS/cust_main.pm +++ b/FS/FS/cust_main.pm @@ -377,6 +377,10 @@ sub insert { join(', ', map { "$_: $options{$_}" } keys %options ). "\n" if $DEBUG; + return "You are not permitted to change customer invoicing terms." + if $self->invoice_terms #i.e. not the default + && ! $FS::CurrentUser::CurrentUser->access_right('Edit customer invoice terms'); + local $SIG{HUP} = 'IGNORE'; local $SIG{INT} = 'IGNORE'; local $SIG{QUIT} = 'IGNORE'; @@ -1385,6 +1389,10 @@ sub replace { && ! $self->locale && $conf->exists('cust_main-require_locale'); + return "You are not permitted to change customer invoicing terms." + if $old->invoice_terms ne $self->invoice_terms + && ! $curuser->access_right('Edit customer invoice terms'); + local $SIG{HUP} = 'IGNORE'; local $SIG{INT} = 'IGNORE'; local $SIG{QUIT} = 'IGNORE'; |