X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=src%2Forg%2Fcacert%2Fgigi%2Fpages%2Forga%2FViewOrgPage.java;h=3996095e774224e7c805fd24b464304b0aa4baba;hb=95840660b28dce27a38ed7de0b66634ec7f38ba2;hp=e283f4a6b01c3df7c791db259919b496b2b2d0f0;hpb=08dd246cc6dbef3e83979622c9fd4fc10b749007;p=gigi.git diff --git a/src/org/cacert/gigi/pages/orga/ViewOrgPage.java b/src/org/cacert/gigi/pages/orga/ViewOrgPage.java index e283f4a6..3996095e 100644 --- a/src/org/cacert/gigi/pages/orga/ViewOrgPage.java +++ b/src/org/cacert/gigi/pages/orga/ViewOrgPage.java @@ -13,7 +13,7 @@ import org.cacert.gigi.GigiApiException; 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; @@ -40,16 +40,20 @@ public class ViewOrgPage extends Page { 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)); } @@ -96,8 +100,9 @@ public class ViewOrgPage extends Page { @Override public boolean next(Language l, Map 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());