X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fedit%2Faccess_user.html;h=b087943c29e263d3fa3edb255b3d8d6e69957f34;hb=3be3194b8429383cf47fde8ea662327a0a60d8b0;hp=cbced75b1b40d4c0854841c5bc9b3305d60986b0;hpb=9d69622a6bd83de2add9c2ba9accfe435993bbb1;p=freeside.git diff --git a/httemplate/edit/access_user.html b/httemplate/edit/access_user.html index cbced75b1..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', }, @@ -14,15 +13,14 @@ 'usernum' => 'User number', 'username' => 'Username', '_password' => 'Password', - '_password2 '=> 'Re-enter Password', + '_password2' => 'Re-enter Password', 'last' => 'Last name', 'first' => 'First name', '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; + } +} +