import club.wpia.gigi.dbObjects.User;
import club.wpia.gigi.localisation.Language;
import club.wpia.gigi.output.template.Form;
+import club.wpia.gigi.output.template.Form.CSRFException;
import club.wpia.gigi.output.template.IterableDataset;
import club.wpia.gigi.output.template.Template;
-import club.wpia.gigi.output.template.Form.CSRFException;
import club.wpia.gigi.pages.LoginPage;
import club.wpia.gigi.pages.ManagedMultiFormPage;
+import club.wpia.gigi.pages.Page;
import club.wpia.gigi.pages.account.domain.DomainManagementForm;
import club.wpia.gigi.util.AuthorizationContext;
@Override
public boolean isPermitted(AuthorizationContext ac) {
- return ac != null && (ac.isInGroup(CreateOrgPage.ORG_AGENT) || ac.getActor().getOrganisations(true).size() != 0);
+ return ac != null && ((ac.isInGroup(CreateOrgPage.ORG_AGENT) && ac.getActor().hasValidOrgAgentChallenge()) || (ac.getActor().getOrganisations(true).size() != 0) && ac.getActor().hasValidOrgAdminChallenge()) && ac.isStronglyAuthenticated();
}
@Override
resp.sendError(404);
return;
}
- HashMap<String, Object> vars = new HashMap<>();
- if (orgAss) {
+ Map<String, Object> vars = Page.getDefaultVars(req);
+ if (orgAss && !myOrgs.contains(o)) {
vars.put("editForm", new CreateOrgForm(req, o));
vars.put("affForm", new AffiliationForm(req, o));
vars.put("mgmDom", new DomainManagementForm(req, o, true));