X-Git-Url: https://code.wpia.club/?p=gigi.git;a=blobdiff_plain;f=src%2Forg%2Fcacert%2Fgigi%2Fpages%2Forga%2FViewOrgPage.java;fp=src%2Forg%2Fcacert%2Fgigi%2Fpages%2Forga%2FViewOrgPage.java;h=0000000000000000000000000000000000000000;hp=0924a8981aa6e74d1325435a7acd339259649ed5;hb=bccd4cc0dba0f89aa045b113bac46eb8cc1dab4e;hpb=c9ed09f0007fc2c813815be927a5a24b23dab83c diff --git a/src/org/cacert/gigi/pages/orga/ViewOrgPage.java b/src/org/cacert/gigi/pages/orga/ViewOrgPage.java deleted file mode 100644 index 0924a898..00000000 --- a/src/org/cacert/gigi/pages/orga/ViewOrgPage.java +++ /dev/null @@ -1,125 +0,0 @@ -package org.cacert.gigi.pages.orga; - -import java.io.IOException; -import java.io.PrintWriter; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -import org.cacert.gigi.dbObjects.Organisation; -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.Form.CSRFException; -import org.cacert.gigi.output.template.IterableDataset; -import org.cacert.gigi.output.template.Template; -import org.cacert.gigi.pages.LoginPage; -import org.cacert.gigi.pages.ManagedMultiFormPage; -import org.cacert.gigi.pages.account.domain.DomainManagementForm; -import org.cacert.gigi.util.AuthorizationContext; - -public class ViewOrgPage extends ManagedMultiFormPage { - - private static final Template orgas = new Template(ViewOrgPage.class.getResource("ViewOrgs.templ")); - - private static final Template mainTempl = new Template(ViewOrgPage.class.getResource("EditOrg.templ")); - - public static final String DEFAULT_PATH = "/orga"; - - public ViewOrgPage() { - super("View Organisation"); - } - - @Override - public boolean isPermitted(AuthorizationContext ac) { - return ac != null && (ac.isInGroup(CreateOrgPage.ORG_ASSURER) || ac.getActor().getOrganisations(true).size() != 0); - } - - @Override - public Form getForm(HttpServletRequest req) throws CSRFException { - if (req.getParameter("do_affiliate") != null || req.getParameter("del") != null) { - return Form.getForm(req, AffiliationForm.class); - } else { - if ( !getUser(req).isInGroup(CreateOrgPage.ORG_ASSURER)) { - return null; - } - - if (req.getParameter("addDomain") != null) { - return Form.getForm(req, OrgDomainAddForm.class); - } else if (req.getParameter("delete") != null) { - return Form.getForm(req, DomainManagementForm.class); - } else { - return Form.getForm(req, CreateOrgForm.class); - } - } - } - - @Override - public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException { - User u = LoginPage.getUser(req); - String idS = req.getPathInfo(); - Language lang = getLanguage(req); - PrintWriter out = resp.getWriter(); - if (idS.length() < DEFAULT_PATH.length() + 2) { - final Organisation[] orgList = Organisation.getOrganisations(0, 30); - HashMap map = new HashMap<>(); - final List myOrgs = u.getOrganisations(true); - final boolean orgAss = u.isInGroup(CreateOrgPage.ORG_ASSURER); - if (orgAss) { - map.put("orgas", makeOrgDataset(orgList)); - } else { - map.put("orgas", makeOrgDataset(myOrgs.toArray(new Organisation[myOrgs.size()]))); - } - orgas.output(out, lang, map); - return; - } - idS = idS.substring(DEFAULT_PATH.length() + 1); - int id = Integer.parseInt(idS); - Organisation o; - try { - o = Organisation.getById(id); - } catch (IllegalArgumentException e) { - resp.sendError(404); - return; - } - final List myOrgs = u.getOrganisations(); - final boolean orgAss = u.isInGroup(CreateOrgPage.ORG_ASSURER); - if ( !orgAss && !myOrgs.contains(o)) { - resp.sendError(404); - return; - } - HashMap vars = new HashMap<>(); - if (orgAss) { - vars.put("editForm", new CreateOrgForm(req, o)); - vars.put("affForm", new AffiliationForm(req, o)); - vars.put("mgmDom", new DomainManagementForm(req, o, true)); - vars.put("addDom", new OrgDomainAddForm(req, o)); - } else { - vars.put("affForm", new AffiliationForm(req, o)); - vars.put("orgName", o.getName()); - } - mainTempl.output(out, lang, vars); - } - - private IterableDataset makeOrgDataset(final Organisation[] orgas) { - return new IterableDataset() { - - int count = 0; - - @Override - public boolean next(Language l, Map vars) { - if (count >= orgas.length) { - return false; - } - Organisation org = orgas[count++]; - vars.put("id", Integer.toString(org.getId())); - vars.put("name", org.getName()); - vars.put("country", org.getCountry().getCode()); - return true; - } - }; - } -}