private CertificateOwner target;
- public DomainManagementForm(HttpServletRequest hsr, CertificateOwner target) {
+ private boolean foreign;
+
+ public DomainManagementForm(HttpServletRequest hsr, CertificateOwner target, boolean foreign) {
super(hsr);
this.target = target;
+ this.foreign = foreign;
}
@Override
public boolean submit(PrintWriter out, HttpServletRequest req) {
try {
- String[] dels = req.getParameterValues("delid[]");
- Domain[] usDomains = target.getDomains();
- for (int i = 0; i < dels.length; i++) {
- int delId = Integer.parseInt(dels[i]);
- for (int j = 0; j < usDomains.length; j++) {
- if (usDomains[j].getId() == delId) {
- usDomains[j].delete();
- break;
- }
- }
+ String dels = req.getParameter("delete");
+
+ int delId = Integer.parseInt(dels);
+ Domain d = Domain.getById(delId);
+ if (d != null && d.getOwner() == target) {
+ d.delete();
+ } else {
+ throw new GigiApiException("Domain was not found.");
}
} catch (GigiApiException e) {
e.format(out, Page.getLanguage(req));
return true;
}
+ public CertificateOwner getTarget() {
+ return target;
+ }
+
@Override
protected void outputContent(PrintWriter out, Language l, Map<String, Object> vars) {
- final Domain[] doms = (Domain[]) vars.get("doms");
+ final Domain[] doms = target.getDomains();
IterableDataset dts = new IterableDataset() {
private int point = 0;
}
Domain domain = doms[point];
vars.put("id", domain.getId());
- vars.put("domainhref", DomainOverview.PATH + domain.getId());
+ if ( !foreign) {
+ vars.put("domainhref", DomainOverview.PATH + domain.getId());
+ }
vars.put("domain", domain.getSuffix());
vars.put("status", l.getTranslation(domain.isVerified() ? "verified" : "not verified"));
point++;
<th colspan="3">Domains</th>
</tr>
<tr>
- <td><?=_Delete?></td>
+ <td></td>
<td><?=_Status?></td>
<td><?=_Address?></td>
</tr>
<? foreach($domains) { ?>
<tr>
- <td><input type="checkbox" name="delid[]" value="<?=$id?>" /></td>
+ <td><button class="btn btn-danger" type="submit" name="delete" value="<?=$id?>">Delete</button></td>
<td><?=$status?></td>
- <td><a href='<?=$domainhref?>'><?=$domain?></a></td>
+ <td><? if($domainhref) { ?><a href='<?=$domainhref?>'><?=$domain?><? } else { ?><?=$domain?><? } ?></a></td>
</tr>
<? } ?>
- <tr>
- <td colspan="3"><input type="submit" name="domdel" value="<?=_Delete?>"></td>
- </tr>
</tbody></table>
\ No newline at end of file
}
try {
- DomainManagementForm domMan = new DomainManagementForm(req, u);
+ DomainManagementForm domMan = new DomainManagementForm(req, u, false);
HashMap<String, Object> vars = new HashMap<>();
- vars.put("doms", u.getDomains());
vars.put("domainman", domMan);
if (u instanceof User) {
DomainAddForm domAdd = new DomainAddForm(req, (User) u);
<br/><? } else { ?><h1><?=$orgName?></h1><? } ?>
<?=$affForm?>
<br/>
-<? if($addDom) { ?><?=$addDom?><? } ?>
+<? if($addDom) { ?><?=$mgmDom?><?=$addDom?><? } ?>
import javax.servlet.http.HttpServletRequest;
import org.cacert.gigi.GigiApiException;
-import org.cacert.gigi.dbObjects.CertificateOwner;
import org.cacert.gigi.dbObjects.Domain;
import org.cacert.gigi.dbObjects.Organisation;
import org.cacert.gigi.localisation.Language;
public static Template t = new Template(OrgDomainAddForm.class.getResource("OrgDomainAddForm.templ"));
- CertificateOwner target;
+ Organisation target;
public OrgDomainAddForm(HttpServletRequest hsr, Organisation target) {
super(hsr);
this.target = target;
}
+ public Organisation getOrganisation() {
+ return target;
+ }
+
@Override
public boolean submit(PrintWriter out, HttpServletRequest req) throws GigiApiException {
String domain = req.getParameter("domain");
<table class="table">
<tr>
- <th><?=_Domain Name?></td>
+ <th><?=_Add Domain:?></td>
<td><input class="form-control" type="text" name="domain"></td>
</tr>
<tr>
<td></td>
- <td><input type="submit" name="addDomain" value="<?=_Add?>"></td>
+ <td><button class="btn btn-primary" type="submit" name="addDomain" value="action"><?=_Add?></button></td>
</tr>
</table>
import org.cacert.gigi.output.template.Template;
import org.cacert.gigi.pages.LoginPage;
import org.cacert.gigi.pages.Page;
+import org.cacert.gigi.pages.account.domain.DomainManagementForm;
import org.cacert.gigi.util.AuthorizationContext;
public class ViewOrgPage extends Page {
resp.sendRedirect(DEFAULT_PATH + "/" + form.getOrganisation().getId());
}
return;
- } else if (req.getParameter("addDomain") != null) {
- if (Form.getForm(req, OrgDomainAddForm.class).submit(resp.getWriter(), req)) {
- // resp.sendRedirect(DEFAULT_PATH + "/" +
- // form.getOrganisation().getId());
- }
} else {
if ( !u.isInGroup(CreateOrgPage.ORG_ASSURER)) {
resp.sendError(403, "Access denied");
return;
}
- Form.getForm(req, CreateOrgForm.class).submit(resp.getWriter(), req);
+
+ if (req.getParameter("addDomain") != null) {
+ OrgDomainAddForm form = Form.getForm(req, OrgDomainAddForm.class);
+ if (form.submit(resp.getWriter(), req)) {
+ resp.sendRedirect(DEFAULT_PATH + "/" + form.getOrganisation().getId());
+ }
+ } else if (req.getParameter("delete") != null) {
+ DomainManagementForm form = Form.getForm(req, DomainManagementForm.class);
+ if (form.submit(resp.getWriter(), req)) {
+ resp.sendRedirect(DEFAULT_PATH + "/" + form.getTarget().getId());
+ }
+ } else {
+ Form.getForm(req, CreateOrgForm.class).submit(resp.getWriter(), req);
+ }
}
} catch (GigiApiException e) {
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));