This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository pollen. See https://gitlab.nuiton.org/chorem/pollen.git commit 80045391b9c07e6886740dee907e1c38b4befc2d Merge: 0d7838eb 4916a0a0 Author: Maven Release <maven-release@codelutin.com> Date: Tue Dec 5 10:23:58 2017 +0000 Merge branch 'release/3.1.0' .gitlab-ci.yml | 20 + CHANGELOG | 23 + Dockerfile | 8 +- README.md | 133 ++-- docs/assets/images/logo.png | Bin 0 -> 10506 bytes docs/config.md | 137 ++++ docs/electionMethods.md | 165 +++++ docs/index.md | 51 ++ docs/install.md | 53 ++ docs/socialauth.md | 33 + mkdocs.yml | 26 + pollen-persistence/pom.xml | 2 +- .../common/V3_1_0_5__Extract_email_addresses.java | 131 ++++ .../pollen/persistence/entity/PollTopiaDao.java | 12 + .../persistence/entity/PollenResourceTopiaDao.java | 12 + ...pl.java => PollenUserEmailAddressTopiaDao.java} | 25 +- .../pollen/persistence/entity/PollenUserImpl.java | 2 +- .../persistence/entity/PollenUserTopiaDao.java | 23 +- .../chorem/pollen/persistence/entity/Polls.java | 2 +- .../persistence/entity/UserCredentialTopiaDao.java | 18 +- .../pollen/persistence/entity/VoteToChoices.java | 15 +- .../pollen/persistence/entity/VoteTopiaDao.java | 11 + .../db/migration/h2/V3_1_0_1__add_premium.sql | 8 + .../db/migration/h2/V3_1_0_2__add_avatar.sql | 3 + .../h2/V3_1_0_3__add_vote_counting_config.sql | 23 + .../h2/V3_1_0_4__add_email_address_table.sql | 13 + .../h2/V3_1_0_6__drop_email_from_user.sql | 2 + .../h2/V3_1_0_7__add_user_can_create_poll.sql | 3 + .../h2/V3_1_0_8__add_from_and_replyTo_mail.sql | 3 + .../db/migration/h2/V3_1_0_9__add_invalid_mail.sql | 3 + .../migration/postgresql/V3_1_0_1__add_premium.sql | 8 + .../migration/postgresql/V3_1_0_2__add_avatar.sql | 3 + .../V3_1_0_3__add_vote_counting_config.sql | 23 + .../V3_1_0_4__add_email_address_table.sql | 13 + .../postgresql/V3_1_0_6__drop_email_from_user.sql | 2 + .../V3_1_0_7__add_user_can_create_poll.sql | 3 + .../V3_1_0_8__add_from_and_replyTo_mail.sql | 3 + .../postgresql/V3_1_0_9__add_invalid_mail.sql | 3 + pollen-persistence/src/main/xmi/pollen.properties | 2 +- pollen-persistence/src/main/xmi/pollen.zargo | Bin 28355 -> 30672 bytes pollen-rest-api/pom.xml | 25 +- .../pollen/rest/api/PollenRestApiApplication.java | 6 + .../rest/api/PollenRestApiApplicationContext.java | 46 +- .../rest/api/PollenRestApiApplicationListener.java | 34 +- .../rest/api/PollenRestApiRequestFilter.java | 143 +++- .../EmptyVoteCountingConfigSerializer.java} | 24 +- .../pollen/rest/api/converter/JacksonConfig.java | 4 + .../converter/VoteCountingConfigDeserializer.java | 128 ++++ .../PollenAbstractExceptionMapper.java | 12 - .../PollenAuthenticationExceptionMapper.java | 2 +- ... PollenDefaultEmailAddressExceptionMapper.java} | 13 +- .../PollenInvalidSessionTokenExceptionMapper.java | 2 +- .../PollenUnauthorizedExceptionMapper.java | 2 +- ....java => PollenUserUnknownExceptionMapper.java} | 11 +- .../org/chorem/pollen/rest/api/v1/ApiUtils.java | 2 +- .../org/chorem/pollen/rest/api/v1/AuthApi.java | 111 +-- .../org/chorem/pollen/rest/api/v1/CommentApi.java | 31 +- .../chorem/pollen/rest/api/v1/FavoriteListApi.java | 22 +- .../org/chorem/pollen/rest/api/v1/FeedbackApi.java | 4 +- .../java/org/chorem/pollen/rest/api/v1/GtuApi.java | 4 +- .../org/chorem/pollen/rest/api/v1/PollApi.java | 74 +- .../pollen/rest/api/v1/PollenResourceApi.java | 13 +- .../chorem/pollen/rest/api/v1/PollenUserApi.java | 130 +++- .../v1/{FeedbackApi.java => TransverseApi.java} | 30 +- .../org/chorem/pollen/rest/api/v1/VoteApi.java | 35 +- .../chorem/pollen/rest/api/v1/VoterListApi.java | 105 ++- .../src/main/resources/log4j.properties | 2 +- .../src/main/resources/pollen-rest-api.properties | 1 + .../pollen/rest/api/AbstractPollenRestApiTest.java | 6 +- .../org/chorem/pollen/rest/api/AuthApiTest.java | 8 +- .../chorem/pollen/rest/api/PollenUserApiTest.java | 34 +- pollen-services/pom.xml | 22 +- pollen-services/src/main/config/PollenServices.ini | 143 ++-- .../pollen/services/PollenApplicationContext.java | 4 +- .../org/chorem/pollen/services/PollenFixtures.java | 4 + .../chorem/pollen/services/PollenUIContext.java | 10 + .../java/org/chorem/pollen/services/UnitHuman.java | 5 +- .../services/bean/ChildFavoriteListBean.java | 23 - .../chorem/pollen/services/bean/ChoiceBean.java | 29 - .../chorem/pollen/services/bean/CommentBean.java | 54 +- .../{GtuMetaBean.java => ConfigurationBean.java} | 22 +- .../pollen/services/bean/FavoriteListBean.java | 20 - .../services/bean/FavoriteListMemberBean.java | 24 - .../pollen/services/bean/LoginProviderBean.java | 23 - .../org/chorem/pollen/services/bean/PollBean.java | 168 +---- .../chorem/pollen/services/bean/PollenBean.java | 4 - .../chorem/pollen/services/bean/PollenBeans.java | 49 +- .../chorem/pollen/services/bean/PollenStatus.java | 160 ++++ .../pollen/services/bean/PollenUserBean.java | 105 +-- ...taBean.java => PollenUserEmailAddressBean.java} | 30 +- .../chorem/pollen/services/bean/ReportBean.java | 21 - .../pollen/services/bean/ResourceFileBean.java | 141 ---- .../pollen/services/bean/ResourceStreamBean.java | 123 ---- .../pollen/services/bean/UserCredentialBean.java | 21 +- .../bean/{GtuMetaBean.java => UsersRight.java} | 13 +- .../org/chorem/pollen/services/bean/VoteBean.java | 90 +-- .../pollen/services/bean/VoteCountingTypeBean.java | 4 + .../pollen/services/bean/VoteToChoiceBean.java | 24 - .../chorem/pollen/services/bean/VoterListBean.java | 36 +- .../pollen/services/bean/VoterListMemberBean.java | 44 +- .../bean/export/ChildFavoriteListExport.java | 16 - .../AbstractResourceBean.java} | 55 +- .../services/bean/{ => resource}/GtuMetaBean.java | 2 +- .../services/bean/resource/ResourceFileBean.java | 81 ++ .../resource/ResourceMetaBean.java} | 32 +- .../services/bean/resource/ResourceStreamBean.java | 63 ++ .../voteCounting/VoteCountingDetailResultBean.java | 8 + .../MajorityJudgmentChoiceResultBean.java | 83 +++ .../MajorityJudgmentDetailResultBean.java | 79 ++ .../services/config/PollenServicesConfig.java | 25 +- .../pollen/services/job/AbstractPollenJob.java | 36 +- .../CheckMailBoxJob.java} | 31 +- .../DeleteObsoleteSessionTokensJob.java} | 31 +- .../pollen/services/job/SendEmailInErrorsJob.java | 20 +- .../services/job/SendPollEndReminderJob.java | 52 +- .../pollen/services/service/ChoiceService.java | 80 +- .../pollen/services/service/CommentService.java | 89 ++- .../services/service/FavoriteListService.java | 76 +- .../pollen/services/service/FeedService.java | 8 +- .../pollen/services/service/FeedbackService.java | 7 +- .../pollen/services/service/FixturesService.java | 21 +- .../chorem/pollen/services/service/GtuService.java | 56 +- .../services/service/NotificationService.java | 69 +- .../pollen/services/service/PollService.java | 272 +++++-- .../services/service/PollenResourceService.java | 94 ++- .../services/service/PollenServiceSupport.java | 100 ++- .../pollen/services/service/PollenUserService.java | 378 +++++++--- .../pollen/services/service/ReportService.java | 67 +- .../pollen/services/service/SocialAuthService.java | 89 ++- .../pollen/services/service/TransverseService.java | 110 +++ .../services/service/VoteCountingService.java | 86 ++- .../services/service/VoteCountingTypeService.java | 2 + .../pollen/services/service/VoteService.java | 174 +++-- .../pollen/services/service/VoterListService.java | 227 +++--- .../services/service/mail/AbstractReportEmail.java | 7 + .../services/service/mail/AbstractVoteEmail.java | 8 + .../services/service/mail/ChoiceAddedEmail.java | 8 + .../services/service/mail/ChoiceDeletedEmail.java | 9 + .../services/service/mail/ChoiceEditedEmail.java | 8 + .../services/service/mail/CommentAddedEmail.java | 8 + .../services/service/mail/CommentDeletedEmail.java | 8 + .../services/service/mail/CommentEditedEmail.java | 8 + .../pollen/services/service/mail/EmailService.java | 231 +++++- ...atedEmail.java => ExceedingMaxVotersEmail.java} | 37 +- .../services/service/mail/FeedbackEmail.java | 21 +- .../services/service/mail/LostPasswordEmail.java | 11 +- .../services/service/mail/MailBoxService.java | 318 ++++++++ .../service/mail/PollChoicePeriodEndedEmail.java | 8 + .../service/mail/PollChoicePeriodStartedEmail.java | 8 + .../services/service/mail/PollClosedEmail.java | 8 + .../services/service/mail/PollCreatedEmail.java | 8 + .../service/mail/PollEndReminderEmail.java | 8 + .../services/service/mail/PollInvitationEmail.java | 34 + .../services/service/mail/PollReportEmail.java | 7 + .../service/mail/PollReportForAdminEmail.java | 8 + .../service/mail/PollVotePeriodEndedEmail.java | 8 + .../service/mail/PollVotePeriodStartedEmail.java | 8 + .../service/mail/PollVoteReminderEmail.java | 8 + .../services/service/mail/PollenEmailKeyType.java | 72 ++ .../mail/PollenInvalidEmailsException.java} | 17 +- .../pollen/services/service/mail/PollenMail.java | 17 +- .../service/mail/PollenMailReturnContext.java | 127 ++++ .../services/service/mail/PollenMailType.java | 99 +++ .../service/mail/ResendValidationEmail.java | 16 +- .../mail/RestrictedPollInvitationEmail.java | 34 + .../service/mail/UserAccountCreatedEmail.java | 24 +- .../mail/UserAccountCreatedFromProviderEmail.java | 11 +- .../service/mail/UserAccountDeletedEmail.java | 11 +- .../service/mail/UserAccountEditedEmail.java | 11 +- ...java => UserAccountEmailAddressAddedEmail.java} | 27 +- .../mail/UserAccountEmailValidatedEmail.java | 11 +- .../mail/UserAccountPasswordChangedEmail.java | 11 +- .../security/DefaultPollenSecurityContext.java | 46 +- .../PollenDefaultEmailAddressException.java | 15 +- .../security/PollenEmailNotValidatedException.java | 2 + .../PollenInvalidSessionTokenException.java | 7 + ...onTokenException.java => PollenPermission.java} | 15 +- .../service/security/PollenPermissions.java | 114 +++ .../service/security/PollenSecurityContext.java | 10 +- .../service/security/PollenSecurityRealm.java | 95 --- .../security/PollenUserBannedException.java | 2 + ...onVerb.java => PollenUserUnknownException.java} | 35 +- .../services/service/security/SecurityService.java | 818 ++++++--------------- .../test/FakePollenApplicationContext.java | 16 +- .../services/test/FakePollenServiceContext.java | 6 +- .../email/ExceedingMaxVotersEmail.mustache | 5 + .../email/ExceedingMaxVotersEmail_fr.mustache | 6 + .../main/resources/email/FeedbackEmail.mustache | 1 + .../main/resources/email/FeedbackEmail_fr.mustache | 1 + .../resources/email/ResendValidationEmail.mustache | 6 +- .../email/ResendValidationEmail_fr.mustache | 6 +- .../email/UserAccountCreatedEmail.mustache | 8 +- .../email/UserAccountCreatedEmail_fr.mustache | 8 +- .../UserAccountEmailAddressAddedEmail.mustache | 5 + .../UserAccountEmailAddressAddedEmail_fr.mustache | 5 + .../email/UserAccountEmailValidatedEmail.mustache | 4 +- .../UserAccountEmailValidatedEmail_fr.mustache | 4 +- pollen-services/src/main/resources/fixtures.yaml | 49 +- .../i18n/pollen-services_en_GB.properties | 82 +-- .../i18n/pollen-services_fr_FR.properties | 52 +- .../pollen/services/AbstractPollenServiceTest.java | 10 +- .../services/service/FavoriteListServiceTest.java | 10 +- .../pollen/services/service/PollServiceTest.java | 14 +- .../services/service/PollenUserServiceTest.java | 157 ++-- .../services/service/VoteCountingServiceTest.java | 1 + .../services/service/VoterListServiceTest.java | 6 +- pollen-ui-riot-js/package.json | 8 +- pollen-ui-riot-js/pom.xml | 2 +- pollen-ui-riot-js/src/main/web/css/custom.css | 6 +- pollen-ui-riot-js/src/main/web/css/main.css | 8 + .../web/{home/en.html => customData/home-en.html} | 10 +- .../web/{home/fr.html => customData/home-fr.html} | 10 +- .../en.html => customData/legalNotices-en.html} | 24 +- .../en.html => customData/legalNotices-fr.html} | 23 +- .../src/main/web/{home => customData}/lutin.png | Bin .../maxVotersAlert-creator-en.html} | 25 +- .../maxVotersAlert-creator-fr.html} | 25 +- .../en.html => customData/maxVotersAlert-en.html} | 23 +- .../en.html => customData/maxVotersAlert-fr.html} | 23 +- .../src/main/web/{home => customData}/style.css | 0 pollen-ui-riot-js/src/main/web/homeCL/en.html | 6 +- pollen-ui-riot-js/src/main/web/homeCL/fr.html | 6 +- pollen-ui-riot-js/src/main/web/homeCL/offers.html | 6 +- pollen-ui-riot-js/src/main/web/i18n/en.json | 84 ++- pollen-ui-riot-js/src/main/web/i18n/fr.json | 122 ++- pollen-ui-riot-js/src/main/web/index.js | 2 +- pollen-ui-riot-js/src/main/web/js/AuthService.js | 34 +- .../src/main/web/js/ConfigurationService.js | 29 +- pollen-ui-riot-js/src/main/web/js/FetchService.js | 3 +- pollen-ui-riot-js/src/main/web/js/Poll.js | 13 +- pollen-ui-riot-js/src/main/web/js/PollForm.js | 20 +- pollen-ui-riot-js/src/main/web/js/PollService.js | 31 +- .../src/main/web/js/ResourceService.js | 13 +- pollen-ui-riot-js/src/main/web/js/Session.js | 80 +- pollen-ui-riot-js/src/main/web/js/UserService.js | 58 ++ pollen-ui-riot-js/src/main/web/js/VoteService.js | 2 +- .../src/main/web/js/VoterListService.js | 43 +- .../src/main/web/tag/Authorization.tag.html | 94 +++ .../tag/{Home.tag.html => ContentLoader.tag.html} | 17 +- .../src/main/web/tag/FilterLoginProvider.tag.js | 66 ++ .../web/{home/style.css => tag/PageChanged.tag.js} | 21 +- pollen-ui-riot-js/src/main/web/tag/Pollen.tag.html | 432 ++++++----- .../src/main/web/tag/PollenFooter.tag.html | 1 + .../src/main/web/tag/PollenHeader.tag.html | 55 +- .../src/main/web/tag/Privacy.tag.html | 4 +- .../src/main/web/tag/SignCheck.tag.html | 25 +- pollen-ui-riot-js/src/main/web/tag/SignIn.tag.html | 29 +- .../{home/style.css => tag/SignInAction.tag.js} | 27 +- pollen-ui-riot-js/src/main/web/tag/SignUp.tag.html | 6 +- .../src/main/web/tag/UserProfile.tag.html | 449 +++++++---- .../src/main/web/tag/admin/UserCard.tag.html | 41 +- .../src/main/web/tag/admin/UserEditModal.tag.html | 194 +++-- .../src/main/web/tag/admin/Users.tag.html | 6 +- .../Avatar.tag.html} | 48 +- .../src/main/web/tag/components/Card.tag.html | 8 +- .../InnerHtml.tag.html} | 35 +- .../src/main/web/tag/components/LazyLoad.tag.html | 6 +- .../tag/components/UserEmailAddressList.tag.html | 159 ++++ .../main/web/tag/components/date-picker.tag.html | 13 +- .../web/tag/favoriteList/FavoriteList.tag.html | 2 +- .../favoriteList/FavoriteListEditModal.tag.html | 8 +- .../web/tag/favoriteList/ImportCsvModal.tag.html | 6 +- .../web/tag/favoriteList/ImportLdapModal.tag.html | 6 +- .../src/main/web/tag/poll/CheckEmails.tag.html | 65 ++ .../src/main/web/tag/poll/Choice.tag.html | 3 +- .../src/main/web/tag/poll/ChoiceView.tag.html | 6 +- .../src/main/web/tag/poll/Comments.tag.html | 13 +- .../src/main/web/tag/poll/Description.tag.html | 12 +- .../src/main/web/tag/poll/EditPoll.tag.html | 14 +- .../src/main/web/tag/poll/EditVote.tag.html | 445 +++++++++++ .../src/main/web/tag/poll/Poll.tag.html | 51 +- .../src/main/web/tag/poll/PollCard.tag.html | 38 +- .../src/main/web/tag/poll/Polls.tag.html | 6 +- .../src/main/web/tag/poll/Results.tag.html | 16 +- .../src/main/web/tag/poll/Settings.tag.html | 63 +- .../src/main/web/tag/poll/Summary.tag.html | 67 +- .../src/main/web/tag/poll/Votes.tag.html | 668 +---------------- .../src/main/web/tag/poll/VotesTable.tag.html | 366 +++++++++ .../src/main/web/tag/popup/ConfirmPopup.tag.html | 23 +- .../main/web/tag/popup/InformationPopup.tag.html | 2 +- .../src/main/web/tag/popup/Modal.tag.html | 2 +- .../web/tag/voteCountingType/BordaConfig.tag.html | 136 ++++ .../voteCountingType/BordaDetailResult.tag.html | 12 +- .../CumulativeConfig.tag.html} | 51 +- .../MajorityJudgmentConfig.tag.html | 104 +++ .../MajorityJudgmentDetailResult.tag.html | 222 ++++++ .../MaxChoicesNumberConfig.tag.html | 80 ++ .../src/main/web/tag/voterList/VoterList.tag.html | 56 +- .../web/tag/voterList/VoterListMemberCard.tag.html | 8 +- pollen-ui-riot-js/webpack.config.js | 2 +- pollen-votecounting-aggregator/pom.xml | 12 +- pollen-votecounting-api/pom.xml | 2 +- .../pollen/votecounting/AbstractVoteCounting.java | 14 +- .../votecounting/AbstractVoteCountingStrategy.java | 10 +- .../chorem/pollen/votecounting/VoteCounting.java | 14 +- .../pollen/votecounting/VoteCountingFactory.java | 3 +- .../pollen/votecounting/VoteCountingStrategy.java | 5 +- .../votecounting/model/ChoiceToVoteRenderType.java | 5 +- .../model/EmptyVoteCountingConfig.java | 13 +- .../votecounting/model/MaxChoicesNumberConfig.java | 16 +- .../votecounting/model/VoteCountingConfig.java | 13 +- pollen-votecounting-borda/pom.xml | 7 +- .../chorem/pollen/votecounting/BordaConfig.java | 20 +- .../pollen/votecounting/BordaVoteCounting.java | 7 +- .../votecounting/BordaVoteCountingStrategy.java | 38 +- .../pollen-votecounting-borda_fr_FR.properties | 2 +- .../BordaVoteCountingStrategyTest.java | 8 +- pollen-votecounting-condorcet/pom.xml | 2 +- .../pollen/votecounting/CondorcetVoteCounting.java | 8 +- .../CondorcetVoteCountingStrategy.java | 3 +- .../pollen-votecounting-condorcet_fr_FR.properties | 2 +- .../CondorcetVoteCountingStrategyTest.java | 8 +- pollen-votecounting-coombs/pom.xml | 2 +- .../pollen/votecounting/CoombsVoteCounting.java | 8 +- .../votecounting/CoombsVoteCountingStrategy.java | 3 +- .../pollen-votecounting-coombs_en_GB.properties | 2 +- .../pollen-votecounting-coombs_fr_FR.properties | 2 +- .../CoombsVoteCountingStrategyTest.java | 8 +- .../LICENSE.txt | 0 .../README.md | 0 .../pom.xml | 8 +- .../pollen/votecounting/CumulativeConfig.java | 18 +- .../votecounting/CumulativeVoteCounting.java | 21 +- .../CumulativeVoteCountingStrategy.java | 2 +- .../org.chorem.pollen.votecounting.VoteCounting | 1 + ...pollen-votecounting-cumulative_en_GB.properties | 4 + ...pollen-votecounting-cumulative_fr_FR.properties | 4 + .../CumulativeVoteCountingStrategyTest.java | 14 +- .../votecounting/VoteCountingFactoryTest.java | 2 +- .../src/test/resources/log4j.properties | 0 pollen-votecounting-instant-runoff/pom.xml | 2 +- .../votecounting/InstantRunoffVoteCounting.java | 16 +- .../InstantRunoffVoteCountingStrategy.java | 3 +- .../InstantRunoffVoteCountingStrategyTest.java | 8 +- .../LICENSE.txt | 0 .../README.md | 0 .../pom.xml | 8 +- .../votecounting/MajorityJudgmentChoiceResult.java | 64 ++ .../votecounting/MajorityJudgmentConfig.java | 20 +- .../votecounting/MajorityJudgmentDetailResult.java | 65 ++ .../votecounting/MajorityJudgmentVoteCounting.java | 34 +- .../MajorityJudgmentVoteCountingStrategy.java | 264 +++++++ .../org.chorem.pollen.votecounting.VoteCounting | 1 + ...votecounting-majority-judgment_en_GB.properties | 4 + ...votecounting-majority-judgment_fr_FR.properties | 4 + .../MajorityJudgmentVoteCountingStrategyTest.java | 341 +++++++++ .../votecounting/VoteCountingFactoryTest.java | 10 +- .../src/test/resources/log4j.properties | 2 +- pollen-votecounting-normal/pom.xml | 2 +- .../pollen/votecounting/NormalVoteCounting.java | 16 +- .../votecounting/NormalVoteCountingStrategy.java | 3 +- .../NormalVoteCountingStrategyTest.java | 8 +- pollen-votecounting-number/pom.xml | 2 +- .../pollen/votecounting/NumberVoteCounting.java | 16 +- .../votecounting/NumberVoteCountingStrategy.java | 9 +- .../NumberVoteCountingStrategyTest.java | 9 +- .../org.chorem.pollen.votecounting.VoteCounting | 1 - ...pollen-votecounting-percentage_en_GB.properties | 4 - ...pollen-votecounting-percentage_fr_FR.properties | 4 - pom.xml | 23 +- 360 files changed, 10166 insertions(+), 5139 deletions(-) -- To stop receiving notification emails like this one, please contact chorem.org SCM administrator <admin+scm@chorem.org>.