diff options
| author | Ivan Kohler <ivan@freeside.biz> | 2018-08-02 12:59:18 -0700 |
|---|---|---|
| committer | Ivan Kohler <ivan@freeside.biz> | 2018-08-02 12:59:18 -0700 |
| commit | ed8e7eab97089e2ad22d63bac581b67b8b6f5454 (patch) | |
| tree | 4f56f34c1812908d0b5a04b5eec236eee836596a | |
| parent | 2fcc552915112ffb3e5b452d6b9662c386c7eba8 (diff) | |
fix editing employee pw, RT#32456
| -rw-r--r-- | httemplate/edit/process/access_user.html | 25 | ||||
| -rw-r--r-- | httemplate/edit/process/elements/process.html | 4 | ||||
| -rw-r--r-- | httemplate/edit/process/saved_search.html | 2 |
3 files changed, 16 insertions, 15 deletions
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 }; </%init> |
