import org.cacert.gigi.dbObjects.Organisation;
import org.cacert.gigi.dbObjects.User;
import org.cacert.gigi.localisation.Language;
-import org.cacert.gigi.output.Form;
+import org.cacert.gigi.output.template.Form;
import org.cacert.gigi.output.template.IterableDataset;
import org.cacert.gigi.output.template.Template;
import org.cacert.gigi.pages.LoginPage;
public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException {
try {
User u = LoginPage.getUser(req);
- if ( !u.isInGroup(CreateOrgPage.ORG_ASSURER)) {
- return;
- }
- if (req.getParameter("affiliate") != null) {
+ if (req.getParameter("do_affiliate") != null || req.getParameter("del") != null) {
AffiliationForm form = Form.getForm(req, AffiliationForm.class);
- form.submit(resp.getWriter(), req);
- resp.sendRedirect(DEFAULT_PATH + "/" + form.getOrganisation().getId());
+ if (form.submit(resp.getWriter(), req)) {
+ resp.sendRedirect(DEFAULT_PATH + "/" + form.getOrganisation().getId());
+ }
+ return;
} else {
+ if ( !u.isInGroup(CreateOrgPage.ORG_ASSURER)) {
+ resp.sendError(403, "Access denied");
+ return;
+ }
Form.getForm(req, CreateOrgForm.class).submit(resp.getWriter(), req);
}
+
} catch (GigiApiException e) {
e.format(resp.getWriter(), getLanguage(req));
}
@Override
public boolean next(Language l, Map<String, Object> vars) {
- if (count >= orgas.length)
+ if (count >= orgas.length) {
return false;
+ }
Organisation org = orgas[count++];
vars.put("id", Integer.toString(org.getId()));
vars.put("name", org.getName());