diff options
author | mark <mark> | 2010-10-04 22:17:22 +0000 |
---|---|---|
committer | mark <mark> | 2010-10-04 22:17:22 +0000 |
commit | 22136ecc8353ff82c9a402218ce849db6cf05dab (patch) | |
tree | 209f07565e700c1749ac6645768c9513b0dc7bd8 /httemplate/edit | |
parent | 594f6993d818db68b15ecfb6c339e5d23be50950 (diff) |
fs_ system accounts, RT#8731
Diffstat (limited to 'httemplate/edit')
-rw-r--r-- | httemplate/edit/access_user.html | 18 | ||||
-rw-r--r-- | httemplate/edit/process/access_user.html | 10 |
2 files changed, 25 insertions, 3 deletions
diff --git a/httemplate/edit/access_user.html b/httemplate/edit/access_user.html index 22cf89621..86ce25374 100644 --- a/httemplate/edit/access_user.html +++ b/httemplate/edit/access_user.html @@ -20,9 +20,8 @@ 'user_custnum' => 'Customer (optional)', 'disabled' => 'Disable employee', }, - 'edit_callback' => sub { my( $c, $o ) = @_; - $o->set('_password', ''); - }, + 'edit_callback' => \&edit_callback, + 'field_callback'=> \&field_callback, 'viewall_dir' => 'browse', 'html_bottom' => sub { @@ -62,4 +61,17 @@ my $check_user_custnum_search = <<END; </SCRIPT> END +sub edit_callback { + my ($c, $o, $f, $opt) = @_; + $o->set('_password', ''); +} + +sub field_callback { + my ($c, $o, $f) = @_; + if($f->{'type'} eq 'password' and $o->is_system_user) { + $f->{'type'} = 'hidden'; + $f->{'disabled'} = 1; + } +} + </%init> diff --git a/httemplate/edit/process/access_user.html b/httemplate/edit/process/access_user.html index e6258a9b1..8e7e70a06 100644 --- a/httemplate/edit/process/access_user.html +++ b/httemplate/edit/process/access_user.html @@ -10,6 +10,7 @@ 'process_m2m' => { 'link_table' => 'access_usergroup', 'target_table' => 'access_group', }, + 'precheck_callback'=> \&precheck_callback, ) %> % } @@ -23,4 +24,13 @@ if ( FS::Conf->new->exists('disable_acl_changes') ) { die "shouldn't be reached"; } +sub precheck_callback { + my $cgi = shift; + my $o = FS::access_user->new({username => $cgi->param('username')}); + if( $o->is_system_user and !$cgi->param('usernum') ) { + $cgi->param('username',''); + return "username '".$o->username."' reserved for system account." + } + return ''; +} </%init> |