| | |
| | | public void delete(AbstractEntity existingEntity) throws HSAdminException { |
| | | EntityManager em = getTransaction().getEntityManager(); |
| | | Pac pac = (Pac) existingEntity; |
| | | String pacName = pac.getName(); |
| | | Date dateCancelled = pac.getCancelled(); |
| | | if (dateCancelled == null || dateCancelled.getTime() > System.currentTimeMillis()) { |
| | | throw new AuthorisationException(getLoginUser(), "delete", existingEntity); |
| | |
| | | GenericModuleImpl helperModule = new GenericModuleImpl(getTransaction()); |
| | | |
| | | Query qDoms = em.createQuery("SELECT dom FROM Domains dom WHERE dom.user.pac.name = :pac"); |
| | | qDoms.setParameter("pac", pac.getName()); |
| | | qDoms.setParameter("pac", pacName); |
| | | List<?> domsList = qDoms.getResultList(); |
| | | for (Object o : domsList) { |
| | | if (o instanceof Domain) { |
| | |
| | | } |
| | | } |
| | | |
| | | UnixUser admin = pac.owningUser(em); |
| | | for (UnixUser user : pac.getUnixUser()) { |
| | | if (admin.getId() != user.getId()) { |
| | | if (!pacName.equals(user.getName())) { |
| | | helperModule.delete(user); |
| | | } |
| | | } |