import javax.servlet.http.HttpServletRequest;
import org.cacert.gigi.GigiApiException;
-import org.cacert.gigi.Language;
-import org.cacert.gigi.User;
-import org.cacert.gigi.output.Form;
+import org.cacert.gigi.dbObjects.User;
+import org.cacert.gigi.localisation.Language;
+import org.cacert.gigi.output.template.Form;
import org.cacert.gigi.output.template.Template;
-import org.cacert.gigi.pages.Page;
+import org.cacert.gigi.output.template.TranslateCommand;
public class ChangeForm extends Form {
- User target;
+ private User target;
public ChangeForm(HttpServletRequest hsr, User target) {
super(hsr);
this.target = target;
}
- private static Template t;
- static {
- t = new Template(ChangePasswordPage.class.getResource("ChangePasswordForm.templ"));
- }
+ private static final Template t = new Template(ChangePasswordPage.class.getResource("ChangePasswordForm.templ"));
@Override
public void outputContent(PrintWriter out, Language l, Map<String, Object> vars) {
}
@Override
- public boolean submit(PrintWriter out, HttpServletRequest req) {
+ public SubmissionResult submit(HttpServletRequest req) throws GigiApiException {
String oldpassword = req.getParameter("oldpassword");
String p1 = req.getParameter("pword1");
String p2 = req.getParameter("pword2");
GigiApiException error = new GigiApiException();
if (oldpassword == null || p1 == null || p2 == null) {
- new GigiApiException("All fields are required.").format(out, Page.getLanguage(req));
- return false;
+ throw new GigiApiException("All fields are required.");
}
if ( !p1.equals(p2)) {
- new GigiApiException("New passwords do not match.").format(out, Page.getLanguage(req));
- return false;
+ throw new GigiApiException("New passwords do not match.");
}
try {
target.changePassword(oldpassword, p1);
error.mergeInto(e);
}
if ( !error.isEmpty()) {
- error.format(out, Page.getLanguage(req));
- return false;
+ throw error;
}
- return true;
+ return new SuccessMessageResult(new TranslateCommand("Password changed."));
}
}