HSAdmin Backend Domains, E-Mail, Datenbanken
Peter Hormanns
2013-01-21 75a68d707a03360e7172e97ad83189a3ceba1149
allow user.add with given userid, if it is free
1 files modified
10 ■■■■ changed files
hsarback/src/de/hsadmin/mods/user/UnixUserModuleImpl.java 10 ●●●● patch | view | raw | blame | history
hsarback/src/de/hsadmin/mods/user/UnixUserModuleImpl.java
@@ -96,9 +96,6 @@
        if (passWord.indexOf(':') >= 0) {
            throw new AuthorisationException(loginUser, "add", newUnixUser, "userId");
        }
        if (newUnixUser.getPac() == null || newUnixUser.getPac().getNew()) {
        }
        Query qPac = em.createQuery("SELECT obj FROM Pacs obj WHERE obj.name = :pacName");
        qPac.setParameter("pacName", userName.substring(0, 5));
        Object singleResult = qPac.getSingleResult();
@@ -117,11 +114,14 @@
            newUnixUser.setUserId(nUID);
        } else {
            // given uid belongs to same pac?
            Query q = em.createQuery("SELECT u.userId FROM UnixUsers u WHERE u.userId = :userId AND u.pac = :pac");
            Query q = em.createQuery("SELECT u.userId FROM UnixUsers u WHERE u.userId = :userId");
            q.setParameter("userId", newUnixUser.getUserId());
            List<?> idExists = q.getResultList();
            q = em.createQuery("SELECT u.userId FROM UnixUsers u WHERE u.userId = :userId AND u.pac = :pac");
            q.setParameter("userId", newUnixUser.getUserId());
            q.setParameter("pac", pac);
            List<?> idOfSamePac = q.getResultList();
            if (idOfSamePac.size() == 0) {
            if (idOfSamePac.isEmpty() && !idExists.isEmpty()) {
                throw new AuthorisationException(loginUser, "add", newUnixUser, "userId");
            }
        }