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 c4bf43841d5095130891df64f1ecb5723b9f428f Author: Adrien Garandel <a.garandel@dralagen.fr> Date: Mon Jun 30 14:28:20 2014 +0200 close a poll --- .../org/chorem/pollen/services/bean/PollBean.java | 1 + .../chorem/pollen/services/service/PollService.java | 4 ++++ pollen-ui-angular/src/main/webapp/i18n/en.js | 2 ++ pollen-ui-angular/src/main/webapp/i18n/fr.js | 2 ++ .../src/main/webapp/js/controllers/pollCtrl.js | 21 +++++++++++++++++++++ pollen-ui-angular/src/main/webapp/js/services.js | 4 ++++ .../src/main/webapp/partials/inline-poll.html | 2 +- .../src/main/webapp/partials/poll-link.html | 4 ++-- 8 files changed, 37 insertions(+), 3 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 6ba3655..93b2f5d 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 @@ -170,6 +170,7 @@ public class PollBean extends PollenBean<Poll> { entity.setVoteVisibility(getVoteVisibility()); entity.setCommentVisibility(getCommentVisibility()); entity.setResultVisibility(getResultVisibility()); + entity.setClosed(isClosed()); return entity; 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 a86ad15..d7e65d3 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 @@ -232,6 +232,10 @@ public class PollService extends PollenServiceSupport { Poll poll = getPoll0(pollId); + poll.setClosed(true); + + savePoll(toBean(PollBean.class, poll), null); + //TODO commit(); diff --git a/pollen-ui-angular/src/main/webapp/i18n/en.js b/pollen-ui-angular/src/main/webapp/i18n/en.js index d6f2bd2..d6cb8e7 100644 --- a/pollen-ui-angular/src/main/webapp/i18n/en.js +++ b/pollen-ui-angular/src/main/webapp/i18n/en.js @@ -50,6 +50,7 @@ var translateEN = { 'poll.edit' : 'Click to edit', 'poll.desc' : 'Description is optional. This message will not visible in vote page.', 'poll.saved' : 'Poll saved.', +'poll.closed' : 'Poll closed', 'poll.deleted' : 'Poll deleted', 'poll.restricted.name' : 'Name', 'poll.restricted.mail' : 'E-mail', @@ -96,6 +97,7 @@ var translateEN = { 'action.favoriteList.deleteMember' : 'Delete the member', 'action.message.confirmDelete' : 'Are you sure to delete it?', +'action.message.confirmClose' : 'Are you sure to close it?', 'dateFormat' : 'MM-dd-yy', diff --git a/pollen-ui-angular/src/main/webapp/i18n/fr.js b/pollen-ui-angular/src/main/webapp/i18n/fr.js index 256a92b..94e7ad3 100644 --- a/pollen-ui-angular/src/main/webapp/i18n/fr.js +++ b/pollen-ui-angular/src/main/webapp/i18n/fr.js @@ -56,6 +56,7 @@ var translateFR = { 'poll.edit' : 'Clique pour éditer', 'poll.desc' : 'Description (Facultatif). Ce cadre disparait si aucune description n\'est mise', 'poll.saved' : 'Sondage sauvegardé', +'poll.closed' : 'Sondage fermé', 'poll.deleted' : 'Sondage supprimé', 'poll.restricted.name' : 'Nom du votant', 'poll.restricted.mail' : 'Courriel du votant', @@ -102,6 +103,7 @@ var translateFR = { 'action.favoriteList.deleteMember' : 'Supprimer le membre', 'action.message.confirmDelete' : 'Êtes vous sûr de vouloir le supprimer?', +'action.message.confirmClose' : 'Êtes vous sûr de vouloir le fermer?', 'dateFormat' : 'dd/MM/yyyy', 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 33bbf22..c81e4da 100644 --- a/pollen-ui-angular/src/main/webapp/js/controllers/pollCtrl.js +++ b/pollen-ui-angular/src/main/webapp/js/controllers/pollCtrl.js @@ -95,6 +95,10 @@ angular.module('pollControllers', []) }); pollDeferred.promise.then(function () { + if ($scope.data.poll.isClosed) { + $rootScope.$broadcast('newWarning', 'poll.closed', -1); + } + var baseUrl = window.location.protocol+'//'+window.location.hostname+window.location.pathname; $scope.globalVariables.linkHome = baseUrl; $scope.globalVariables.linkVote = baseUrl; @@ -218,6 +222,23 @@ angular.module('pollControllers', []) } }; + $scope.closePoll = function () { + if (angular.isDefined($scope.data.poll.id)) { + var confirmMessage; + $translate('action.message.confirmClose').then(function (msg) { + confirmMessage = msg; + }).then( function () { + var confirmClose = confirm(confirmMessage); + if (confirmClose == true) { + $scope.data.poll.$close({permission:$scope.globalVariables.pollToken}, function() { + $rootScope.$broadcast('newSuccess', 'poll.closed'); + $route.reload(); + }); + } + }); + } + }; + }]) .controller('PollAdminCtrl', ['$scope', '$controller', '$modal', '$timeout', '$routeParams', function ($scope, $controller, $modal, $timeout, $routeParams) { diff --git a/pollen-ui-angular/src/main/webapp/js/services.js b/pollen-ui-angular/src/main/webapp/js/services.js index 68c3edf..fc3ff51 100644 --- a/pollen-ui-angular/src/main/webapp/js/services.js +++ b/pollen-ui-angular/src/main/webapp/js/services.js @@ -48,6 +48,10 @@ angular.module('pollenServices', ['ngResource']) transformRequest : function (data, headersGetter) { return 'poll='+encodeURIComponent(JSON.stringify(data)); } + }, + 'close' : { + method : 'PUT', + url : conf.restURL+'/polls/:pollId/close' } }); }]) diff --git a/pollen-ui-angular/src/main/webapp/partials/inline-poll.html b/pollen-ui-angular/src/main/webapp/partials/inline-poll.html index 733fa23..e19b41e 100644 --- a/pollen-ui-angular/src/main/webapp/partials/inline-poll.html +++ b/pollen-ui-angular/src/main/webapp/partials/inline-poll.html @@ -49,7 +49,7 @@ <!-- end print choice --> <!-- begin input vote --> - <tr ng-show="!globalVariables.editMode"> + <tr ng-show="!globalVariables.editMode" ng-if="! data.poll.isClosed"> <td class="pollChoice"> <input-error error="data.vote.restError.voterName[0]" data="data.vote.voterName"> <input type="text" class="form-control" placeholder="{{ 'user.name' | translate }}" ng-model="data.vote.voterName" input-error="data.vote.restError.voterName[0]" /> diff --git a/pollen-ui-angular/src/main/webapp/partials/poll-link.html b/pollen-ui-angular/src/main/webapp/partials/poll-link.html index 76402f4..87fb324 100644 --- a/pollen-ui-angular/src/main/webapp/partials/poll-link.html +++ b/pollen-ui-angular/src/main/webapp/partials/poll-link.html @@ -23,7 +23,7 @@ <a class="fakeLink" ng-show="globalVariables.minify"><span class="glyphicon glyphicon-chevron-right"></span></a> <a class="fakeLink" ng-hide="globalVariables.minify"><span class="glyphicon glyphicon-chevron-left"></span></a> </li> - <li ng-if="data.poll.id"> + <li ng-if="! data.poll.isClosed"> <a href="{{globalVariables.linkVote}}"> <span class="glyphicon glyphicon-link" title="{{ 'poll.link.vote' | translate }}"></span> <span class="text">{{ 'poll.link.vote' | translate }}</span> @@ -62,7 +62,7 @@ </ul> <ul> <li ng-if="data.poll.permission"> - <a class="fakeLink danger"> + <a class="fakeLink danger" ng-click="closePoll()"> <span class="glyphicon glyphicon-remove" title="{{ 'poll.link.close' | translate }}"></span> <span class="text">{{ 'poll.link.close' | translate }}</span> </a> -- To stop receiving notification emails like this one, please contact chorem.org SCM administrator <admin+scm@chorem.org>.
participants (1)
-
chorem.org scm