summaryrefslogtreecommitdiff
path: root/FS
diff options
context:
space:
mode:
authorivan <ivan>2011-06-23 23:19:27 +0000
committerivan <ivan>2011-06-23 23:19:27 +0000
commit350d21e77152b1da498ef88c1055e847420bcce1 (patch)
tree8afed07dc6d387cef2de1cc1a974d1c8e0c83e80 /FS
parenta20e31a07a418a9b962111ce18491b84fa343448 (diff)
add svc_acct-no_edit_username config, RT#13416
Diffstat (limited to 'FS')
-rw-r--r--FS/FS/Conf.pm7
-rw-r--r--FS/FS/svc_acct.pm4
2 files changed, 11 insertions, 0 deletions
diff --git a/FS/FS/Conf.pm b/FS/FS/Conf.pm
index ac0f94cf2..7d9d6c736 100644
--- a/FS/FS/Conf.pm
+++ b/FS/FS/Conf.pm
@@ -2904,6 +2904,13 @@ and customer address. Include units.',
},
{
+ 'key' => 'svc_acct-no_edit_username',
+ 'section' => 'shell',
+ 'description' => 'Disallow username editing.',
+ 'type' => 'checkbox',
+ },
+
+ {
'key' => 'zone-underscore',
'section' => 'BIND',
'description' => 'Allow underscores in zone names. As underscores are illegal characters in zone names, this option is not recommended.',
diff --git a/FS/FS/svc_acct.pm b/FS/FS/svc_acct.pm
index 1c4b574e9..9a2f0092b 100644
--- a/FS/FS/svc_acct.pm
+++ b/FS/FS/svc_acct.pm
@@ -993,6 +993,10 @@ sub replace {
}
+ return "can't change username"
+ if $old->username ne $new->username
+ && $conf->exists('svc_acct-no_edit_username');
+
#change homdir when we change username
$new->setfield('dir', '') if $old->username ne $new->username;