summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Kohler <ivan@freeside.biz>2014-02-15 14:42:24 -0800
committerIvan Kohler <ivan@freeside.biz>2014-02-15 14:42:24 -0800
commit1d92f6927bf5dd1b2d48041bba913cab881ff6c9 (patch)
treef35577b87e7887907745d6c544340216a0ef8a68
parent6c298097f93537b6533ccd50f87a11c1ce1d50b8 (diff)
add "Edit package definition costs" ACL, RT#27140
-rw-r--r--FS/FS/AccessRight.pm3
-rw-r--r--FS/FS/access_right.pm1
-rwxr-xr-xhttemplate/edit/part_pkg.cgi11
3 files changed, 12 insertions, 3 deletions
diff --git a/FS/FS/AccessRight.pm b/FS/FS/AccessRight.pm
index 1c24bf5..9de9eac 100644
--- a/FS/FS/AccessRight.pm
+++ b/FS/FS/AccessRight.pm
@@ -352,7 +352,8 @@ tie my %rights, 'Tie::IxHash',
'Edit package definitions',
{ rightname=>'Edit global package definitions', global=>1 },
-
+ 'Edit package definition costs',
+
'Bulk edit package definitions',
'Edit billing events',
diff --git a/FS/FS/access_right.pm b/FS/FS/access_right.pm
index 7b3ca3f..0906c0c 100644
--- a/FS/FS/access_right.pm
+++ b/FS/FS/access_right.pm
@@ -243,6 +243,7 @@ sub _upgrade_data { # class method
'Configuration' => 'Alarm global configuration',
'Services: Accounts' => 'Services: Conferencing',
'Services: Accounts' => 'Services: Video',
+ 'Edit global package definitions' => 'Edit package definition costs',
);
# foreach my $old_acl ( keys %onetime ) {
diff --git a/httemplate/edit/part_pkg.cgi b/httemplate/edit/part_pkg.cgi
index 2ec3481..cabaf0a 100755
--- a/httemplate/edit/part_pkg.cgi
+++ b/httemplate/edit/part_pkg.cgi
@@ -200,8 +200,15 @@
{ type => 'tablebreak-tr-title',
value => 'Cost tracking', #better name?
},
- { field=>'setup_cost', type=>'money', },
- { field=>'recur_cost', type=>'money', },
+
+ ( $curuser->access_right('Edit package definition costs')
+ ? ( { field=>'setup_cost', type=>'money', },
+ { field=>'recur_cost', type=>'money', },
+ )
+ : ( { field=>'setup_cost', type=>'fixed', },
+ { field=>'recur_cost', type=>'fixed', },
+ )
+ ),
( $conf->exists('part_pkg-delay_start')
? ( { type => 'tablebreak-tr-title',