# HG changeset patch # User tflorac@dagon.home # Date 1547678385 -3600 # Node ID eb708d0e92982d70c12faba868aae42343450333 # Parent 1c7bd4ccfb32babe607425349c432f216f548adb Added invariants on extensions interfaces diff -r 1c7bd4ccfb32 -r eb708d0e9298 src/pyams_skin/interfaces/extension.py --- a/src/pyams_skin/interfaces/extension.py Wed Jan 16 19:13:01 2019 +0100 +++ b/src/pyams_skin/interfaces/extension.py Wed Jan 16 23:39:45 2019 +0100 @@ -12,7 +12,7 @@ __docformat__ = 'restructuredtext' -from zope.interface import Interface +from zope.interface import Interface, invariant, Invalid from zope.schema import Bool, Choice, TextLine from zope.schema.vocabulary import SimpleTerm, SimpleVocabulary @@ -29,7 +29,6 @@ ACTIVATION_MODES = SimpleVocabulary([SimpleTerm(k, title=v) for k, v in ACTIVATION_MODES_LABELS.items()]) - GOOGLE_TAGS_INFO_KEY = 'pyams_skin.tagmanager_info' @@ -54,6 +53,11 @@ description=_("Cookie value matching user's cookies reject"), required=False) + @invariant + def check_cookie(self): + if self.on_accepted_cookie and not (self.cookie_name and self.rejected_cookie_value): + raise Invalid(_("You must specify cookie name and reject value !!")) + container_id = TextLine(title=_("Container ID"), description=_("Google Tag Manager container ID (may start with 'GTM-')"), required=False) @@ -93,6 +97,11 @@ description=_("Cookie value matching user's cookies reject"), required=False) + @invariant + def check_cookie(self): + if self.on_accepted_cookie and not (self.cookie_name and self.rejected_cookie_value): + raise Invalid(_("You must specify cookie name and reject value !!")) + website_id = TextLine(title=_("Web site ID"), description=_("Google Analytics web site ID"), required=False) @@ -128,6 +137,11 @@ description=_("Cookie value matching user's cookies reject"), required=False) + @invariant + def check_cookie(self): + if self.on_accepted_cookie and not (self.cookie_name and self.rejected_cookie_value): + raise Invalid(_("You must specify cookie name and reject value !!")) + account_id = TextLine(title=_("Account ID"), description=_("UserReport account ID, available in 'initSite' code snippet"), required=False) diff -r 1c7bd4ccfb32 -r eb708d0e9298 src/pyams_skin/locales/fr/LC_MESSAGES/pyams_skin.mo Binary file src/pyams_skin/locales/fr/LC_MESSAGES/pyams_skin.mo has changed diff -r 1c7bd4ccfb32 -r eb708d0e9298 src/pyams_skin/locales/fr/LC_MESSAGES/pyams_skin.po --- a/src/pyams_skin/locales/fr/LC_MESSAGES/pyams_skin.po Wed Jan 16 19:13:01 2019 +0100 +++ b/src/pyams_skin/locales/fr/LC_MESSAGES/pyams_skin.po Wed Jan 16 23:39:45 2019 +0100 @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE 1.0\n" -"POT-Creation-Date: 2018-12-12 09:30+0100\n" +"POT-Creation-Date: 2019-01-16 23:38+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" @@ -15,10 +15,6 @@ "Content-Transfer-Encoding: 8bit\n" "Generated-By: Lingua 3.8\n" -#: src/pyams_skin/skin.py:202 -msgid "PyAMS base skin" -msgstr "Skin PyAMS par défaut" - #: src/pyams_skin/container.py:71 msgid "No provided object_name argument!" msgstr "Argument 'object_name' non fourni !" @@ -59,6 +55,151 @@ msgid "Delete object" msgstr "Supprimer l'objet" +#: src/pyams_skin/skin.py:202 +msgid "PyAMS base skin" +msgstr "Skin PyAMS par défaut" + +#: src/pyams_skin/interfaces/viewlet.py:264 +msgid "<i class='fa fa-refresh fa-spin'></i>" +msgstr "<i class='fa fa-refresh fa-spin'></i>" + +#: src/pyams_skin/interfaces/extension.py:26 +msgid "Front-office only" +msgstr "Front-office seulement" + +#: src/pyams_skin/interfaces/extension.py:27 +msgid "Back-office only" +msgstr "Back-office seulement" + +#: src/pyams_skin/interfaces/extension.py:28 +msgid "Front-office and back-office" +msgstr "Front-office et back-office" + +#: src/pyams_skin/interfaces/extension.py:38 +msgid "Activate Google Tag Manager?" +msgstr "Activer Google Tag Manager ?" + +#: src/pyams_skin/interfaces/extension.py:39 +msgid "Is Google Tag Manager activated?" +msgstr "Est-ce que Google Tag Manager est activé ?" + +#: src/pyams_skin/interfaces/extension.py:43 +#: src/pyams_skin/interfaces/extension.py:87 +#: src/pyams_skin/interfaces/extension.py:127 +msgid "Activate only if not rejected cookies?" +msgstr "Activer seulement si cookies non rejetés ?" + +#: src/pyams_skin/interfaces/extension.py:44 +#: src/pyams_skin/interfaces/extension.py:88 +#: src/pyams_skin/interfaces/extension.py:128 +msgid "If 'no', plug-in will be activated without waiting for accepted cookies" +msgstr "" +"Si 'non', l'extension sera activée sans attendre l'acceptation des cookies" + +#: src/pyams_skin/interfaces/extension.py:48 +#: src/pyams_skin/interfaces/extension.py:92 +#: src/pyams_skin/interfaces/extension.py:132 +msgid "Cookie name" +msgstr "Nom du cookie" + +#: src/pyams_skin/interfaces/extension.py:49 +#: src/pyams_skin/interfaces/extension.py:93 +#: src/pyams_skin/interfaces/extension.py:133 +msgid "Name of cookie checked to verify if cookies have been rejected" +msgstr "Nom du cookie utilisé pour vérifier si les cookies ont été rejetés" + +#: src/pyams_skin/interfaces/extension.py:52 +#: src/pyams_skin/interfaces/extension.py:96 +#: src/pyams_skin/interfaces/extension.py:136 +msgid "Rejected cookie value" +msgstr "Valeur de rejet" + +#: src/pyams_skin/interfaces/extension.py:53 +#: src/pyams_skin/interfaces/extension.py:97 +#: src/pyams_skin/interfaces/extension.py:137 +msgid "Cookie value matching user's cookies reject" +msgstr "Valeur de cookie indiquant que les cookies ont été rejetés" + +#: src/pyams_skin/interfaces/extension.py:61 +msgid "Container ID" +msgstr "ID du conteneur" + +#: src/pyams_skin/interfaces/extension.py:62 +msgid "Google Tag Manager container ID (may start with 'GTM-')" +msgstr "" +"Identifiant du conteneur de Google Tag Manager ; devrait commencer par " +"'GTM'..." + +#: src/pyams_skin/interfaces/extension.py:65 +#: src/pyams_skin/interfaces/extension.py:109 +#: src/pyams_skin/interfaces/extension.py:149 +msgid "Activation mode" +msgstr "Mode d'activation" + +#: src/pyams_skin/interfaces/extension.py:66 +msgid "Mode(s) in which Google Tags are activated" +msgstr "Mode(s) pour le(s)quel(s) le service est activé" + +#: src/pyams_skin/interfaces/extension.py:78 +msgid "Web site verification code" +msgstr "Code de vérification" + +#: src/pyams_skin/interfaces/extension.py:79 +msgid "Google site verification code" +msgstr "Code de vérification de site Google" + +#: src/pyams_skin/interfaces/extension.py:82 +msgid "Activate Google Analytics?" +msgstr "Activer Google Analytics ?" + +#: src/pyams_skin/interfaces/extension.py:83 +msgid "Are Google Analytics statistics activated?" +msgstr "" +"Activer Google Analytics pour disposer des statistiques de consultation du " +"site" + +#: src/pyams_skin/interfaces/extension.py:105 +msgid "Web site ID" +msgstr "ID du site" + +#: src/pyams_skin/interfaces/extension.py:106 +msgid "Google Analytics web site ID" +msgstr "ID du site Google Analytics" + +#: src/pyams_skin/interfaces/extension.py:110 +msgid "Mode(s) in which statistics are activated" +msgstr "Mode(s) pour le(s)quel(s) les statistiques sont activées" + +#: src/pyams_skin/interfaces/extension.py:122 +msgid "Activate UserReport?" +msgstr "Activer UserReport ?" + +#: src/pyams_skin/interfaces/extension.py:123 +msgid "Are UserReport comments and feedback activated?" +msgstr "" +"UserReport est un outil de retour d'informations de la part des utilisateurs " +"de votre site" + +#: src/pyams_skin/interfaces/extension.py:145 +msgid "Account ID" +msgstr "ID du compte" + +#: src/pyams_skin/interfaces/extension.py:146 +msgid "UserReport account ID, available in 'initSite' code snippet" +msgstr "" +"Référence du compte UserReport pour ce site, visible dans la fonction " +"'initSite' du modèle de code" + +#: src/pyams_skin/interfaces/extension.py:150 +msgid "Mode(s) in which reports are activated" +msgstr "Mode(s) pour le(s)quel(s) le service est activé" + +#: src/pyams_skin/interfaces/extension.py:59 +#: src/pyams_skin/interfaces/extension.py:103 +#: src/pyams_skin/interfaces/extension.py:143 +msgid "You must specify cookie name and reject value !!" +msgstr "Vous devez indiquer le nom du cookie et sa valeur de rejet !" + #: src/pyams_skin/interfaces/configuration.py:33 #: src/pyams_skin/interfaces/configuration.py:67 msgid "Title" @@ -234,113 +375,6 @@ msgstr "" "Vous devez choisir un thème spécifique ou hériter de celui du niveau parent" -#: src/pyams_skin/interfaces/viewlet.py:264 -msgid "<i class='fa fa-refresh fa-spin'></i>" -msgstr "<i class='fa fa-refresh fa-spin'></i>" - -#: src/pyams_skin/interfaces/extension.py:32 -msgid "Front-office only" -msgstr "Front-office seulement" - -#: src/pyams_skin/interfaces/extension.py:33 -msgid "Back-office only" -msgstr "Back-office seulement" - -#: src/pyams_skin/interfaces/extension.py:34 -msgid "Front-office and back-office" -msgstr "Front-office et back-office" - -#: src/pyams_skin/interfaces/extension.py:45 -msgid "Activate Google Tag Manager?" -msgstr "Activer Google Tag Manager ?" - -#: src/pyams_skin/interfaces/extension.py:46 -msgid "Is Google Tag Manager activated?" -msgstr "Est-ce que Google Tag Manager est activé ?" - -#: src/pyams_skin/interfaces/extension.py:50 -msgid "Container ID" -msgstr "ID du conteneur" - -#: src/pyams_skin/interfaces/extension.py:51 -msgid "Google Tag Manager container ID (may start with 'GTM-')" -msgstr "" -"Identifiant du conteneur de Google Tag Manager ; devrait commencer par " -"'GTM'..." - -#: src/pyams_skin/interfaces/extension.py:54 -#: src/pyams_skin/interfaces/extension.py:80 -#: src/pyams_skin/interfaces/extension.py:102 -msgid "Activation mode" -msgstr "Mode d'activation" - -#: src/pyams_skin/interfaces/extension.py:55 -msgid "Mode(s) in which Google Tags are activated" -msgstr "Mode(s) pour le(s)quel(s) le service est activé" - -#: src/pyams_skin/interfaces/extension.py:67 -msgid "Activate Google Analytics?" -msgstr "Activer Google Analytics ?" - -#: src/pyams_skin/interfaces/extension.py:68 -msgid "Are Google Analytics statistics activated?" -msgstr "" -"Activer Google Analytics pour disposer des statistiques de consultation du " -"site" - -#: src/pyams_skin/interfaces/extension.py:72 -msgid "Web site ID" -msgstr "ID du site" - -#: src/pyams_skin/interfaces/extension.py:73 -msgid "Google Analytics web site ID" -msgstr "ID du site Google Analytics" - -#: src/pyams_skin/interfaces/extension.py:76 -msgid "Web site verification code" -msgstr "Code de vérification" - -#: src/pyams_skin/interfaces/extension.py:77 -msgid "Google site verification code" -msgstr "Code de vérification de site Google" - -#: src/pyams_skin/interfaces/extension.py:81 -msgid "Mode(s) in which statistics are activated" -msgstr "Mode(s) pour le(s)quel(s) les statistiques sont activées" - -#: src/pyams_skin/interfaces/extension.py:93 -msgid "Activate UserReport?" -msgstr "Activer UserReport ?" - -#: src/pyams_skin/interfaces/extension.py:94 -msgid "Are UserReport comments and feedback activated?" -msgstr "" -"UserReport est un outil de retour d'informations de la part des utilisateurs " -"de votre site" - -#: src/pyams_skin/interfaces/extension.py:98 -msgid "Account ID" -msgstr "ID du compte" - -#: src/pyams_skin/interfaces/extension.py:99 -msgid "UserReport account ID, available in 'initSite' code snippet" -msgstr "" -"Référence du compte UserReport pour ce site, visible dans la fonction " -"'initSite' du modèle de code" - -#: src/pyams_skin/interfaces/extension.py:103 -msgid "Mode(s) in which reports are activated" -msgstr "Mode(s) pour le(s)quel(s) le service est activé" - -#: src/pyams_skin/templates/header.pt:5 -msgid "Back to previous page" -msgstr "Revenir à la page précédente" - -#: src/pyams_skin/viewlet/activity/__init__.py:45 -#, python-format -msgid "Last update: {0}" -msgstr "Dernière mise à jour : {0}" - #: src/pyams_skin/viewlet/toolbar/__init__.py:106 msgid "Add..." msgstr "Ajouter..." @@ -353,10 +387,19 @@ msgid "Other actions..." msgstr "Autres actions..." +#: src/pyams_skin/viewlet/activity/__init__.py:45 +#, python-format +msgid "Last update: {0}" +msgstr "Dernière mise à jour : {0}" + #: src/pyams_skin/viewlet/breadcrumb/breadcrumbs.pt:4 msgid "Label" msgstr "Libellé" +#: src/pyams_skin/templates/header.pt:5 +msgid "Back to previous page" +msgstr "Revenir à la page précédente" + #~ msgid "Search..." #~ msgstr "Rechercher..." diff -r 1c7bd4ccfb32 -r eb708d0e9298 src/pyams_skin/locales/pyams_skin.pot --- a/src/pyams_skin/locales/pyams_skin.pot Wed Jan 16 19:13:01 2019 +0100 +++ b/src/pyams_skin/locales/pyams_skin.pot Wed Jan 16 23:39:45 2019 +0100 @@ -1,12 +1,12 @@ # # SOME DESCRIPTIVE TITLE # This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , 2018. +# FIRST AUTHOR , 2019. #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE 1.0\n" -"POT-Creation-Date: 2018-12-12 09:30+0100\n" +"POT-Creation-Date: 2019-01-16 23:38+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" @@ -16,10 +16,6 @@ "Content-Transfer-Encoding: 8bit\n" "Generated-By: Lingua 3.10.dev0\n" -#: ./src/pyams_skin/skin.py:202 -msgid "PyAMS base skin" -msgstr "" - #: ./src/pyams_skin/container.py:71 msgid "No provided object_name argument!" msgstr "" @@ -60,6 +56,142 @@ msgid "Delete object" msgstr "" +#: ./src/pyams_skin/skin.py:202 +msgid "PyAMS base skin" +msgstr "" + +#: ./src/pyams_skin/interfaces/viewlet.py:264 +msgid "<i class='fa fa-refresh fa-spin'></i>" +msgstr "" + +#: ./src/pyams_skin/interfaces/extension.py:26 +msgid "Front-office only" +msgstr "" + +#: ./src/pyams_skin/interfaces/extension.py:27 +msgid "Back-office only" +msgstr "" + +#: ./src/pyams_skin/interfaces/extension.py:28 +msgid "Front-office and back-office" +msgstr "" + +#: ./src/pyams_skin/interfaces/extension.py:38 +msgid "Activate Google Tag Manager?" +msgstr "" + +#: ./src/pyams_skin/interfaces/extension.py:39 +msgid "Is Google Tag Manager activated?" +msgstr "" + +#: ./src/pyams_skin/interfaces/extension.py:43 +#: ./src/pyams_skin/interfaces/extension.py:87 +#: ./src/pyams_skin/interfaces/extension.py:127 +msgid "Activate only if not rejected cookies?" +msgstr "" + +#: ./src/pyams_skin/interfaces/extension.py:44 +#: ./src/pyams_skin/interfaces/extension.py:88 +#: ./src/pyams_skin/interfaces/extension.py:128 +msgid "If 'no', plug-in will be activated without waiting for accepted cookies" +msgstr "" + +#: ./src/pyams_skin/interfaces/extension.py:48 +#: ./src/pyams_skin/interfaces/extension.py:92 +#: ./src/pyams_skin/interfaces/extension.py:132 +msgid "Cookie name" +msgstr "" + +#: ./src/pyams_skin/interfaces/extension.py:49 +#: ./src/pyams_skin/interfaces/extension.py:93 +#: ./src/pyams_skin/interfaces/extension.py:133 +msgid "Name of cookie checked to verify if cookies have been rejected" +msgstr "" + +#: ./src/pyams_skin/interfaces/extension.py:52 +#: ./src/pyams_skin/interfaces/extension.py:96 +#: ./src/pyams_skin/interfaces/extension.py:136 +msgid "Rejected cookie value" +msgstr "" + +#: ./src/pyams_skin/interfaces/extension.py:53 +#: ./src/pyams_skin/interfaces/extension.py:97 +#: ./src/pyams_skin/interfaces/extension.py:137 +msgid "Cookie value matching user's cookies reject" +msgstr "" + +#: ./src/pyams_skin/interfaces/extension.py:61 +msgid "Container ID" +msgstr "" + +#: ./src/pyams_skin/interfaces/extension.py:62 +msgid "Google Tag Manager container ID (may start with 'GTM-')" +msgstr "" + +#: ./src/pyams_skin/interfaces/extension.py:65 +#: ./src/pyams_skin/interfaces/extension.py:109 +#: ./src/pyams_skin/interfaces/extension.py:149 +msgid "Activation mode" +msgstr "" + +#: ./src/pyams_skin/interfaces/extension.py:66 +msgid "Mode(s) in which Google Tags are activated" +msgstr "" + +#: ./src/pyams_skin/interfaces/extension.py:78 +msgid "Web site verification code" +msgstr "" + +#: ./src/pyams_skin/interfaces/extension.py:79 +msgid "Google site verification code" +msgstr "" + +#: ./src/pyams_skin/interfaces/extension.py:82 +msgid "Activate Google Analytics?" +msgstr "" + +#: ./src/pyams_skin/interfaces/extension.py:83 +msgid "Are Google Analytics statistics activated?" +msgstr "" + +#: ./src/pyams_skin/interfaces/extension.py:105 +msgid "Web site ID" +msgstr "" + +#: ./src/pyams_skin/interfaces/extension.py:106 +msgid "Google Analytics web site ID" +msgstr "" + +#: ./src/pyams_skin/interfaces/extension.py:110 +msgid "Mode(s) in which statistics are activated" +msgstr "" + +#: ./src/pyams_skin/interfaces/extension.py:122 +msgid "Activate UserReport?" +msgstr "" + +#: ./src/pyams_skin/interfaces/extension.py:123 +msgid "Are UserReport comments and feedback activated?" +msgstr "" + +#: ./src/pyams_skin/interfaces/extension.py:145 +msgid "Account ID" +msgstr "" + +#: ./src/pyams_skin/interfaces/extension.py:146 +msgid "UserReport account ID, available in 'initSite' code snippet" +msgstr "" + +#: ./src/pyams_skin/interfaces/extension.py:150 +msgid "Mode(s) in which reports are activated" +msgstr "" + +#: ./src/pyams_skin/interfaces/extension.py:59 +#: ./src/pyams_skin/interfaces/extension.py:103 +#: ./src/pyams_skin/interfaces/extension.py:143 +msgid "You must specify cookie name and reject value !!" +msgstr "" + #: ./src/pyams_skin/interfaces/configuration.py:33 #: ./src/pyams_skin/interfaces/configuration.py:67 msgid "Title" @@ -213,105 +345,6 @@ msgid "You must select a custom skin or inherit from parent!" msgstr "" -#: ./src/pyams_skin/interfaces/viewlet.py:264 -msgid "<i class='fa fa-refresh fa-spin'></i>" -msgstr "" - -#: ./src/pyams_skin/interfaces/extension.py:32 -msgid "Front-office only" -msgstr "" - -#: ./src/pyams_skin/interfaces/extension.py:33 -msgid "Back-office only" -msgstr "" - -#: ./src/pyams_skin/interfaces/extension.py:34 -msgid "Front-office and back-office" -msgstr "" - -#: ./src/pyams_skin/interfaces/extension.py:45 -msgid "Activate Google Tag Manager?" -msgstr "" - -#: ./src/pyams_skin/interfaces/extension.py:46 -msgid "Is Google Tag Manager activated?" -msgstr "" - -#: ./src/pyams_skin/interfaces/extension.py:50 -msgid "Container ID" -msgstr "" - -#: ./src/pyams_skin/interfaces/extension.py:51 -msgid "Google Tag Manager container ID (may start with 'GTM-')" -msgstr "" - -#: ./src/pyams_skin/interfaces/extension.py:54 -#: ./src/pyams_skin/interfaces/extension.py:80 -#: ./src/pyams_skin/interfaces/extension.py:102 -msgid "Activation mode" -msgstr "" - -#: ./src/pyams_skin/interfaces/extension.py:55 -msgid "Mode(s) in which Google Tags are activated" -msgstr "" - -#: ./src/pyams_skin/interfaces/extension.py:67 -msgid "Activate Google Analytics?" -msgstr "" - -#: ./src/pyams_skin/interfaces/extension.py:68 -msgid "Are Google Analytics statistics activated?" -msgstr "" - -#: ./src/pyams_skin/interfaces/extension.py:72 -msgid "Web site ID" -msgstr "" - -#: ./src/pyams_skin/interfaces/extension.py:73 -msgid "Google Analytics web site ID" -msgstr "" - -#: ./src/pyams_skin/interfaces/extension.py:76 -msgid "Web site verification code" -msgstr "" - -#: ./src/pyams_skin/interfaces/extension.py:77 -msgid "Google site verification code" -msgstr "" - -#: ./src/pyams_skin/interfaces/extension.py:81 -msgid "Mode(s) in which statistics are activated" -msgstr "" - -#: ./src/pyams_skin/interfaces/extension.py:93 -msgid "Activate UserReport?" -msgstr "" - -#: ./src/pyams_skin/interfaces/extension.py:94 -msgid "Are UserReport comments and feedback activated?" -msgstr "" - -#: ./src/pyams_skin/interfaces/extension.py:98 -msgid "Account ID" -msgstr "" - -#: ./src/pyams_skin/interfaces/extension.py:99 -msgid "UserReport account ID, available in 'initSite' code snippet" -msgstr "" - -#: ./src/pyams_skin/interfaces/extension.py:103 -msgid "Mode(s) in which reports are activated" -msgstr "" - -#: ./src/pyams_skin/templates/header.pt:5 -msgid "Back to previous page" -msgstr "" - -#: ./src/pyams_skin/viewlet/activity/__init__.py:45 -#, python-format -msgid "Last update: {0}" -msgstr "" - #: ./src/pyams_skin/viewlet/toolbar/__init__.py:106 msgid "Add..." msgstr "" @@ -324,6 +357,15 @@ msgid "Other actions..." msgstr "" +#: ./src/pyams_skin/viewlet/activity/__init__.py:45 +#, python-format +msgid "Last update: {0}" +msgstr "" + #: ./src/pyams_skin/viewlet/breadcrumb/breadcrumbs.pt:4 msgid "Label" msgstr "" + +#: ./src/pyams_skin/templates/header.pt:5 +msgid "Back to previous page" +msgstr ""