HSAdmin Backend Domains, E-Mail, Datenbanken
Peter Hormanns
2013-01-21 9910aeb9e098e1b29252eb354f5a909503cc0662
on domain add use default domainoptions only if no optins are given
1 files modified
26 ■■■■ changed files
hsarback/src/de/hsadmin/mods/dom/DomainModuleImpl.java 26 ●●●● patch | view | raw | blame | history
hsarback/src/de/hsadmin/mods/dom/DomainModuleImpl.java
@@ -135,20 +135,22 @@
        dom.setUser((UnixUser) adminQuery.getSingleResult());
        needsWriteAccessOn(newEntity, "add");
        em.persist(dom);
        HashSet<DomainOption> domainOptions = new HashSet<DomainOption>();
        for (String domOpt : DEFAULT_DOMOPTS) {
            Query q = em.createQuery("SELECT opt FROM " +
                    DomainOption.class.getAnnotation(javax.persistence.Entity.class).name() +
                    " opt WHERE opt.name=:optName");
            q.setParameter("optName", domOpt);
            List<?> list = q.getResultList();
            if (list.size() == 1) {
                domainOptions.add((DomainOption) list.get(0));
            } else {
                throw new HSAdminException("invalid domain option: " + domOpt);
        if (dom.getDomainoptions() == null) { // set default-domainoptions
            HashSet<DomainOption> domainOptions = new HashSet<DomainOption>();
            for (String domOpt : DEFAULT_DOMOPTS) {
                Query q = em.createQuery("SELECT opt FROM " +
                        DomainOption.class.getAnnotation(javax.persistence.Entity.class).name() +
                        " opt WHERE opt.name=:optName");
                q.setParameter("optName", domOpt);
                List<?> list = q.getResultList();
                if (list.size() == 1) {
                    domainOptions.add((DomainOption) list.get(0));
                } else {
                    throw new HSAdminException("invalid domain option: " + domOpt);
                }
            }
            dom.setDomainoptions(domainOptions);
        }
        dom.setDomainoptions(domainOptions);
        if (dom.isPacDomain()) {
            em.persist(new EMailAddress("owner", "", dom, dom.getUser().getPac().getCustomer().getName().substring(6) + "@hostsharing.net"));
            em.persist(new EMailAddress("admin", "", dom, dom.getUser().getPac().getName() + "@hostsharing.net"));