[pollen] branch develop updated (515309f -> ede7312)
This is an automated email from the git hooks/post-receive script. New change to branch develop in repository pollen. See http://git.chorem.org/pollen.git from 515309f translate poll-info new ede7312 print error in poll settings The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Detailed log of new commits: commit ede73121bde3627bb426ef1f983bd0bc4a538d72 Author: Adrien Garandel <a.garandel@dralagen.fr> Date: Mon Aug 11 17:52:33 2014 +0200 print error in poll settings Summary of changes: .../pollen/services/service/PollService.java | 8 +- .../main/webapp/partials/poll-listParticipant.html | 5 +- .../src/main/webapp/partials/poll-settings.html | 169 +++++++++++++++------ 3 files changed, 132 insertions(+), 50 deletions(-) -- To stop receiving notification emails like this one, please contact chorem.org SCM administrator <admin+scm@chorem.org>.
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 ede73121bde3627bb426ef1f983bd0bc4a538d72 Author: Adrien Garandel <a.garandel@dralagen.fr> Date: Mon Aug 11 17:52:33 2014 +0200 print error in poll settings --- .../pollen/services/service/PollService.java | 8 +- .../main/webapp/partials/poll-listParticipant.html | 5 +- .../src/main/webapp/partials/poll-settings.html | 169 +++++++++++++++------ 3 files changed, 132 insertions(+), 50 deletions(-) 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 dc37162..8cd8baf 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 @@ -29,6 +29,7 @@ import org.chorem.pollen.persistence.entity.*; import org.chorem.pollen.services.PollenApplicationContext; import org.chorem.pollen.services.bean.*; import org.chorem.pollen.services.service.security.PermissionVerb; +import org.chorem.pollen.votecounting.VoteCountingNotFound; import org.nuiton.util.pagination.PaginationParameter; import org.nuiton.util.pagination.PaginationResult; @@ -414,7 +415,12 @@ public class PollService extends PollenServiceSupport { checkNotNull(errors, Poll.PROPERTY_COMMENT_VISIBILITY, poll.getCommentVisibility(), l(getLocale(), "pollen.error.poll.commentVisibility.mandatory")); checkNotNull(errors, Poll.PROPERTY_VOTE_VISIBILITY, poll.getVoteVisibility(), l(getLocale(), "pollen.error.poll.voteVisibility.mandatory")); checkNotNull(errors, Poll.PROPERTY_RESULT_VISIBILITY, poll.getResultVisibility(), l(getLocale(), "pollen.error.poll.resultVisibility.mandatory")); - checkNotNull(errors, Poll.PROPERTY_VOTE_COUNTING_TYPE, poll.getVoteCountingType(), l(getLocale(), "pollen.error.poll.voteCountingType.mandatory")); + + try { + serviceContext.getVoteCountingFactory().getVoteCounting(poll.getVoteCountingType()); + } catch (VoteCountingNotFound e) { + check(errors, Poll.PROPERTY_VOTE_COUNTING_TYPE, false, l(getLocale(), "pollen.error.poll.voteCountingType.mandatory")); + } checkNotBlank(errors, Poll.PROPERTY_TITLE, poll.getTitle(), l(getLocale(), "pollen.error.poll.title.mandatory")); diff --git a/pollen-ui-angular/src/main/webapp/partials/poll-listParticipant.html b/pollen-ui-angular/src/main/webapp/partials/poll-listParticipant.html index 6f6200f..4264be7 100644 --- a/pollen-ui-angular/src/main/webapp/partials/poll-listParticipant.html +++ b/pollen-ui-angular/src/main/webapp/partials/poll-listParticipant.html @@ -19,7 +19,10 @@ #L% --> <h1>{{data.poll.title}}</h1> -<h2>{{ 'poll.restricted.pollType' | translate }}</h2> +<h2> + {{ 'poll.restricted.pollType' | translate }} + <info-error error="restError.pollType" data="data.poll.pollType"></info-error> +</h2> <div> <label for="formFree"> <input type="radio" ng-model="data.poll.pollType" name="type" value="FREE" id="formFree" auto-save="autoSavePoll()"/> diff --git a/pollen-ui-angular/src/main/webapp/partials/poll-settings.html b/pollen-ui-angular/src/main/webapp/partials/poll-settings.html index fc00fc2..789cecf 100644 --- a/pollen-ui-angular/src/main/webapp/partials/poll-settings.html +++ b/pollen-ui-angular/src/main/webapp/partials/poll-settings.html @@ -23,17 +23,31 @@ <h4>{{ 'poll.config.title.creator' | translate }}</h4> <div class="form-group row"> - <label class="col-sm-4 control-label" for="formCreatorName">{{ 'poll.config.label.creatorName' | translate }}</label> - <div class="col-sm-8"> - <input type="text" class="form-control" id="formCreatorName" ng-model="data.poll.creatorName" auto-save="autoSavePoll()" /> + <label class="col-sm-4 control-label" for="formCreatorName"> + {{ 'poll.config.label.creatorName' | translate }} + </label> + <div class="col-sm-6"> + <input-error error="restError['creator.name'][0]" data="data.poll.creatorName"> + <input type="text" class="form-control" id="formCreatorName" ng-model="data.poll.creatorName" auto-save="autoSavePoll()" /> + </input-error> + </div> + <div class="col-sm-2"> + <info-error error="restError['creator.name'][0]"></info-error> </div> </div> <div class="form-group row"> - <label class="col-sm-4 control-label" for="formCreatorEmail">{{ 'poll.config.label.creatorEmail' | translate }}</label> - <div class="col-sm-8"> - <input type="text" class="form-control" id="formCreatorEmail" ng-model="data.poll.creatorEmail" auto-save="autoSavePoll()" /> - <span class="text-help">{{ 'poll.config.label.creatorEmail.help' | translate }}</span> + <label class="col-sm-4 control-label" for="formCreatorEmail"> + {{ 'poll.config.label.creatorEmail' | translate }} + </label> + <div class="col-sm-6"> + <input-error error="restError['creator.email'][0]" data="data.poll.creatorEmail"> + <input type="text" class="form-control" id="formCreatorEmail" ng-model="data.poll.creatorEmail" auto-save="autoSavePoll()" /> + <span class="text-help">{{ 'poll.config.label.creatorEmail.help' | translate }}</span> + </input-error> + </div> + <div class="col-sm-2"> + <info-error error="restError['creator.email'][0]"></info-error> </div> </div> @@ -41,28 +55,40 @@ <div class="form-group row"> <label class="col-sm-4 control-label" for="formBeginDate">{{ 'poll.config.label.beginDate' | translate }}</label> - <div class="col-sm-8"> - <datetimepicker min-date="globalVariables.toDay" - max-date="data.poll.endDate" - ng-model="data.poll.beginDate" - auto-save="autoSavePoll()" - for-id="formBeginDate"></datetimepicker> + <div class="col-sm-6"> + <input-error error="restError.beginDate[0]" data="data.poll.beginDate"> + <datetimepicker min-date="globalVariables.toDay" + max-date="data.poll.endDate" + ng-model="data.poll.beginDate" + auto-save="autoSavePoll()" + for-id="formBeginDate"></datetimepicker> + </input-error> + </div> + <div class="col-sm-2"> + <info-error error="restError.beginDate[0]" data="data.poll.beginDate"></info-error> </div> </div> <div class="form-group row"> <label class="col-sm-4 control-label" for="formEndDate">{{ 'poll.config.label.endDate' | translate }}</label> - <div class="col-sm-8"> - <datetimepicker min-date="data.poll.beginDate" - ng-model="data.poll.endDate" - auto-save="autoSavePoll()" - for-id="formEndDate"></datetimepicker> + <div class="col-sm-6"> + <input-error error="restError.endDate[0]" data="data.poll.endDate"> + <datetimepicker min-date="data.poll.beginDate" + ng-model="data.poll.endDate" + auto-save="autoSavePoll()" + for-id="formEndDate"></datetimepicker> + </input-error> + </div> + <div class="col-sm-2"> + <info-error error="restError.endDate[0]" data="data.poll.endDate"></info-error> </div> </div> <div class="form-group row"> - <label class="col-sm-4 control-label">{{ 'poll.config.label.resultVisibility' | translate }}</label> - <div class="col-sm-8"> + <label class="col-sm-4 control-label"> + {{ 'poll.config.label.resultVisibility' | translate }} + </label> + <div class="col-sm-6"> <label class="label-block"> <input type="radio" ng-model="data.poll.resultVisibility" @@ -90,62 +116,94 @@ {{ 'poll.config.value.visibility.creator' | translate }} </label> </div> + <div class="col-sm-2"> + <info-error error="restError.resultVisibility[0]" data="data.poll.resultVisibility"></info-error> + </div> </div> <div class="form-group row"> - <label class="col-sm-4 control-label" for="formContinuousResults">{{ 'poll.config.label.continuousResults' | translate }}</label> - <div class="col-sm-8"> + <label class="col-sm-4 control-label" for="formContinuousResults"> + {{ 'poll.config.label.continuousResults' | translate }} + </label> + <div class="col-sm-6"> <input type="checkbox" id="formContinuousResults" ng-model="data.poll.continuousResults" auto-save="autoSavePoll()" /> </div> + <div class="col-sm-2"></div> </div> <h4>{{ 'poll.config.title.choice' | translate }}</h4> <div class="form-group row"> - <label class="col-sm-4 control-label" for="formChoiceAddAllowed">{{ 'poll.config.label.choiceAddAllowed' | translate }}</label> - <div class="col-sm-8 btn-group"> + <label class="col-sm-4 control-label" for="formChoiceAddAllowed"> + {{ 'poll.config.label.choiceAddAllowed' | translate }} + </label> + <div class="col-sm-6 btn-group"> <input type="checkbox" id="formChoiceAddAllowed" ng-model="data.poll.choiceAddAllowed" auto-save="autoSavePoll()" /> </div> + <div class="col-sm-2"></div> </div> <div class="form-group row" ng-show="data.poll.choiceAddAllowed"> - <label class="col-sm-4 control-label" for="beginChoiceDate">{{ 'poll.config.label.beginChoiceDate' | translate }}</label> - <div class="col-sm-8"> - <datetimepicker max-date="data.poll.endChoiceDate" - ng-model="data.poll.beginChoiceDate" - auto-save="autoSavePoll()" for-id="beginChoiceDate"></datetimepicker> - + <label class="col-sm-4 control-label" for="beginChoiceDate"> + {{ 'poll.config.label.beginChoiceDate' | translate }} + </label> + <div class="col-sm-6"> + <input-error error="restError.beginChoiceDate[0]" data="data.poll.beginChoiceDate"> + <datetimepicker max-date="data.poll.endChoiceDate" + ng-model="data.poll.beginChoiceDate" + auto-save="autoSavePoll()" for-id="beginChoiceDate"></datetimepicker> + </input-error> + </div> + <div class="col-sm-2"> + <info-error error="restError.beginChoiceDate[0]" data="data.poll.beginChoiceDate"></info-error> </div> </div> <div class="form-group row" ng-if="data.poll.choiceAddAllowed"> - <label class="col-sm-4 control-label" for="endChoiceDate">{{ 'poll.config.label.endChoiceDate' | translate }}</label> - <div class="col-sm-8"> - <datetimepicker min-date="data.poll.beginChoiceDate" - max-date="data.poll.endDate" - ng-model="data.poll.endChoiceDate" - auto-save="autoSavePoll()" - for-id="endChoiceDate"></datetimepicker> + <label class="col-sm-4 control-label" for="endChoiceDate"> + {{ 'poll.config.label.endChoiceDate' | translate }} + </label> + <div class="col-sm-6"> + <input-error error="restError.endChoiceDate[0]" data="data.poll.endChoiceDate"> + <datetimepicker min-date="data.poll.beginChoiceDate" + max-date="data.poll.endDate" + ng-model="data.poll.endChoiceDate" + auto-save="autoSavePoll()" + for-id="endChoiceDate"></datetimepicker> + </input-error> + </div> + <div class="col-sm-2"> + <info-error error="restError.endChoiceDate[0]" data="data.poll.endChoiceDate"></info-error> </div> </div> <div class="form-group row"> - <label class="col-sm-4 control-label" for="formLimitedVote">{{ 'poll.config.label.limitedVote' | translate }}</label> - <div class="col-sm-8"> + <label class="col-sm-4 control-label" for="formLimitedVote"> + {{ 'poll.config.label.limitedVote' | translate }} + </label> + <div class="col-sm-6"> <input type="checkbox" id="formLimitedVote" ng-model="data.poll.limitedVote" auto-save="autoSavePoll()" /> </div> + <div class="col-sm-2"></div> </div> <div class="form-group row" ng-show="data.poll.limitedVote"> <label class="col-sm-4 control-label" for="popMaxChoiceNumber">{{ 'poll.config.label.maxChoiceNumber' | translate }}</label> <div class="col-sm-6"> - <input type="text" class="form-control" id="popMaxChoiceNumber" ng-model="data.poll.maxChoiceNumber" auto-save="autoSavePoll()" /> + <input-error error="restError.maxChoiceNumber[0]" data="data.poll.maxChoiceNumber"> + <input type="text" class="form-control" id="popMaxChoiceNumber" ng-model="data.poll.maxChoiceNumber" auto-save="autoSavePoll()" /> + </input-error> + </div> + <div class="col-sm-2"> + <info-error error="restError.maxChoiceNumber[0]" data="data.poll.maxChoiceNumber"></info-error> </div> </div> <h4>{{ 'poll.config.title.vote' | translate }}</h4> <div class="form-group row"> - <label class="col-sm-4 control-label">{{ 'poll.config.label.voteCountingType' | translate }}</label> - <div class="col-sm-8"> + <label class="col-sm-4 control-label"> + {{ 'poll.config.label.voteCountingType' | translate }} + </label> + <div class="col-sm-6"> <label class="label-block" ng-repeat="voteCountingType in data.allVoteCountingType"> <input type="radio" ng-model="data.poll.voteCountingType" @@ -156,11 +214,16 @@ <hr/> <p ng-bind-html="toHTML(voteCountingTypeHelper)"></p> </div> + <div class="col-sm-2"> + <info-error error="restError.voteCountingType[0]" data="data.poll.voteCountingType"></info-error> + </div> </div> <div class="form-group row"> - <label class="col-sm-4 control-label">{{ 'poll.config.label.voteVisibility' | translate }}</label> - <div class="col-sm-8"> + <label class="col-sm-4 control-label"> + {{ 'poll.config.label.voteVisibility' | translate }} + </label> + <div class="col-sm-6"> <label class="label-block"> <input type="radio" ng-model="data.poll.voteVisibility" @@ -193,18 +256,25 @@ {{ 'poll.config.value.visibility.anonymous' | translate }} </label> </div> + <div class="col-sm-2"> + <info-error error="restError.voteVisibility[0]" data="data.poll.voteVisibility"></info-error> + </div> </div> <div class="form-group row"> - <label class="col-sm-4 control-label" for="formAnonymousVoteAllowed">{{ 'poll.config.label.anonymousVoteAllowed' | translate }}</label> - <div class="col-sm-8 btn-group"> + <label class="col-sm-4 control-label" for="formAnonymousVoteAllowed"> + {{ 'poll.config.label.anonymousVoteAllowed' | translate }} + </label> + <div class="col-sm-6 btn-group"> <input type="checkbox" id="formAnonymousVoteAllowed" ng-model="data.poll.anonymousVoteAllowed" auto-save="autoSavePoll()" /> </div> </div> <div class="form-group row"> - <label class="col-sm-4 control-label">{{ 'poll.config.label.commentVisibility' | translate }}</label> - <div class="col-sm-8"> + <label class="col-sm-4 control-label"> + {{ 'poll.config.label.commentVisibility' | translate }} + </label> + <div class="col-sm-6"> <label class="label-block"> <input type="radio" ng-model="data.poll.commentVisibility" @@ -232,5 +302,8 @@ {{ 'poll.config.value.visibility.nobody' | translate }} </label> </div> + <div class="col-sm-2"> + <info-error error="restError.commentVisibility[0]" data="data.poll.commentVisibility"></info-error> + </div> </div> </form> -- To stop receiving notification emails like this one, please contact chorem.org SCM administrator <admin+scm@chorem.org>.
participants (1)
-
chorem.org scm