summaryrefslogtreecommitdiff
path: root/httemplate/edit/process
diff options
context:
space:
mode:
authorIvan Kohler <ivan@freeside.biz>2018-08-02 12:59:15 -0700
committerIvan Kohler <ivan@freeside.biz>2018-08-02 12:59:15 -0700
commit8944f813b2d664b38bcbe349ac6897a0314e3b9d (patch)
tree30b2a66402729da42e191dba0ee30e531ecd7532 /httemplate/edit/process
parentb617db414a0073ae69f7416d113541679f5d7bfd (diff)
fix editing employee pw, RT#32456
Diffstat (limited to 'httemplate/edit/process')
-rw-r--r--httemplate/edit/process/access_user.html25
-rw-r--r--httemplate/edit/process/elements/process.html4
-rw-r--r--httemplate/edit/process/saved_search.html2
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>