fix editing employee pw, RT#32456
[freeside.git] / httemplate / edit / process / access_user.html
index fcd210f..d589c62 100644 (file)
@@ -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];