r3042 - in trunk: . pollen-business/src/main/java/org/chorem/pollen/service pollen-business/src/main/resources/i18n pollen-business/src/main/xmi pollen-business/src/test/java/org/chorem/pollen/service pollen-ui/src/main/java/org/chorem/pollen/ui/pages/poll pollen-ui/src/main/java/org/chorem/pollen/ui/pages/user pollen-ui/src/main/java/org/chorem/pollen/ui/services pollen-ui/src/main/webapp/poll pollen-ui/src/main/webapp/user
Author: fdesbois Date: 2010-08-21 20:47:10 +0200 (Sat, 21 Aug 2010) New Revision: 3042 Url: http://chorem.org/repositories/revision/pollen/3042 Log: - Repair VoteForPoll page - Admin pollAccount can see anonymous participants and delete them - Resolve lazy issues Modified: trunk/pollen-business/src/main/java/org/chorem/pollen/service/ServicePollImpl.java trunk/pollen-business/src/main/java/org/chorem/pollen/service/ServiceVoteImpl.java trunk/pollen-business/src/main/resources/i18n/pollen-business-en_GB.properties trunk/pollen-business/src/main/resources/i18n/pollen-business-fr_FR.properties trunk/pollen-business/src/main/xmi/pollen.properties trunk/pollen-business/src/main/xmi/pollen.zargo trunk/pollen-business/src/test/java/org/chorem/pollen/service/ServicePollImplTest.java trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/poll/VoteForPoll.java trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/user/UserRegister.java trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/services/AppModule.java trunk/pollen-ui/src/main/webapp/poll/VoteForPoll.tml trunk/pollen-ui/src/main/webapp/user/UserRegister.tml trunk/pom.xml Modified: trunk/pollen-business/src/main/java/org/chorem/pollen/service/ServicePollImpl.java =================================================================== --- trunk/pollen-business/src/main/java/org/chorem/pollen/service/ServicePollImpl.java 2010-08-11 14:57:58 UTC (rev 3041) +++ trunk/pollen-business/src/main/java/org/chorem/pollen/service/ServicePollImpl.java 2010-08-21 18:47:10 UTC (rev 3042) @@ -573,23 +573,20 @@ String pollUid, String... properties) throws TopiaException, PollenBusinessException { -// TopiaQuery query = dao.createQuery(). -// addLoad(properties). -// addEquals(Poll.UID, pollUid); - -// TopiaQuery query = dao.createQuery(). -// addFetch(properties); -// -// String pollUidProperty = -// TopiaQuery.getProperty(query.getMainAlias(), Poll.PROPERTY_UID); -// -// query.addEquals(pollUidProperty, pollUid); - + // Property is used to control the alias and dependencies inside the query PollenQueryHelper.PollProperty pollProperty = PollenQueryHelper.newPollProperty(); + // Need to control the alias for fetching, add it to each property + String[] fetchProperties = new String[properties.length]; + for (int i = 0; i < properties.length; i++) { + // This will clean properties for fetching + fetchProperties[i] = pollProperty.$property(properties[i]); + } + + // Create the query using default alias for Poll TopiaQuery query = PollenQueryHelper.createQuery(pollProperty). - addFetch(properties). + addFetch(fetchProperties). addEquals(pollProperty.uid(), pollUid); Poll result = PollenDAOHelper.getPollDAO(transaction).findByQuery(query); Modified: trunk/pollen-business/src/main/java/org/chorem/pollen/service/ServiceVoteImpl.java =================================================================== --- trunk/pollen-business/src/main/java/org/chorem/pollen/service/ServiceVoteImpl.java 2010-08-11 14:57:58 UTC (rev 3041) +++ trunk/pollen-business/src/main/java/org/chorem/pollen/service/ServiceVoteImpl.java 2010-08-21 18:47:10 UTC (rev 3042) @@ -155,8 +155,16 @@ String accountUid) throws Exception { + PollenQueryHelper.PollAccountProperty accountProperty = + PollenQueryHelper.newPollAccountProperty(); + + TopiaQuery query = PollenQueryHelper.createQuery(accountProperty). + addEquals(accountProperty.uid(), accountUid). + // Need fetching account votes to edit them + addFetch(accountProperty.choiceVote()); + PollAccount result = PollenDAOHelper.getPollAccountDAO(transaction). - findByUid(accountUid); + findByQuery(query); return result; } @@ -316,6 +324,11 @@ return result; } + @Override + protected PollAccount executeFindPollAccount(TopiaContext transaction, Poll poll, UserAccount user) throws Exception { + throw new UnsupportedOperationException("unsupported operation findPollAccount"); + } + protected void checkParticipantDoubloons(PollAccountDAO dao, Poll poll, PollAccount participant) Modified: trunk/pollen-business/src/main/resources/i18n/pollen-business-en_GB.properties =================================================================== --- trunk/pollen-business/src/main/resources/i18n/pollen-business-en_GB.properties 2010-08-11 14:57:58 UTC (rev 3041) +++ trunk/pollen-business/src/main/resources/i18n/pollen-business-en_GB.properties 2010-08-21 18:47:10 UTC (rev 3042) @@ -84,6 +84,7 @@ pollen.error.serviceUser.updateUser= pollen.error.serviceVote.canVote= pollen.error.serviceVote.deleteVote= +pollen.error.serviceVote.findPollAccount= pollen.error.serviceVote.getNbVotes= pollen.error.serviceVote.getNewPollAccount= pollen.error.serviceVote.getNewVote= Modified: trunk/pollen-business/src/main/resources/i18n/pollen-business-fr_FR.properties =================================================================== --- trunk/pollen-business/src/main/resources/i18n/pollen-business-fr_FR.properties 2010-08-11 14:57:58 UTC (rev 3041) +++ trunk/pollen-business/src/main/resources/i18n/pollen-business-fr_FR.properties 2010-08-21 18:47:10 UTC (rev 3042) @@ -83,6 +83,7 @@ pollen.error.serviceUser.updateUser= pollen.error.serviceVote.canVote= pollen.error.serviceVote.deleteVote= +pollen.error.serviceVote.findPollAccount= pollen.error.serviceVote.getNbVotes= pollen.error.serviceVote.getNewPollAccount= pollen.error.serviceVote.getNewVote= Modified: trunk/pollen-business/src/main/xmi/pollen.properties =================================================================== --- trunk/pollen-business/src/main/xmi/pollen.properties 2010-08-11 14:57:58 UTC (rev 3041) +++ trunk/pollen-business/src/main/xmi/pollen.properties 2010-08-21 18:47:10 UTC (rev 3042) @@ -28,3 +28,5 @@ org.chorem.pollen.entity.Poll.attribute.uid.tagvalue.naturalId=true org.chorem.pollen.entity.Poll.attribute.creator.tagvalue.lazy=false + +org.chorem.pollen.entity.Vote.attribute.choice.tagvalue.lazy=false \ No newline at end of file Modified: trunk/pollen-business/src/main/xmi/pollen.zargo =================================================================== (Binary files differ) Modified: trunk/pollen-business/src/test/java/org/chorem/pollen/service/ServicePollImplTest.java =================================================================== --- trunk/pollen-business/src/test/java/org/chorem/pollen/service/ServicePollImplTest.java 2010-08-11 14:57:58 UTC (rev 3041) +++ trunk/pollen-business/src/test/java/org/chorem/pollen/service/ServicePollImplTest.java 2010-08-21 18:47:10 UTC (rev 3042) @@ -394,6 +394,8 @@ Poll pollFound = servicePoll.getPoll(poll.getUid(), Poll.PROPERTY_CHOICE); +// Assert.assertEquals(3, pollFound.getChoice().size()); + EntityFilter filter = context.getNewFilter(); filter.setReference(pollFound); List<PollAccount> accounts = getServiceVote().getVotes(filter); Modified: trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/poll/VoteForPoll.java =================================================================== --- trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/poll/VoteForPoll.java 2010-08-11 14:57:58 UTC (rev 3041) +++ trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/poll/VoteForPoll.java 2010-08-21 18:47:10 UTC (rev 3042) @@ -133,6 +133,9 @@ if (ec.getCount() > 1) { page = ec.get(Integer.class, 1); } + + // TODO-fdesbois-2010-08-21 : connected user want to modify his vote even he has not the correct uri + // TODO-fdesbois-2010-08-21 : Check if connected user has vote to this poll, if it's the case, refresh the page with the correct uri } Object[] onPassivate() { @@ -238,6 +241,7 @@ * * @return true if connected user is the poll creator * @throws PollenBusinessException + * @deprecated Throw LazyException, use directly getPollAccount().isAdmin(); */ public boolean isCreatorUser() throws PollenBusinessException { UserAccount creatorAccount = poll.getCreator().getUserAccount(); @@ -597,6 +601,10 @@ return evenOdd.getNext(); } + public boolean canShowVotes() throws PollenBusinessException { + return getPollAccount().isAdmin() || !getPoll().isAnonymous(); + } + public Vote getVote() { Vote vote = participant.getChoiceVote(choice.getChoice()); return vote; @@ -623,6 +631,10 @@ return editedVotes; } + public void isTrue(double voteValue) { + + } + public boolean canVote() throws PollenBusinessException { if (canVote == null) { canVote = serviceVote.canVote(getPoll(), getPollAccount()); Modified: trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/user/UserRegister.java =================================================================== --- trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/user/UserRegister.java 2010-08-11 14:57:58 UTC (rev 3041) +++ trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/pages/user/UserRegister.java 2010-08-21 18:47:10 UTC (rev 3042) @@ -128,8 +128,10 @@ } /** - * ON_VALIDATE_FORM :: <br \> - * UI validation : check if the two passwords are equals. <br \> + * ON_VALIDATE_FORM :: + * <br \> + * UI validation : check if the two passwords are equals. + * <br \> * BUSINESS validation : execute {@link ServiceUser#createUser(UserAccount)} * which throws errors * {@link PollenBusinessException.PollenExceptionType#USER_LOGIN_EXIST} Modified: trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/services/AppModule.java =================================================================== --- trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/services/AppModule.java 2010-08-11 14:57:58 UTC (rev 3041) +++ trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/services/AppModule.java 2010-08-21 18:47:10 UTC (rev 3042) @@ -221,14 +221,7 @@ return input ? 1. : 0.; } }; - Coercion<Double, Boolean> coercion4 = new Coercion<Double, Boolean>() { - @Override - public Boolean coerce(Double input) { - return input > 1; - } - }; - // coercions for String <-> PollUri configuration.add( new CoercionTuple<String, PollUri>( @@ -237,13 +230,10 @@ new CoercionTuple<PollUri, String>( PollUri.class, String.class, coercion2)); - // coercions for Double <-> Boolean : use for voteValue + // coercion for Boolean -> Double : use for voteValue configuration.add( new CoercionTuple<Boolean, Double>( Boolean.class, Double.class, coercion3)); - configuration.add( - new CoercionTuple<Double, Boolean>( - Double.class, Boolean.class, coercion4)); } /** Modified: trunk/pollen-ui/src/main/webapp/poll/VoteForPoll.tml =================================================================== --- trunk/pollen-ui/src/main/webapp/poll/VoteForPoll.tml 2010-08-11 14:57:58 UTC (rev 3041) +++ trunk/pollen-ui/src/main/webapp/poll/VoteForPoll.tml 2010-08-21 18:47:10 UTC (rev 3042) @@ -131,7 +131,7 @@ </tfoot> </t:if> <tbody> - <t:unless t:test="poll.anonymous"> + <t:if t:test="canShowVotes()"> <t:loop t:source="participants" t:value="participant" t:index="participantIndex" volatile="true"> <tr> <td class="${participantNameStyle}"> @@ -204,7 +204,7 @@ </t:loop> </tr> </t:loop> - </t:unless> + </t:if> <!--<t:if test="poll.continuousResults">--> <!--<tr>--> <!--<td>--> Modified: trunk/pollen-ui/src/main/webapp/user/UserRegister.tml =================================================================== --- trunk/pollen-ui/src/main/webapp/user/UserRegister.tml 2010-08-11 14:57:58 UTC (rev 3041) +++ trunk/pollen-ui/src/main/webapp/user/UserRegister.tml 2010-08-21 18:47:10 UTC (rev 3042) @@ -2,7 +2,7 @@ <t:border t:addressBar="addressBar" t:pageLogo="literal:Creation" t:pageTitle="prop:title" t:pageBodyId="po-user-register" xmlns:t="http://tapestry.apache.org/schema/tapestry_5_1_0.xsd" xmlns:p="tapestry:parameter"> - <t:unless t:test="userExists"> + <!--<t:unless t:test="userExists">--> <h1 class="titleCreation">${message:title}</h1> <t:zone t:id="zone" t:update="show"> <form action="post" t:type="form" t:id="register" t:zone="zone"> @@ -47,5 +47,5 @@ </div> </form> </t:zone> - </t:unless> + <!--</t:unless>--> </t:border> \ No newline at end of file Modified: trunk/pom.xml =================================================================== --- trunk/pom.xml 2010-08-11 14:57:58 UTC (rev 3041) +++ trunk/pom.xml 2010-08-21 18:47:10 UTC (rev 3042) @@ -319,8 +319,8 @@ <!-- customized versions --> <!--javadoc.version>2.4</javadoc.version--> - <topia.version>2.4-SNAPSHOT</topia.version> - <eugene.version>2.1</eugene.version> + <topia.version>2.4.2</topia.version> + <eugene.version>2.1.1</eugene.version> <i18n.version>1.2.2</i18n.version> <tapestry.version>5.1.0.5</tapestry.version> <nuiton-web.version>0.1</nuiton-web.version>
participants (1)
-
fdesbois@users.chorem.org