This is an automated email from the git hooks/post-receive script. New change to branch feature/41_mentions_legales in repository pollen. See https://gitlab.nuiton.org/chorem/pollen.git omits 71ed13bb Ajoute une page de mentions légales par défaut et déplace toutes les données à customiser dans un répertoire spécifique omits 79c4acf8 Corrige l'url des mentions légales omits a0594fd2 Corrige une mauvaise configuration omits 95bea2d4 Restaure la section Politique de confidentialité omits 5a778c5b Supprime le tag concernant les mentions légales. omits 86edd712 Spécifie les mentions légales omits 9352965d Renomme le composant 'Privacy' en 'LegalNotices' adds 72199763 Maj des dépendances et entêtes en vue de la release. adds 66b90103 update gitlab ci for release adds 02a5af9d ajout de l'url de voe à partager dans la page de résumé du sondage + warning pour ne pas partager la page de résumé adds 6e45bf56 ajout d'un tooltip sur le bouton copier + suppression du warning adds 863823eb style adds 791e3415 update gitlab ci for release adds d8b73ea2 update gitlab ci for release adds 846d7878 update gitlab ci for release adds 7c572986 update gitlab ci for release adds 037a7157 update gitlab ci for release adds 3fe11b0b update gitlab ci for release adds fb0d5b02 update gitlab ci for release adds 29e6854a update gitlab ci for release adds 57cf8c08 update gitlab ci for release adds cc88f3f3 Update .gitlab-ci.yml adds a954f3f5 Update .gitlab-ci.yml adds c9a24a48 release 3.0.0 success [skip ci] adds 3afb5b13 release 3.0.0 success [skip ci] adds 66af7606 Update .gitlab-ci.yml adds 628af107 release 3.0.0 success [skip ci] adds 7ce8b58d Update .gitlab-ci.yml adds 9f9d925f suppression d'un mauvais nom de domaine adds 4ed8e91e Empty CHANGELOG adds 3b0a0e98 release 3.0.0 success [skip ci] adds bd177f18 Update .gitlab-ci.yml adds 34698a83 Update CHANGELOG adds f5608178 release 3.0.0 success [skip ci] adds bdf3b65c Merge branch 'release/3.0.0' adds 50cd29bb Merge tag '3.0.0' into develop adds 91d1a280 passage à la version 3.1.0-SNAPSHOT adds 3efc4383 passage à la version 3.1.0 pour le js adds 8ab5eda8 correction du footer en anglais adds a774bbd8 Limitations du nombre votants (ref #58), Déplacement des méthodes de transformation des entités en bean dans les services adds 6b46dc9a indiquer la limite de votants pour un sondage (ref #58) adds bf74bb03 ne pas afficher les votes ignorés (ref #58) adds 9ba5ccb2 Dans les listes des sondages : voir les sondage hors limites du nombre de votants (ref #58) adds 5cd67c81 Création et modification d'un sondage restreint, avertir si le nombre de participant dépasse le nombre maximum de votants (ref #58) adds 9f142759 envoyer un mail quand le nombre de votants dépasse la valeur max (ref #58) adds a59ea622 Merge branch 'feature/58-limitation-des-votants' into develop adds 9b760b6e refs #28 ajout de l'avatar pour l'utilisateur + possibilité d'en choisir un parmi les providers disponibles adds 47dd3508 refs #28 message si avatar non chargé adds 9caec977 refs #28 finalement on stocke l'avatar dans une resource en base meme quand ça vient d'un tiers adds d1e7140e refs #28 forumlaire d'upload de l'avatar adds 16c884e0 refs #28 utilisation de l'avatar adds 0b084777 ajout e variable dans le package.json adds 24e6ad02 rebase adds d7f90355 refs #28 utilisation des avatars un peu partout + verif de la taille et du type de fichier pour l'avatar adds 3f4c675f fixes #28 Avatar for the users adds c9e1e9ab Passage en version 3.0.1 adds ff9fe24e Correction des traductions adds 45e53c95 correction du pattern vide du choix adds bf5ac4c4 fixes #156 I cannot edit my vote in a restricted poll adds 567aa0d1 fixes #154 The icons to log in through 3rd party providers do not display if I want to log in after my token expires adds ca08eafd réaffichage de la page après la connexion adds b1ba1d22 correction vote pour un sondage restreint par le créateur connecté avec le token d'un autre invité adds 41342262 update changlog adds 4e17e544 Merge tag '3.0.1' into develop adds 17348adb fixes #151 I cannot delete my account adds 73c393df fixes #46 Remove DevMode adds 050ad685 fixes #130 sauvegarde de la langue de l'UI adds 065aa161 Ajouter la configuration des méthodes vote (ref #148). Adaptation pour Normal, Cumulatif (ancien pourcentage), Nombre et Borda adds bd2be132 on ne cherche l'image d'avatar que si l'utilisateur a un avatar adds 1d19af87 correction de la valeur de la conf par défaut des types de sondage adds 540d368f Erreur de sérialisation de la config vide adds 2b6afd92 fixes #151 placement du bouton adds 37204ee8 mise en page de la section avatar du profil adds 200e8231 implentation du jugement majoritaire (algo de dépouillement) ref #149 adds d989f50e Configuration du jugement majoritaire a l'edition du sondage ref #149 adds dd36bebb modification de l'écran de vote pour la jugement majoritaire ref #149 adds ddf81a43 modification de l'écran de résultat pour la jugement majoritaire ref #149 adds 3fe4ce2f Merge branch 'feature/149-jugement-majoritaire' into develop adds 7249b09f correction de l'id de la resource pour les choix de type resource adds 55e0db1c correction couleur des commentaires adds 56c2b402 Borda : mise a jour du nombre de rangs si le nombre de choix change adds 8281c4c0 ajout du type de bouton adds 681c5f06 refs #44 debut de modifs du back pour accepter plusieurs emails par utilisateur adds 4984c6df fichier oublié adds 062dbeac refs #44 checks de sécurité + refactoring + tests unitaires adds 36295f55 corrections exceptions adds 36c7fa73 refs #44 correction de la migration adds e574d5ce refs #44 envoi d'un mail pour validation de l'adresse email adds cd10e94e refs #44 corrections adds 8c99b526 refs #44 nouvelle ui pour les adresses email adds 41a0c8a3 refs #44 meilleure gestion des emails de validation adds 86a73fba refs #44 validation de l'adresse email par l'admin adds ca0eeef8 refs #44 gestion des adresses email par l'admin adds 90f30944 gestion de l'avatar par l'admin adds afb6df3c refs #44 correction de la migration pour ajouter les emails des providers adds 1a9d7396 fixes #44 Several email addresses for the users adds f084635d en fonction de la configuration serveur rendre obligatoire la connexion des utilisateur (refs #85) adds 4a45f10f ajout du lien qui explique comment tester les providers en local adds 6d8f4a2a droit de création de sondage (refs #85) adds 9fc5f9a0 Merge branch 'feature/85-droits-utilisateurs' into develop adds d4cab629 correction des mails pour la création de compte adds 2bc5ad46 ajout d'une traduction adds 5f06504e ne pas initilaiser la date de premium, ne pas enregistrer le droit de création de sondage si l'option n'est pas active. adds 5989d7d9 Merge branch 'hotfix/3.0.1' adds 41b49632 Merge tag '3.0.1' into develop adds b04aa221 modification de la version de pollen => 3.0.2 adds bee58e82 A jout du fuseau horaire en configuration dans le formatage des dates pour les courriels adds c04bb083 correction de l'import CSV d'une liste de votants ( ref #159) + correction du chargement de la page adds aae34ef7 mise à jour du change log adds d49640ee Merge branch 'hotfix/3.0.2' adds d8d09435 Merge tag '3.0.2' into develop adds be707f0b Merge tag '3.0.2' into develop adds b5e83c33 desactivé le bouton "enregistrer" pendant la création du sondage coté serveur (ref #162) adds 6bc52ca9 Corrige une dépendance déclarée en doublon adds 952dd455 Corrige le scope d'une dépendance adds 91bfe728 Sppression de token de session par un batch et non a la vérification du token + correction lié a l'expiration d'un token de séssion adds 802700b3 Sppression des ambiguité de l'API REST adds 49552acb mise en place du gitlab-page pour la documentation utilisateur (ref #88) adds dc16b42e mise en place du gitlab-page pour la documentation utilisateur (ref #88) adds 5f7a295f correction de l'initialisation de la base de données adds fa5c3466 correction des tests adds d93d7f03 Ajout des page de configuration et d'installation de Pollen (ref #88) adds 0adec829 Ajout des page de configuration et d'installation de Pollen (ref #88) adds 00ac16ed supression des options et des traductions non utilisées adds a2e5b891 mise a jour du readme adds 628f5736 mise a jour du readme new 24c9d344 Renomme le composant 'Privacy' en 'LegalNotices' new 4fcb9e80 Spécifie les mentions légales new 3527c562 Supprime le tag concernant les mentions légales. new 5d307666 Restaure la section Politique de confidentialité new a9464b30 Corrige une mauvaise configuration new 08842863 Corrige l'url des mentions légales new 015f52f0 Ajoute une page de mentions légales par défaut et déplace toutes les données à customiser dans un répertoire spécifique This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (71ed13bb) \ N -- N -- N refs/heads/feature/41_mentions_legales (015f52f0) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omits" are not gone; other references still refer to them. Any revisions marked "discards" are gone forever. The 7 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 015f52f090f72784f913c39d46f6b6c9af403e36 Author: Samuel Maisonneuve <maisonneuve@codelutin.com> Date: Wed Sep 27 14:48:51 2017 +0200 Ajoute une page de mentions légales par défaut et déplace toutes les données à customiser dans un répertoire spécifique refs #41 commit 0884286364ef30bb540b149e5312f0fddb3a72f0 Author: Samuel Maisonneuve <maisonneuve@codelutin.com> Date: Tue Sep 26 18:04:02 2017 +0200 Corrige l'url des mentions légales commit a9464b30652dcf8c206c93801fde41a388f1b354 Author: Samuel Maisonneuve <maisonneuve@codelutin.com> Date: Tue Sep 26 16:52:50 2017 +0200 Corrige une mauvaise configuration commit 5d307666ea642fc33a05f9b2c78d0e0dcfd3c079 Author: Samuel Maisonneuve <maisonneuve@codelutin.com> Date: Tue Sep 26 16:45:51 2017 +0200 Restaure la section Politique de confidentialité commit 3527c5625ca2aeaa8773f1f7c7fcef1dfc0b8608 Author: Samuel Maisonneuve <maisonneuve@codelutin.com> Date: Tue Sep 26 16:12:17 2017 +0200 Supprime le tag concernant les mentions légales. Celles-ci ont été extraites dans une projet séparé et déployé en tant que gitlab pages. fixes #41 commit 4fcb9e80da8f30f8f8c03d7b10159c5329fa985b Author: Samuel Maisonneuve <maisonneuve@codelutin.com> Date: Tue Sep 26 11:51:25 2017 +0200 Spécifie les mentions légales commit 24c9d344d386e84b6695ccfd468571637f8759fb Author: Samuel Maisonneuve <maisonneuve@codelutin.com> Date: Tue Sep 26 10:55:34 2017 +0200 Renomme le composant 'Privacy' en 'LegalNotices' Summary of changes: .gitlab-ci.yml | 78 +++- CHANGELOG | 32 ++ README.md | 90 +--- .../main/web/img => docs/assets/images}/logo.png | Bin docs/config.md | 121 ++++++ src/site/fr/rst/index.rst => docs/index.md | 40 +- docs/install.md | 46 ++ docs/socialauth.md | 33 ++ mkdocs.yml | 25 ++ pollen-persistence/pom.xml | 2 +- .../common/V3_1_0_5__Extract_email_addresses.java | 107 +++++ .../org/chorem/pollen/persistence/DaoUtils.java | 21 + .../persistence/PollenFlywayServiceImpl.java | 21 + .../entity/ChildFavoriteListTopiaDao.java | 23 +- .../entity/FavoriteListMemberTopiaDao.java | 21 + .../pollen/persistence/entity/PollTopiaDao.java | 12 + .../persistence/entity/PollenResourceTopiaDao.java | 12 + .../entity/PollenUserEmailAddressTopiaDao.java | 21 + .../pollen/persistence/entity/PollenUserImpl.java | 23 +- .../persistence/entity/PollenUserTopiaDao.java | 23 +- .../pollen/persistence/entity/PollenUsers.java | 35 -- .../pollen/persistence/entity/ReportResume.java | 21 + .../pollen/persistence/entity/ReportTopiaDao.java | 21 + .../persistence/entity/UserCredentialTopiaDao.java | 39 +- .../pollen/persistence/entity/VoteToChoices.java | 15 +- .../pollen/persistence/entity/VoteTopiaDao.java | 11 + .../entity/VoterListMemberTopiaDao.java | 21 + .../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 + .../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 + pollen-persistence/src/main/xmi/pollen.properties | 2 +- pollen-persistence/src/main/xmi/pollen.zargo | Bin 28355 -> 30431 bytes pollen-rest-api/pom.xml | 14 +- pollen-rest-api/src/license/THIRD-PARTY.properties | 28 +- .../pollen/rest/api/PollenRestApiApplication.java | 27 ++ .../rest/api/PollenRestApiApplicationContext.java | 51 +++ .../rest/api/PollenRestApiApplicationListener.java | 19 +- .../rest/api/PollenRestApiRequestFilter.java | 51 ++- .../pollen/rest/api/beans/ChangePasswordBean.java | 23 +- .../pollen/rest/api/beans/PollCreateBean.java | 21 + .../pollen/rest/api/beans/Resource64Bean.java | 21 + .../pollen/rest/api/beans/VoterListSaveBean.java | 21 + .../EmptyVoteCountingConfigSerializer.java | 45 ++ .../pollen/rest/api/converter/JacksonConfig.java | 25 ++ .../api/converter/PollenConverterProvider.java | 21 + .../api/converter/PollenEntityIdDeserializer.java | 21 + .../api/converter/PollenEntityIdSerializer.java | 21 + .../api/converter/PollenEntityRefDeserializer.java | 21 + .../api/converter/PollenEntityRefSerializer.java | 21 + .../converter/VoteCountingConfigDeserializer.java | 128 ++++++ .../FavoriteListImportExceptionMapper.java | 21 + .../InvalidEntityLinkExceptionMapper.java | 21 + .../InvalidFormExceptionMapper.java | 21 + .../PollenAbstractExceptionMapper.java | 21 + .../PollenAuthenticationExceptionMapper.java | 21 + .../PollenDefaultEmailAddressExceptionMapper.java | 25 +- .../PollenEmailNotValidatedExceptionMapper.java | 21 + ...rProviderAccountAlreadyUsedExceptionMapper.java | 21 + ...InvalidEmailActivationTokenExceptionMapper.java | 21 + .../PollenInvalidPermissionExceptionMapper.java | 21 + .../PollenInvalidSessionTokenExceptionMapper.java | 21 + .../PollenUnauthorizedExceptionMapper.java | 23 +- .../PollenUserBannedExceptionMapper.java | 21 + .../PollenUserUnknownExceptionMapper.java | 20 + .../TopiaNoResultExceptionMapper.java | 21 + .../org/chorem/pollen/rest/api/v1/ApiUtils.java | 23 +- .../org/chorem/pollen/rest/api/v1/AuthApi.java | 11 +- .../org/chorem/pollen/rest/api/v1/CommentApi.java | 31 +- .../pollen/rest/api/v1/ConfigurationApi.java | 29 ++ .../chorem/pollen/rest/api/v1/FavoriteListApi.java | 22 +- .../org/chorem/pollen/rest/api/v1/FeedbackApi.java | 21 + .../java/org/chorem/pollen/rest/api/v1/GtuApi.java | 25 +- .../org/chorem/pollen/rest/api/v1/PollApi.java | 64 +-- .../pollen/rest/api/v1/PollenResourceApi.java | 13 +- .../chorem/pollen/rest/api/v1/PollenUserApi.java | 129 +++++- .../org/chorem/pollen/rest/api/v1/VoteApi.java | 35 +- .../chorem/pollen/rest/api/v1/VoterListApi.java | 105 +++-- .../org/chorem/pollen/rest/api/AuthApiTest.java | 8 +- .../chorem/pollen/rest/api/PollenUserApiTest.java | 4 +- pollen-services/pom.xml | 7 +- pollen-services/src/main/config/PollenServices.ini | 91 ++-- .../org/chorem/pollen/services/PollenFixtures.java | 4 + .../chorem/pollen/services/PollenUIContext.java | 41 ++ .../java/org/chorem/pollen/services/UnitHuman.java | 21 + .../services/bean/ChildFavoriteListBean.java | 44 +- .../chorem/pollen/services/bean/ChoiceBean.java | 29 -- .../chorem/pollen/services/bean/CommentBean.java | 54 +-- .../pollen/services/bean/ConfigurationBean.java | 27 ++ .../pollen/services/bean/FavoriteListBean.java | 20 - .../services/bean/FavoriteListMemberBean.java | 24 -- .../chorem/pollen/services/bean/FeedbackBean.java | 21 + .../chorem/pollen/services/bean/GtuMetaBean.java | 17 - .../pollen/services/bean/LoginProviderBean.java | 44 +- .../org/chorem/pollen/services/bean/PollBean.java | 158 ++----- .../chorem/pollen/services/bean/PollenBean.java | 4 - .../chorem/pollen/services/bean/PollenBeans.java | 49 +-- .../pollen/services/bean/PollenUserBean.java | 105 ++--- .../services/bean/PollenUserEmailAddressBean.java | 33 ++ .../chorem/pollen/services/bean/ReportBean.java | 42 +- .../chorem/pollen/services/bean/ReportLevel.java | 21 + .../pollen/services/bean/ReportResumeBean.java | 21 + .../pollen/services/bean/ResourceFileBean.java | 141 ------- .../pollen/services/bean/ResourceMetaBean.java | 115 ----- .../pollen/services/bean/ResourceStreamBean.java | 123 ------ .../pollen/services/bean/UserCredentialBean.java | 42 +- .../chorem/pollen/services/bean/UsersRight.java | 12 + .../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 | 34 -- .../bean/export/ChildFavoriteListExport.java | 37 +- .../pollen/services/bean/export/ExportBean.java | 21 + .../services/bean/export/FavoriteListsExport.java | 21 + .../bean/resource/AbstractResourceBean.java | 32 +- .../resource/GtuMetaBean.java} | 19 +- .../services/bean/resource/ResourceFileBean.java | 81 ++++ .../resource/ResourceMetaBean.java} | 32 +- .../services/bean/resource/ResourceStreamBean.java | 48 +-- .../Coombs/CoombsDetailResultBean.java | 21 + .../bean/voteCounting/Coombs/CoombsRoundBean.java | 21 + .../voteCounting/Coombs/CoombsRoundChoiceBean.java | 21 + .../InstantRunoffDetailResultBean.java | 21 + .../InstantRunoff/InstantRunoffRoundBean.java | 21 + .../InstantRunoffRoundChoiceBean.java | 21 + .../voteCounting/VoteCountingDetailResultBean.java | 29 ++ .../voteCounting/borda/BordaChoiceRankBean.java | 21 + .../voteCounting/borda/BordaDetailResultBean.java | 21 + .../condorcet/CondorcetBattleBean.java | 21 + .../condorcet/CondorcetDetailResultBean.java | 21 + .../MajorityJudgmentChoiceResultBean.java | 62 +++ .../MajorityJudgmentDetailResultBean.java | 58 +++ .../services/config/PollenServicesConfig.java | 18 +- .../pollen/services/job/AbstractPollenJob.java | 48 ++- .../job/DeleteObsoleteSessionTokensJob.java | 28 ++ .../pollen/services/job/SendEmailInErrorsJob.java | 41 +- .../services/job/SendPollEndReminderJob.java | 73 ++-- .../pollen/services/service/ChoiceService.java | 63 ++- .../pollen/services/service/CommentService.java | 60 ++- .../services/service/ConfigurationService.java | 18 + .../service/FavoriteListImportFromFile.java | 26 +- .../services/service/FavoriteListService.java | 76 +++- .../pollen/services/service/FeedService.java | 23 + .../pollen/services/service/FeedbackService.java | 24 +- .../pollen/services/service/FixturesService.java | 21 +- .../chorem/pollen/services/service/GtuService.java | 73 +++- .../services/service/NotificationService.java | 63 ++- .../pollen/services/service/PollService.java | 221 +++++++--- .../services/service/PollenResourceService.java | 94 ++++- .../services/service/PollenServiceSupport.java | 82 ++-- .../pollen/services/service/PollenUserService.java | 368 +++++++++++----- .../pollen/services/service/ReportService.java | 61 ++- .../pollen/services/service/SocialAuthService.java | 107 ++++- .../services/service/VoteCountingService.java | 80 +++- .../services/service/VoteCountingTypeService.java | 2 + .../pollen/services/service/VoteService.java | 244 ++++++++--- .../pollen/services/service/VoterListService.java | 188 ++++----- .../services/service/mail/AbstractReportEmail.java | 26 +- .../service/mail/AbstractReportForAdminEmail.java | 26 +- .../services/service/mail/AbstractVoteEmail.java | 5 +- .../services/service/mail/ChoiceAddedEmail.java | 5 +- .../services/service/mail/ChoiceDeletedEmail.java | 5 +- .../services/service/mail/ChoiceEditedEmail.java | 5 +- .../services/service/mail/ChoiceReportEmail.java | 26 +- .../service/mail/ChoiceReportForAdminEmail.java | 26 +- .../services/service/mail/CommentAddedEmail.java | 5 +- .../services/service/mail/CommentDeletedEmail.java | 5 +- .../services/service/mail/CommentEditedEmail.java | 5 +- .../services/service/mail/CommentReportEmail.java | 26 +- .../service/mail/CommentReportForAdminEmail.java | 26 +- .../pollen/services/service/mail/EmailService.java | 144 ++++--- ...atedEmail.java => ExceedingMaxVotersEmail.java} | 32 +- .../services/service/mail/FeedbackEmail.java | 26 +- .../services/service/mail/LostPasswordEmail.java | 8 +- .../service/mail/PollChoicePeriodEndedEmail.java | 5 +- .../service/mail/PollChoicePeriodStartedEmail.java | 5 +- .../services/service/mail/PollClosedEmail.java | 5 +- .../services/service/mail/PollCreatedEmail.java | 5 +- .../service/mail/PollEndReminderEmail.java | 5 +- .../services/service/mail/PollInvitationEmail.java | 5 +- .../services/service/mail/PollReportEmail.java | 26 +- .../service/mail/PollReportForAdminEmail.java | 26 +- .../service/mail/PollVotePeriodEndedEmail.java | 5 +- .../service/mail/PollVotePeriodStartedEmail.java | 5 +- .../service/mail/PollVoteReminderEmail.java | 5 +- .../pollen/services/service/mail/PollenMail.java | 11 +- .../service/mail/ResendValidationEmail.java | 17 +- .../mail/RestrictedPollInvitationEmail.java | 5 +- .../service/mail/UserAccountCreatedEmail.java | 25 +- .../mail/UserAccountCreatedFromProviderEmail.java | 8 +- .../service/mail/UserAccountDeletedEmail.java | 8 +- .../service/mail/UserAccountEditedEmail.java | 8 +- ...java => UserAccountEmailAddressAddedEmail.java} | 26 +- .../mail/UserAccountEmailValidatedEmail.java | 8 +- .../mail/UserAccountPasswordChangedEmail.java | 8 +- .../services/service/mail/VoteAddedEmail.java | 5 +- .../services/service/mail/VoteDeletedEmail.java | 5 +- .../services/service/mail/VoteEditedEmail.java | 5 +- ...ava => PollenDefaultEmailAddressException.java} | 6 +- .../security/PollenEmailNotValidatedException.java | 2 + ...EmailOrProviderAccountAlreadyUsedException.java | 21 + .../service/security/PollenSecurityRealm.java | 2 +- .../security/PollenUserBannedException.java | 2 + ...eption.java => PollenUserUnknownException.java} | 8 +- .../services/service/security/SecurityService.java | 118 ++++-- .../services/test/FakePollenServiceContext.java | 6 +- .../email/ExceedingMaxVotersEmail.mustache | 5 + .../email/ExceedingMaxVotersEmail_fr.mustache | 6 + .../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 | 69 ++- .../i18n/pollen-services_fr_FR.properties | 39 +- .../src/main/resources/oauth_consumer.properties | 22 +- .../services/service/FavoriteListServiceTest.java | 10 +- .../pollen/services/service/PollServiceTest.java | 14 +- .../services/service/PollenUserServiceTest.java | 157 ++++--- .../services/service/VoteCountingServiceTest.java | 3 + .../services/service/VoterListServiceTest.java | 6 +- pollen-ui-riot-js/package.json | 8 +- .../jetty-context.xml => pollen-ui-riot-js/pom.xml | 23 +- pollen-ui-riot-js/src/main/web/conf.js | 20 + pollen-ui-riot-js/src/main/web/css/blaze.css | 20 + .../src/main/web/css/custom-code-lutin.css | 20 + pollen-ui-riot-js/src/main/web/css/custom.css | 22 + pollen-ui-riot-js/src/main/web/css/main.css | 8 + pollen-ui-riot-js/src/main/web/css/print.css | 22 +- .../src/main/web/customData/home-en.html | 22 +- .../src/main/web/customData/home-fr.html | 22 +- .../src/main/web/customData/style.css | 20 + .../src/main/web/help/voteCountingTypes-en.html | 22 +- .../src/main/web/help/voteCountingTypes-fr.html | 22 +- pollen-ui-riot-js/src/main/web/homeCL/en.html | 22 +- pollen-ui-riot-js/src/main/web/homeCL/fr.html | 22 +- pollen-ui-riot-js/src/main/web/homeCL/offers.html | 22 +- pollen-ui-riot-js/src/main/web/homeCL/style.css | 20 + pollen-ui-riot-js/src/main/web/i18n/en.json | 86 +++- pollen-ui-riot-js/src/main/web/i18n/fr.json | 124 ++++-- pollen-ui-riot-js/src/main/web/index.js | 2 +- pollen-ui-riot-js/src/main/web/js/AuthService.js | 8 +- ...{FeedbackService.js => ConfigurationService.js} | 14 +- pollen-ui-riot-js/src/main/web/js/FetchService.js | 3 +- pollen-ui-riot-js/src/main/web/js/Logger.js | 20 + pollen-ui-riot-js/src/main/web/js/PageTracker.js | 20 + pollen-ui-riot-js/src/main/web/js/Pagination.js | 20 + pollen-ui-riot-js/src/main/web/js/Poll.js | 66 ++- pollen-ui-riot-js/src/main/web/js/PollForm.js | 4 +- pollen-ui-riot-js/src/main/web/js/PollService.js | 26 +- pollen-ui-riot-js/src/main/web/js/PollenBus.js | 20 + .../src/main/web/js/ResourceService.js | 13 +- pollen-ui-riot-js/src/main/web/js/Session.js | 78 ++-- pollen-ui-riot-js/src/main/web/js/UIHelper.js | 20 + 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 | 47 ++- .../src/main/web/tag/Authorization.tag.html | 74 ++++ .../src/main/web/tag/ContentLoader.tag.html | 36 +- .../src/main/web/tag/FilterLoginProvider.tag.js | 46 ++ .../src/main/web/tag/HeaderI18n.tag.html | 36 +- .../src/main/web/tag/PageChanged.tag.js | 7 + .../src/main/web/tag/Pagination.tag.html | 20 + pollen-ui-riot-js/src/main/web/tag/Pollen.tag.html | 466 ++++++++++----------- .../src/main/web/tag/PollenFooter.tag.html | 36 +- .../src/main/web/tag/PollenHeader.tag.html | 87 ++-- .../src/main/web/tag/PollenMessageManager.tag.html | 20 + .../src/main/web/tag/PollenWaiter.tag.html | 20 + pollen-ui-riot-js/src/main/web/tag/QrCode.tag.html | 20 + .../src/main/web/tag/SignCheck.tag.html | 57 +-- pollen-ui-riot-js/src/main/web/tag/SignIn.tag.html | 72 ++-- .../src/main/web/tag/SignInAction.tag.js | 13 + pollen-ui-riot-js/src/main/web/tag/SignUp.tag.html | 38 +- .../src/main/web/tag/UserProfile.tag.html | 459 +++++++++++++------- .../src/main/web/tag/admin/GtuCard.tag.html | 20 + .../src/main/web/tag/admin/Gtus.tag.html | 20 + .../src/main/web/tag/admin/LoginProviders.tag.html | 20 + .../src/main/web/tag/admin/UserCard.tag.html | 57 ++- .../src/main/web/tag/admin/UserEditModal.tag.html | 210 +++++++--- .../src/main/web/tag/admin/Users.tag.html | 22 +- .../src/main/web/tag/components/Avatar.tag.html | 29 ++ .../src/main/web/tag/components/Card.tag.html | 28 +- .../src/main/web/tag/components/Checkbox.tag.html | 22 +- .../web/tag/components/ContextualMenu.tag.html | 20 + .../main/web/tag/components/GtuValidation.tag.html | 20 + .../main/web/tag/components/HumanInput.tag.html | 20 + .../src/main/web/tag/components/InnerHtml.tag.html | 14 + .../src/main/web/tag/components/LazyLoad.tag.html | 22 +- .../main/web/tag/components/LetterAvatar.tag.html | 20 + .../main/web/tag/components/LoadingCard.tag.html | 20 + .../web/tag/components/MultiLineLabel.tag.html | 22 +- .../src/main/web/tag/components/Search.tag.html | 20 + .../tag/components/UserEmailAddressList.tag.html | 139 ++++++ .../main/web/tag/components/date-picker.tag.html | 33 +- .../web/tag/components/date-time-picker.tag.html | 20 + .../main/web/tag/components/time-picker.tag.html | 20 + .../web/tag/favoriteList/ChildListCard.tag.html | 20 + .../tag/favoriteList/ChildListEditModal.tag.html | 20 + .../web/tag/favoriteList/FavoriteList.tag.html | 58 ++- .../web/tag/favoriteList/FavoriteListCard.tag.html | 20 + .../favoriteList/FavoriteListEditModal.tag.html | 24 +- .../web/tag/favoriteList/FavoriteLists.tag.html | 20 + .../web/tag/favoriteList/ImportCsvModal.tag.html | 22 +- .../web/tag/favoriteList/ImportLdapModal.tag.html | 22 +- .../main/web/tag/favoriteList/MemberCard.tag.html | 20 + .../web/tag/favoriteList/MemberEditModal.tag.html | 20 + .../src/main/web/tag/poll/Choice.tag.html | 25 +- .../src/main/web/tag/poll/ChoiceView.tag.html | 26 +- .../src/main/web/tag/poll/Choices.tag.html | 20 + .../src/main/web/tag/poll/Comments.tag.html | 29 +- .../src/main/web/tag/poll/Description.tag.html | 36 +- .../src/main/web/tag/poll/EditPoll.tag.html | 44 +- .../src/main/web/tag/poll/Podium.tag.html | 20 + .../src/main/web/tag/poll/Poll.tag.html | 56 ++- .../src/main/web/tag/poll/PollCard.tag.html | 54 ++- .../src/main/web/tag/poll/Polls.tag.html | 22 +- .../src/main/web/tag/poll/Report.tag.html | 20 + .../src/main/web/tag/poll/Results.tag.html | 32 +- .../src/main/web/tag/poll/Settings.tag.html | 95 ++--- .../src/main/web/tag/poll/Summary.tag.html | 83 +++- .../src/main/web/tag/poll/Votes.tag.html | 108 ++++- .../src/main/web/tag/popup/ConfirmPopup.tag.html | 43 +- .../src/main/web/tag/popup/FeedbackModal.tag.html | 20 + .../src/main/web/tag/popup/GtuChangeModal.tag.html | 36 +- .../main/web/tag/popup/InformationPopup.tag.html | 22 +- .../src/main/web/tag/popup/Modal.tag.html | 22 +- .../src/main/web/tag/popup/NewPassword.tag.html | 36 +- .../src/main/web/tag/popup/QrCodeButton.tag.html | 20 + .../main/web/tag/popup/ResendValidation.tag.html | 36 +- .../web/tag/voteCountingType/BordaConfig.tag.html | 116 +++++ .../voteCountingType/BordaDetailResult.tag.html | 28 +- .../CondorcetDetailResult.tag.html | 20 + .../voteCountingType/CoombsDetailResult.tag.html | 20 + .../tag/voteCountingType/CumulativeConfig.tag.html | 34 ++ .../InstantRunoffDetailResult.tag.html | 20 + .../MajorityJudgmentConfig.tag.html | 84 ++++ .../MajorityJudgmentDetailResult.tag.html | 222 ++++++++++ .../MaxChoicesNumberConfig.tag.html | 60 +++ .../tag/voterList/ImportFavoritListModal.tag.html | 20 + .../src/main/web/tag/voterList/VoterList.tag.html | 37 +- .../main/web/tag/voterList/VoterListCard.tag.html | 20 + .../web/tag/voterList/VoterListEditModal.tag.html | 20 + .../web/tag/voterList/VoterListMemberCard.tag.html | 20 + .../voterList/VoterListMemberEditModal.tag.html | 20 + pollen-ui-riot-js/webpack.config.js | 2 +- pollen-votecounting-aggregator/pom.xml | 12 +- pollen-votecounting-api/pom.xml | 6 +- .../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 +- ...ailResult.java => EmptyVoteCountingConfig.java} | 4 +- .../votecounting/model/MaxChoicesNumberConfig.java | 17 + ...ngDetailResult.java => VoteCountingConfig.java} | 4 +- .../model/VoteCountingDetailResult.java | 21 + pollen-votecounting-borda/pom.xml | 2 +- .../pollen/votecounting/BordaChoiceRank.java | 21 + .../chorem/pollen/votecounting/BordaConfig.java | 21 + .../pollen/votecounting/BordaDetailResult.java | 21 + .../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/CondorcetBattle.java | 21 + .../pollen/votecounting/CondorcetDetailResult.java | 21 + .../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/CoombsDetailResult.java | 21 + .../chorem/pollen/votecounting/CoombsRound.java | 21 + .../pollen/votecounting/CoombsRoundChoice.java | 21 + .../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 | 19 + .../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/InstantRunoffDetailResult.java | 21 + .../pollen/votecounting/InstantRunoffRound.java | 21 + .../votecounting/InstantRunoffRoundChoice.java | 21 + .../votecounting/InstantRunoffVoteCounting.java | 16 +- .../InstantRunoffVoteCountingStrategy.java | 3 +- .../InstantRunoffVoteCountingStrategyTest.java | 8 +- .../LICENSE.txt | 0 .../README.md | 0 .../pom.xml | 8 +- .../votecounting/MajorityJudgmentChoiceResult.java | 43 ++ .../votecounting/MajorityJudgmentConfig.java | 21 + .../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 | 7 +- .../src/test/resources/log4j.properties | 0 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 | 88 ++-- 439 files changed, 10866 insertions(+), 3747 deletions(-) create mode 100644 CHANGELOG copy {pollen-ui-riot-js/src/main/web/img => docs/assets/images}/logo.png (100%) create mode 100644 docs/config.md copy src/site/fr/rst/index.rst => docs/index.md (55%) create mode 100644 docs/install.md create mode 100644 docs/socialauth.md create mode 100644 mkdocs.yml create mode 100644 pollen-persistence/src/main/java/db/migration/common/V3_1_0_5__Extract_email_addresses.java create mode 100644 pollen-persistence/src/main/java/org/chorem/pollen/persistence/entity/PollenUserEmailAddressTopiaDao.java delete mode 100644 pollen-persistence/src/main/java/org/chorem/pollen/persistence/entity/PollenUsers.java create mode 100644 pollen-persistence/src/main/resources/db/migration/h2/V3_1_0_1__add_premium.sql create mode 100644 pollen-persistence/src/main/resources/db/migration/h2/V3_1_0_2__add_avatar.sql create mode 100644 pollen-persistence/src/main/resources/db/migration/h2/V3_1_0_3__add_vote_counting_config.sql create mode 100644 pollen-persistence/src/main/resources/db/migration/h2/V3_1_0_4__add_email_address_table.sql create mode 100644 pollen-persistence/src/main/resources/db/migration/h2/V3_1_0_6__drop_email_from_user.sql create mode 100644 pollen-persistence/src/main/resources/db/migration/h2/V3_1_0_7__add_user_can_create_poll.sql create mode 100644 pollen-persistence/src/main/resources/db/migration/postgresql/V3_1_0_1__add_premium.sql create mode 100644 pollen-persistence/src/main/resources/db/migration/postgresql/V3_1_0_2__add_avatar.sql create mode 100644 pollen-persistence/src/main/resources/db/migration/postgresql/V3_1_0_3__add_vote_counting_config.sql create mode 100644 pollen-persistence/src/main/resources/db/migration/postgresql/V3_1_0_4__add_email_address_table.sql create mode 100644 pollen-persistence/src/main/resources/db/migration/postgresql/V3_1_0_6__drop_email_from_user.sql create mode 100644 pollen-persistence/src/main/resources/db/migration/postgresql/V3_1_0_7__add_user_can_create_poll.sql create mode 100644 pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/converter/EmptyVoteCountingConfigSerializer.java create mode 100644 pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/converter/VoteCountingConfigDeserializer.java copy pollen-services/src/main/java/org/chorem/pollen/services/service/security/PollenEmailNotValidatedException.java => pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/exceptionMappers/PollenDefaultEmailAddressExceptionMapper.java (55%) create mode 100644 pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/exceptionMappers/PollenUserUnknownExceptionMapper.java create mode 100644 pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/ConfigurationApi.java create mode 100644 pollen-services/src/main/java/org/chorem/pollen/services/bean/ConfigurationBean.java delete mode 100644 pollen-services/src/main/java/org/chorem/pollen/services/bean/GtuMetaBean.java create mode 100644 pollen-services/src/main/java/org/chorem/pollen/services/bean/PollenUserEmailAddressBean.java delete mode 100644 pollen-services/src/main/java/org/chorem/pollen/services/bean/ResourceFileBean.java delete mode 100644 pollen-services/src/main/java/org/chorem/pollen/services/bean/ResourceMetaBean.java delete mode 100644 pollen-services/src/main/java/org/chorem/pollen/services/bean/ResourceStreamBean.java create mode 100644 pollen-services/src/main/java/org/chorem/pollen/services/bean/UsersRight.java copy pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/beans/Resource64Bean.java => pollen-services/src/main/java/org/chorem/pollen/services/bean/resource/AbstractResourceBean.java (53%) copy pollen-services/src/main/java/org/chorem/pollen/services/{service/security/PollenCypherTechnicalException.java => bean/resource/GtuMetaBean.java} (69%) create mode 100644 pollen-services/src/main/java/org/chorem/pollen/services/bean/resource/ResourceFileBean.java copy pollen-services/src/main/java/org/chorem/pollen/services/{service/InvalidFormException.java => bean/resource/ResourceMetaBean.java} (58%) copy pollen-rest-api/src/main/java/org/chorem/pollen/rest/api/v1/DocApi.java => pollen-services/src/main/java/org/chorem/pollen/services/bean/resource/ResourceStreamBean.java (54%) create mode 100644 pollen-services/src/main/java/org/chorem/pollen/services/bean/voteCounting/majorityJugment/MajorityJudgmentChoiceResultBean.java create mode 100644 pollen-services/src/main/java/org/chorem/pollen/services/bean/voteCounting/majorityJugment/MajorityJudgmentDetailResultBean.java create mode 100644 pollen-services/src/main/java/org/chorem/pollen/services/job/DeleteObsoleteSessionTokensJob.java create mode 100644 pollen-services/src/main/java/org/chorem/pollen/services/service/ConfigurationService.java copy pollen-services/src/main/java/org/chorem/pollen/services/service/mail/{PollCreatedEmail.java => ExceedingMaxVotersEmail.java} (66%) copy pollen-services/src/main/java/org/chorem/pollen/services/service/mail/{ResendValidationEmail.java => UserAccountEmailAddressAddedEmail.java} (67%) copy pollen-services/src/main/java/org/chorem/pollen/services/service/security/{PollenUserBannedException.java => PollenDefaultEmailAddressException.java} (86%) copy pollen-services/src/main/java/org/chorem/pollen/services/service/security/{PollenEmailNotValidatedException.java => PollenUserUnknownException.java} (82%) create mode 100644 pollen-services/src/main/resources/email/ExceedingMaxVotersEmail.mustache create mode 100644 pollen-services/src/main/resources/email/ExceedingMaxVotersEmail_fr.mustache create mode 100644 pollen-services/src/main/resources/email/UserAccountEmailAddressAddedEmail.mustache create mode 100644 pollen-services/src/main/resources/email/UserAccountEmailAddressAddedEmail_fr.mustache copy pollen-rest-api/src/jetty/jetty-context.xml => pollen-ui-riot-js/pom.xml (58%) copy pollen-ui-riot-js/src/main/web/js/{FeedbackService.js => ConfigurationService.js} (75%) create mode 100644 pollen-ui-riot-js/src/main/web/tag/Authorization.tag.html create mode 100644 pollen-ui-riot-js/src/main/web/tag/FilterLoginProvider.tag.js create mode 100644 pollen-ui-riot-js/src/main/web/tag/PageChanged.tag.js create mode 100644 pollen-ui-riot-js/src/main/web/tag/SignInAction.tag.js create mode 100644 pollen-ui-riot-js/src/main/web/tag/components/Avatar.tag.html create mode 100644 pollen-ui-riot-js/src/main/web/tag/components/InnerHtml.tag.html create mode 100644 pollen-ui-riot-js/src/main/web/tag/components/UserEmailAddressList.tag.html create mode 100644 pollen-ui-riot-js/src/main/web/tag/voteCountingType/BordaConfig.tag.html create mode 100644 pollen-ui-riot-js/src/main/web/tag/voteCountingType/CumulativeConfig.tag.html create mode 100644 pollen-ui-riot-js/src/main/web/tag/voteCountingType/MajorityJudgmentConfig.tag.html create mode 100644 pollen-ui-riot-js/src/main/web/tag/voteCountingType/MajorityJudgmentDetailResult.tag.html create mode 100644 pollen-ui-riot-js/src/main/web/tag/voteCountingType/MaxChoicesNumberConfig.tag.html copy pollen-votecounting-api/src/main/java/org/chorem/pollen/votecounting/model/{VoteCountingDetailResult.java => EmptyVoteCountingConfig.java} (54%) create mode 100644 pollen-votecounting-api/src/main/java/org/chorem/pollen/votecounting/model/MaxChoicesNumberConfig.java copy pollen-votecounting-api/src/main/java/org/chorem/pollen/votecounting/model/{VoteCountingDetailResult.java => VoteCountingConfig.java} (54%) create mode 100644 pollen-votecounting-borda/src/main/java/org/chorem/pollen/votecounting/BordaConfig.java rename {pollen-votecounting-percentage => pollen-votecounting-cumulative}/LICENSE.txt (100%) rename {pollen-votecounting-percentage => pollen-votecounting-cumulative}/README.md (100%) rename {pollen-votecounting-percentage => pollen-votecounting-cumulative}/pom.xml (91%) create mode 100644 pollen-votecounting-cumulative/src/main/java/org/chorem/pollen/votecounting/CumulativeConfig.java rename pollen-votecounting-percentage/src/main/java/org/chorem/pollen/votecounting/PercentageVoteCounting.java => pollen-votecounting-cumulative/src/main/java/org/chorem/pollen/votecounting/CumulativeVoteCounting.java (77%) rename pollen-votecounting-percentage/src/main/java/org/chorem/pollen/votecounting/PercentageVoteCountingStrategy.java => pollen-votecounting-cumulative/src/main/java/org/chorem/pollen/votecounting/CumulativeVoteCountingStrategy.java (97%) create mode 100644 pollen-votecounting-cumulative/src/main/resources/META-INF/services/org.chorem.pollen.votecounting.VoteCounting create mode 100644 pollen-votecounting-cumulative/src/main/resources/i18n/pollen-votecounting-cumulative_en_GB.properties create mode 100644 pollen-votecounting-cumulative/src/main/resources/i18n/pollen-votecounting-cumulative_fr_FR.properties rename pollen-votecounting-percentage/src/test/java/org/chorem/pollen/votecounting/PercentageVoteCountingStrategyTest.java => pollen-votecounting-cumulative/src/test/java/org/chorem/pollen/votecounting/CumulativeVoteCountingStrategyTest.java (97%) rename {pollen-votecounting-percentage => pollen-votecounting-cumulative}/src/test/java/org/chorem/pollen/votecounting/VoteCountingFactoryTest.java (95%) rename {pollen-votecounting-percentage => pollen-votecounting-cumulative}/src/test/resources/log4j.properties (100%) copy LICENSE.txt => pollen-votecounting-majority-judgment/LICENSE.txt (100%) copy {pollen-services => pollen-votecounting-majority-judgment}/README.md (100%) copy {pollen-votecounting-normal => pollen-votecounting-majority-judgment}/pom.xml (90%) create mode 100644 pollen-votecounting-majority-judgment/src/main/java/org/chorem/pollen/votecounting/MajorityJudgmentChoiceResult.java create mode 100644 pollen-votecounting-majority-judgment/src/main/java/org/chorem/pollen/votecounting/MajorityJudgmentConfig.java create mode 100644 pollen-votecounting-majority-judgment/src/main/java/org/chorem/pollen/votecounting/MajorityJudgmentDetailResult.java copy pollen-votecounting-instant-runoff/src/main/java/org/chorem/pollen/votecounting/InstantRunoffVoteCounting.java => pollen-votecounting-majority-judgment/src/main/java/org/chorem/pollen/votecounting/MajorityJudgmentVoteCounting.java (70%) create mode 100644 pollen-votecounting-majority-judgment/src/main/java/org/chorem/pollen/votecounting/MajorityJudgmentVoteCountingStrategy.java create mode 100644 pollen-votecounting-majority-judgment/src/main/resources/META-INF/services/org.chorem.pollen.votecounting.VoteCounting create mode 100644 pollen-votecounting-majority-judgment/src/main/resources/i18n/pollen-votecounting-majority-judgment_en_GB.properties create mode 100644 pollen-votecounting-majority-judgment/src/main/resources/i18n/pollen-votecounting-majority-judgment_fr_FR.properties create mode 100644 pollen-votecounting-majority-judgment/src/test/java/org/chorem/pollen/votecounting/MajorityJudgmentVoteCountingStrategyTest.java copy {pollen-votecounting-instant-runoff => pollen-votecounting-majority-judgment}/src/test/java/org/chorem/pollen/votecounting/VoteCountingFactoryTest.java (86%) copy {pollen-votecounting-instant-runoff => pollen-votecounting-majority-judgment}/src/test/resources/log4j.properties (100%) delete mode 100644 pollen-votecounting-percentage/src/main/resources/META-INF/services/org.chorem.pollen.votecounting.VoteCounting delete mode 100644 pollen-votecounting-percentage/src/main/resources/i18n/pollen-votecounting-percentage_en_GB.properties delete mode 100644 pollen-votecounting-percentage/src/main/resources/i18n/pollen-votecounting-percentage_fr_FR.properties -- To stop receiving notification emails like this one, please contact chorem.org SCM administrator <admin+scm@chorem.org>.