[freeside-commits] branch FREESIDE_4_BRANCH updated. ed8e7eab97089e2ad22d63bac581b67b8b6f5454

Ivan Kohler ivan at freeside.biz
Thu Aug 2 12:59:19 PDT 2018


The branch, FREESIDE_4_BRANCH has been updated
       via  ed8e7eab97089e2ad22d63bac581b67b8b6f5454 (commit)
      from  2fcc552915112ffb3e5b452d6b9662c386c7eba8 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit ed8e7eab97089e2ad22d63bac581b67b8b6f5454
Author: Ivan Kohler <ivan at freeside.biz>
Date:   Thu Aug 2 12:59:18 2018 -0700

    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
 };
 
 </%init>

-----------------------------------------------------------------------

Summary of changes:
 httemplate/edit/process/access_user.html      | 25 ++++++++++---------------
 httemplate/edit/process/elements/process.html |  4 ++++
 httemplate/edit/process/saved_search.html     |  2 ++
 3 files changed, 16 insertions(+), 15 deletions(-)




More information about the freeside-commits mailing list