X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fedit%2Faccess_user.html;h=b087943c29e263d3fa3edb255b3d8d6e69957f34;hb=91dbe4c3834f38d428367d9a1e2c6cf9ea9d84a4;hp=22cf8962114beb7445b1736e7aaf11a0b3c14429;hpb=d6ceba35bf9daae75484c4d2296e623b294093ea;p=freeside.git diff --git a/httemplate/edit/access_user.html b/httemplate/edit/access_user.html index 22cf89621..b087943c2 100644 --- a/httemplate/edit/access_user.html +++ b/httemplate/edit/access_user.html @@ -3,8 +3,7 @@ 'table' => 'access_user', 'fields' => [ 'username', - { field=>'_password', type=>'password' }, - { field=>'_password2', type=>'password' }, + @pw_fields, 'last', 'first', { field=>'user_custnum', type=>'search-cust_main', }, @@ -20,9 +19,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 { @@ -51,6 +49,13 @@ die "access denied" unless $FS::CurrentUser::CurrentUser->access_right('Configuration'); +my @pw_fields = + FS::Auth->auth_class->can('change_password') + ? ( { field=>'_password', type=>'password' }, + { field=>'_password2', type=>'password' }, + ) + : (); + my $check_user_custnum_search = < function check_user_custnum_search(what) { @@ -62,4 +67,17 @@ my $check_user_custnum_search = < 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; + } +} +