From: Ivan Kohler Date: Thu, 2 Aug 2018 19:59:15 +0000 (-0700) Subject: fix editing employee pw, RT#32456 X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=commitdiff_plain;h=8944f813b2d664b38bcbe349ac6897a0314e3b9d fix editing employee pw, RT#32456 --- diff --git a/httemplate/edit/process/access_user.html b/httemplate/edit/process/access_user.html index fcd210f83..d589c620e 100644 --- a/httemplate/edit/process/access_user.html +++ b/httemplate/edit/process/access_user.html @@ -11,7 +11,7 @@ 'target_table' => 'access_group', }, 'precheck_callback' => \&precheck_callback, - #'post_new_object_callback' => \&post_new_object_callback, + 'post_new_object_callback' => \&post_new_object_callback, 'noerror_callback' => \&noerror_callback, ) %> @@ -38,24 +38,19 @@ sub precheck_callback { return ''; } -#sub post_new_object_callback { -# my( $cgi, $access_user ) = @_; -# -# if ( length($cgi->param('_password')) ) { -# my $password = scalar($cgi->param('_password')); -# my $error = $access_user->is_password_allowed($password); -# #XXX and then bubble the error back up to the UI -# } -#} +sub post_new_object_callback { + my( $cgi, $access_user ) = @_; + + return '' unless length($cgi->param('_password')); + + my $password = scalar($cgi->param('_password')); + $access_user->is_password_allowed($password) + || $access_user->change_password_fields($password); +} sub noerror_callback { my( $cgi, $access_user ) = @_; - if ( length($cgi->param('_password')) ) { - my $password = scalar($cgi->param('_password')); - $access_user->change_password($password); - } - #handle installer checkbox my @sched_item = $access_user->sched_item; my $sched_item = $sched_item[0]; diff --git a/httemplate/edit/process/elements/process.html b/httemplate/edit/process/elements/process.html index c197eb123..85f060e32 100644 --- a/httemplate/edit/process/elements/process.html +++ b/httemplate/edit/process/elements/process.html @@ -80,8 +80,12 @@ Example: 'precheck_callback' => sub { my( $cgi ) = @_; }, #after the new object is created + #return an error string or empty for no error 'post_new_object_callback' => sub { my( $cgi, $object ) = @_; }, + #run right before replacing (not run for inserts) + 'edit_callback' => sub { my( $new, $old ) = @_; }, + #after everything's inserted 'noerror_callback' => sub { my( $cgi, $object ) = @_; }, diff --git a/httemplate/edit/process/saved_search.html b/httemplate/edit/process/saved_search.html index 7ae7e0d78..51e40edad 100644 --- a/httemplate/edit/process/saved_search.html +++ b/httemplate/edit/process/saved_search.html @@ -10,6 +10,8 @@ my $callback = sub { $obj->usernum( $FS::CurrentUser::CurrentUser->usernum ); # if this would change it from its existing owner, replace_check # will refuse + + ''; #no error };