]> WPIA git - gigi.git/blobdiff - src/org/cacert/gigi/pages/admin/support/SupportUserDetailsForm.java
upd: use a more strict pattern for handling forms
[gigi.git] / src / org / cacert / gigi / pages / admin / support / SupportUserDetailsForm.java
index d3589c8e4ad6b9a187b681400f7251a6399c7634..10fb19e51b5c72a015c14c797ae77811e35835f7 100644 (file)
@@ -30,6 +30,8 @@ public class SupportUserDetailsForm extends Form {
 
     private GroupSelector value = new GroupSelector("groupToModify", true);
 
 
     private GroupSelector value = new GroupSelector("groupToModify", true);
 
+    private boolean wasWithPasswordReset = false;
+
     public SupportUserDetailsForm(HttpServletRequest hsr, SupportedUser user) {
         super(hsr);
         this.user = user;
     public SupportUserDetailsForm(HttpServletRequest hsr, SupportedUser user) {
         super(hsr);
         this.user = user;
@@ -37,9 +39,9 @@ public class SupportUserDetailsForm extends Form {
     }
 
     @Override
     }
 
     @Override
-    public boolean submit(PrintWriter out, HttpServletRequest req) throws GigiApiException {
+    public boolean submit(HttpServletRequest req) throws GigiApiException {
         if (user.getTicket() == null) {
         if (user.getTicket() == null) {
-            return false;
+            throw new GigiApiException("No ticket number set.");
         }
         if (user.getTargetUser() == LoginPage.getUser(req)) {
             throw new GigiApiException("Supporter may not modify himself.");
         }
         if (user.getTargetUser() == LoginPage.getUser(req)) {
             throw new GigiApiException("Supporter may not modify himself.");
@@ -62,7 +64,8 @@ public class SupportUserDetailsForm extends Form {
             if (aword == null || aword.equals("")) {
                 throw new GigiApiException("An A-Word is required to perform a password reset.");
             }
             if (aword == null || aword.equals("")) {
                 throw new GigiApiException("An A-Word is required to perform a password reset.");
             }
-            user.triggerPasswordReset(aword, out, req);
+            user.triggerPasswordReset(aword, req);
+            wasWithPasswordReset = true;
             return true;
         }
         dobSelector.update(req);
             return true;
         }
         dobSelector.update(req);
@@ -73,6 +76,10 @@ public class SupportUserDetailsForm extends Form {
         return true;
     }
 
         return true;
     }
 
+    public boolean wasWithPasswordReset() {
+        return wasWithPasswordReset;
+    }
+
     @Override
     protected void outputContent(PrintWriter out, Language l, Map<String, Object> vars) {
         User user = this.user.getTargetUser();
     @Override
     protected void outputContent(PrintWriter out, Language l, Map<String, Object> vars) {
         User user = this.user.getTargetUser();