import javax.servlet.http.HttpServletRequest;
import org.cacert.gigi.Domain;
+import org.cacert.gigi.GigiApiException;
import org.cacert.gigi.Language;
+import org.cacert.gigi.User;
import org.cacert.gigi.output.Form;
import org.cacert.gigi.output.template.IterableDataset;
import org.cacert.gigi.output.template.Template;
+import org.cacert.gigi.pages.Page;
public class DomainManagementForm extends Form {
private static final Template t = new Template(DomainManagementForm.class.getResource("DomainManagementForm.templ"));
- public DomainManagementForm(HttpServletRequest hsr) {
+ private User target;
+
+ public DomainManagementForm(HttpServletRequest hsr, User target) {
super(hsr);
+ this.target = target;
}
@Override
public boolean submit(PrintWriter out, HttpServletRequest req) {
- return false;
+ 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;
+ }
+ }
+ }
+ } catch (GigiApiException e) {
+ e.format(out, Page.getLanguage(req));
+ return false;
+ }
+ return true;
}
@Override
@Override
public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
User u = getUser(req);
- DomainManagementForm domMan = new DomainManagementForm(req);
+ DomainManagementForm domMan = new DomainManagementForm(req, u);
DomainAddForm domAdd = new DomainAddForm(req, u);
HashMap<String, Object> vars = new HashMap<>();
vars.put("doms", u.getDomains());
public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException {
if (req.getParameter("adddomain") != null) {
DomainAddForm f = Form.getForm(req, DomainAddForm.class);
- f.submit(resp.getWriter(), req);
- } else if (req.getParameter("") != null) {
+ if (f.submit(resp.getWriter(), req)) {
+ resp.sendRedirect(PATH);
+ }
+ } else if (req.getParameter("domdel") != null) {
DomainManagementForm f = Form.getForm(req, DomainManagementForm.class);
- f.submit(resp.getWriter(), req);
+ if (f.submit(resp.getWriter(), req)) {
+ resp.sendRedirect(PATH);
+ }
}
super.doPost(req, resp);
}