summaryrefslogtreecommitdiff
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
parenta20e31a07a418a9b962111ce18491b84fa343448 (diff)
add svc_acct-no_edit_username config, RT#13416
-rw-r--r--FS/FS/Conf.pm7
-rw-r--r--FS/FS/svc_acct.pm4
-rwxr-xr-xhttemplate/edit/svc_acct.cgi11
3 files changed, 19 insertions, 3 deletions
diff --git a/FS/FS/Conf.pm b/FS/FS/Conf.pm
index ac0f94c..7d9d6c7 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 1c4b574..9a2f009 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;
diff --git a/httemplate/edit/svc_acct.cgi b/httemplate/edit/svc_acct.cgi
index 33e5d04..230a2a5 100755
--- a/httemplate/edit/svc_acct.cgi
+++ b/httemplate/edit/svc_acct.cgi
@@ -45,9 +45,14 @@ function randomPass() {
<TR>
<TD ALIGN="right"><% mt('Username') |h %></TD>
- <TD>
- <INPUT TYPE="text" NAME="username" VALUE="<% $username %>" SIZE=<% $ulen2 %> MAXLENGTH=<% $ulen %>>
- </TD>
+% if ( $conf->exists('svc_acct-no_edit_username') ) {
+ <TD BGCOLOR="#eeeeee"><% $svc_acct->username() %></TD>
+ <INPUT TYPE="hidden" NAME="username" VALUE="<% $username %>">
+% } else {
+ <TD>
+ <INPUT TYPE="text" NAME="username" VALUE="<% $username %>" SIZE=<% $ulen2 %> MAXLENGTH=<% $ulen %>>
+ </TD>
+% }
</TR>
%if ( $part_svc->part_svc_column('_password')->columnflag ne 'F' ) {