This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository pollen. See http://git.chorem.org/pollen.git commit 61bb833b1d74a770506c9fe1b50e03a674889664 Author: Kevin Morin <morin@codelutin.com> Date: Fri Jan 30 16:40:03 2015 +0100 fixes #1097 Display the number of comments in the comments tab title --- .../org/chorem/pollen/services/bean/PollBean.java | 11 ++++++++- .../pollen/services/service/CommentService.java | 13 +++++++++-- .../pollen/services/service/PollService.java | 27 ++++++++++++++++------ pollen-ui-angular/src/main/webapp/i18n/fr.js | 2 +- .../src/main/webapp/js/controllers/pollCtrl.js | 1 + .../src/main/webapp/partials/poll.html | 2 +- 6 files changed, 44 insertions(+), 12 deletions(-) diff --git a/pollen-services/src/main/java/org/chorem/pollen/services/bean/PollBean.java b/pollen-services/src/main/java/org/chorem/pollen/services/bean/PollBean.java index f0375eb..cd42a0a 100644 --- a/pollen-services/src/main/java/org/chorem/pollen/services/bean/PollBean.java +++ b/pollen-services/src/main/java/org/chorem/pollen/services/bean/PollBean.java @@ -103,6 +103,8 @@ public class PollBean extends PollenBean<Poll> { protected boolean canVote; + protected long commentCount; + @Override public void fromEntity(Poll entity) { @@ -141,7 +143,6 @@ public class PollBean extends PollenBean<Poll> { setCommentVisibility(entity.getCommentVisibility()); setResultVisibility(entity.getResultVisibility()); setClosed(entity.isClosed()); - } @Override @@ -360,4 +361,12 @@ public class PollBean extends PollenBean<Poll> { public void setCanVote(boolean canVote) { this.canVote = canVote; } + + public long getCommentCount() { + return commentCount; + } + + public void setCommentCount(long commentCount) { + this.commentCount = commentCount; + } } diff --git a/pollen-services/src/main/java/org/chorem/pollen/services/service/CommentService.java b/pollen-services/src/main/java/org/chorem/pollen/services/service/CommentService.java index ae57670..11dd0b5 100644 --- a/pollen-services/src/main/java/org/chorem/pollen/services/service/CommentService.java +++ b/pollen-services/src/main/java/org/chorem/pollen/services/service/CommentService.java @@ -30,10 +30,9 @@ import org.chorem.pollen.persistence.entity.PollenPrincipal; import org.chorem.pollen.persistence.entity.PollenUser; import org.chorem.pollen.services.bean.CommentBean; import org.chorem.pollen.services.bean.PaginationParameterBean; -import org.chorem.pollen.services.bean.PollenEntityRef; import org.chorem.pollen.services.bean.PaginationResultBean; +import org.chorem.pollen.services.bean.PollenEntityRef; import org.chorem.pollen.services.service.security.PermissionVerb; -import org.chorem.pollen.services.service.security.SecurityService; import org.nuiton.util.pagination.PaginationParameter; import org.nuiton.util.pagination.PaginationResult; @@ -72,6 +71,16 @@ public class CommentService extends PollenServiceSupport { } + public long getCommentCount(String pollId) { + + checkNotNull(pollId); + + Poll poll = getPollService().getPoll0(pollId); + long result = getCommentDao().forPollEquals(poll).count(); + + return result; + } + public CommentBean getComment(String pollId, String commentId) { checkNotNull(pollId); diff --git a/pollen-services/src/main/java/org/chorem/pollen/services/service/PollService.java b/pollen-services/src/main/java/org/chorem/pollen/services/service/PollService.java index 8fd85ad..9c30d61 100644 --- a/pollen-services/src/main/java/org/chorem/pollen/services/service/PollService.java +++ b/pollen-services/src/main/java/org/chorem/pollen/services/service/PollService.java @@ -25,9 +25,18 @@ package org.chorem.pollen.services.service; import com.google.common.base.Function; import org.apache.commons.collections4.CollectionUtils; -import org.chorem.pollen.persistence.entity.*; -import org.chorem.pollen.services.PollenApplicationContext; -import org.chorem.pollen.services.bean.*; +import org.chorem.pollen.persistence.entity.Choice; +import org.chorem.pollen.persistence.entity.Poll; +import org.chorem.pollen.persistence.entity.PollenPrincipal; +import org.chorem.pollen.persistence.entity.PollenUser; +import org.chorem.pollen.persistence.entity.VoterList; +import org.chorem.pollen.services.bean.ChoiceBean; +import org.chorem.pollen.services.bean.PaginationParameterBean; +import org.chorem.pollen.services.bean.PaginationResultBean; +import org.chorem.pollen.services.bean.PollBean; +import org.chorem.pollen.services.bean.PollenEntityRef; +import org.chorem.pollen.services.bean.VoterListBean; +import org.chorem.pollen.services.bean.VoterListMemberBean; import org.chorem.pollen.services.service.security.PermissionVerb; import org.chorem.pollen.votecounting.VoteCountingNotFound; import org.nuiton.util.pagination.PaginationParameter; @@ -65,15 +74,19 @@ public class PollService extends PollenServiceSupport { input.setResultIsVisible(isPermitted(PermissionVerb.readPollResult, input.getEntityId())); boolean canVote = !input.isClosed(); - if (canVote && input.getEndDate() != null) { + if (canVote && input.getEndDate() != null) { canVote = getNow().compareTo(input.getEndDate()) == -1; - } - if (canVote) { + } + if (canVote) { canVote = isPermitted(PermissionVerb.addVote, input.getEntityId()); - } + } input.setCanVote(canVote); + long commentCount = getCommentService().getCommentCount(input.getEntityId()); + + input.setCommentCount(commentCount); + return input; } }; diff --git a/pollen-ui-angular/src/main/webapp/i18n/fr.js b/pollen-ui-angular/src/main/webapp/i18n/fr.js index b73fbe9..b9b2dc7 100644 --- a/pollen-ui-angular/src/main/webapp/i18n/fr.js +++ b/pollen-ui-angular/src/main/webapp/i18n/fr.js @@ -128,7 +128,7 @@ var translateFR = { 'poll.restricted.name' : 'Nom du votant', 'poll.restricted.mail' : 'Courriel du votant', 'poll.restricted.weight' : 'Poids', -'poll.restricted.free' : 'Libre', +'poll.restricted.free' : 'Tout le monde', 'poll.restricted.restricted' : 'Restreint', 'poll.restricted.group' : 'Groupe', 'poll.restricted.pollType' : 'Qui peut voter ?', diff --git a/pollen-ui-angular/src/main/webapp/js/controllers/pollCtrl.js b/pollen-ui-angular/src/main/webapp/js/controllers/pollCtrl.js index 97853e8..79aaa62 100644 --- a/pollen-ui-angular/src/main/webapp/js/controllers/pollCtrl.js +++ b/pollen-ui-angular/src/main/webapp/js/controllers/pollCtrl.js @@ -1593,6 +1593,7 @@ angular.module('pollControllers', ['ngRoute', 'pollenServices', 'pascalprecht.tr return PollComment.get({pollId: $routeParams.pollId, permission: $scope.commentToken, paginationParameter: paginationParameter}, function (data) { $scope.data.comments = data.elements; $scope.data.commentsPagination = data.pagination; + $scope.data.poll.commentCount = data.pagination.count; }).$promise; }; initComments(); diff --git a/pollen-ui-angular/src/main/webapp/partials/poll.html b/pollen-ui-angular/src/main/webapp/partials/poll.html index 33a1294..39fc43e 100644 --- a/pollen-ui-angular/src/main/webapp/partials/poll.html +++ b/pollen-ui-angular/src/main/webapp/partials/poll.html @@ -28,7 +28,7 @@ </li> <li ng-class="{active: tab == 'comment'}" ng-show="data.poll.commentIsVisible"> <a href="{{globalVariables.linkComment}}"> - <span class="fa fa-comments-o"></span> {{ 'poll.tab.comment' | translate }} ({{ data.commentsPagination.count }}) + <span class="fa fa-comments-o"></span> {{ 'poll.tab.comment' | translate }} ({{ data.poll.commentCount }}) </a> </li> <li ng-class="{active: tab == 'result'}" ng-show="data.poll.resultIsVisible"> -- To stop receiving notification emails like this one, please contact chorem.org SCM administrator <admin+scm@chorem.org>.