Author: tchemit Date: 2012-12-01 13:28:56 +0100 (Sat, 01 Dec 2012) New Revision: 3760 Url: http://chorem.org/projects/pollen/repository/revisions/3760 Log: fixes #861: Can not access to restricted vote page when another restricted voter is connected Modified: trunk/pollen-persistence/src/main/java/org/chorem/pollen/business/persistence/PollAccountDAOImpl.java Modified: trunk/pollen-persistence/src/main/java/org/chorem/pollen/business/persistence/PollAccountDAOImpl.java =================================================================== --- trunk/pollen-persistence/src/main/java/org/chorem/pollen/business/persistence/PollAccountDAOImpl.java 2012-12-01 10:55:55 UTC (rev 3759) +++ trunk/pollen-persistence/src/main/java/org/chorem/pollen/business/persistence/PollAccountDAOImpl.java 2012-12-01 12:28:56 UTC (rev 3760) @@ -93,7 +93,25 @@ hql += "p.pollAccount.email = :email"; } - E result = findByQuery(hql, params.toArray()); + E result = null; + List<E> results = findAllByQuery(hql, params.toArray()); + if (CollectionUtils.isEmpty(results)) { + result = null; + } else if (results.size() == 1) { + result = results.get(0); + } else { + + // limit case when there is two different poll account + // (one for connected user and one for incoming accountId) + // In this case, we must use the accountId one + for (E e : results) { + String accountId1 = e.getAccountId(); + if (accountId1.equals(accountId)) { + result = e; + break; + } + } + } return result; }