# HG changeset patch # User Thierry Florac # Date 1626156081 -7200 # Node ID 998a3b7cac64012febc6982ca89c7b37866362ee # Parent d9128c1432af1e715f2f0d1228ded3efc849f21b Added Facebook verification code API diff -r d9128c1432af -r 998a3b7cac64 src/pyams_skin/extension.py --- a/src/pyams_skin/extension.py Tue Jul 13 08:00:55 2021 +0200 +++ b/src/pyams_skin/extension.py Tue Jul 13 08:01:21 2021 +0200 @@ -15,7 +15,8 @@ from persistent import Persistent from zope.schema.fieldproperty import FieldProperty -from pyams_skin.interfaces.extension import GOOGLE_ANALYTICS_INFO_KEY, GOOGLE_TAGS_INFO_KEY, IGoogleAnalyticsInfo, \ +from pyams_skin.interfaces.extension import FACEBOOK_INFO_KEY, GOOGLE_ANALYTICS_INFO_KEY, \ + GOOGLE_TAGS_INFO_KEY, IFacebookSiteInfo, IGoogleAnalyticsInfo, \ IGoogleTagManagerInfo, IUserReportInfo, USER_REPORT_INFO_KEY from pyams_utils.adapter import adapter_config, get_annotation_adapter from pyams_utils.factory import factory_config @@ -78,3 +79,18 @@ """User report settings factory""" return get_annotation_adapter(context, USER_REPORT_INFO_KEY, IUserReportInfo, notify=False, locate=False) + + +@factory_config(IFacebookSiteInfo) +class FacebookSiteInfo(Persistent): + """Facebook site verification""" + + enabled = FieldProperty(IFacebookSiteInfo['enabled']) + verification_code = FieldProperty(IFacebookSiteInfo['verification_code']) + + +@adapter_config(context=ISiteRoot, provides=IFacebookSiteInfo) +def facebook_info_factory(context): + """Facebook site info factory""" + return get_annotation_adapter(context, FACEBOOK_INFO_KEY, IFacebookSiteInfo, + notify=False, locate=False) diff -r d9128c1432af -r 998a3b7cac64 src/pyams_skin/interfaces/__init__.py --- a/src/pyams_skin/interfaces/__init__.py Tue Jul 13 08:00:55 2021 +0200 +++ b/src/pyams_skin/interfaces/__init__.py Tue Jul 13 08:01:21 2021 +0200 @@ -66,7 +66,8 @@ skin_parent = Attribute("Skin parent (local or inherited)") skin = Choice(title=_("Custom graphic theme"), - description=_("This theme will be used to handle graphic design (colors and images)"), + description=_("This theme will be used to handle graphic design (colors and " + "images)"), vocabulary='PyAMS user skins', required=False) @@ -83,16 +84,18 @@ required=False) custom_stylesheet = FileField(title=_("Custom stylesheet"), - description=_("This custom stylesheet will be used to override selected theme styles"), + description=_("This custom stylesheet will be used to override " + "selected theme styles"), required=False) editor_stylesheet = FileField(title=_("Editor stylesheet"), - description=_("Styles defined into this stylesheet will be available into HTML editor"), + description=_("Styles defined into this stylesheet will be " + "available into HTML editor"), required=False) custom_script = FileField(title=_("Custom script"), - description=_("This custom javascript file will be used to add dynamic features to " - "selected theme"), + description=_("This custom javascript file will be used to add " + "dynamic features to selected theme"), required=False) diff -r d9128c1432af -r 998a3b7cac64 src/pyams_skin/interfaces/extension.py --- a/src/pyams_skin/interfaces/extension.py Tue Jul 13 08:00:55 2021 +0200 +++ b/src/pyams_skin/interfaces/extension.py Tue Jul 13 08:01:21 2021 +0200 @@ -27,7 +27,10 @@ ACTIVATED_ON_BACK: _("Back-office only"), ACTIVATED_ON_BOTH: _("Front-office and back-office")} -ACTIVATION_MODES = SimpleVocabulary([SimpleTerm(k, title=v) for k, v in ACTIVATION_MODES_LABELS.items()]) +ACTIVATION_MODES = SimpleVocabulary([ + SimpleTerm(k, title=v) + for k, v in ACTIVATION_MODES_LABELS.items() +]) GOOGLE_TAGS_INFO_KEY = 'pyams_skin.tagmanager_info' @@ -41,12 +44,14 @@ default=False) on_accepted_cookie = Bool(title=_("Activate only if not rejected cookies?"), - description=_("If 'no', plug-in will be activated without waiting for accepted cookies"), + description=_("If 'no', plug-in will be activated without waiting " + "for accepted cookies"), required=False, default=False) cookie_name = TextLine(title=_("Cookie name"), - description=_("Name of cookie checked to verify if cookies have been rejected"), + description=_("Name of cookie checked to verify if cookies have been " + "rejected"), required=False) rejected_cookie_value = TextLine(title=_("Rejected cookie value"), @@ -59,7 +64,8 @@ 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-')"), + description=_("Google Tag Manager container ID (may start with " + "'GTM-')"), required=False) activation_mode = Choice(title=_("Activation mode"), @@ -85,12 +91,14 @@ default=False) on_accepted_cookie = Bool(title=_("Activate only if not rejected cookies?"), - description=_("If 'no', plug-in will be activated without waiting for accepted cookies"), + description=_("If 'no', plug-in will be activated without waiting " + "for accepted cookies"), required=False, default=False) cookie_name = TextLine(title=_("Cookie name"), - description=_("Name of cookie checked to verify if cookies have been rejected"), + description=_("Name of cookie checked to verify if cookies have been " + "rejected"), required=False) rejected_cookie_value = TextLine(title=_("Rejected cookie value"), @@ -125,12 +133,14 @@ default=False) on_accepted_cookie = Bool(title=_("Activate only if not rejected cookies?"), - description=_("If 'no', plug-in will be activated without waiting for accepted cookies"), + description=_("If 'no', plug-in will be activated without waiting " + "for accepted cookies"), required=False, default=False) cookie_name = TextLine(title=_("Cookie name"), - description=_("Name of cookie checked to verify if cookies have been rejected"), + description=_("Name of cookie checked to verify if cookies have been " + "rejected"), required=False) rejected_cookie_value = TextLine(title=_("Rejected cookie value"), @@ -143,7 +153,8 @@ 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"), + description=_("UserReport account ID, available in 'initSite' code " + "snippet"), required=False) activation_mode = Choice(title=_("Activation mode"), @@ -151,3 +162,20 @@ vocabulary=ACTIVATION_MODES, default=ACTIVATED_ON_BOTH, required=True) + + +FACEBOOK_INFO_KEY = 'pyams_skin.facebook_info' + + +class IFacebookSiteInfo(Interface): + """Facebook site account info""" + + enabled = Bool(title=_("Facebook site integration?"), + description=_("Is Facebbok integration code activated?"), + required=True, + default=False) + + verification_code = TextLine(title=_("Verification code"), + description=_("Verification code is available in " + "Facebook's \"Meta Tag Verification\" tool..."), + required=False) diff -r d9128c1432af -r 998a3b7cac64 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 d9128c1432af -r 998a3b7cac64 src/pyams_skin/locales/fr/LC_MESSAGES/pyams_skin.po --- a/src/pyams_skin/locales/fr/LC_MESSAGES/pyams_skin.po Tue Jul 13 08:00:55 2021 +0200 +++ b/src/pyams_skin/locales/fr/LC_MESSAGES/pyams_skin.po Tue Jul 13 08:01:21 2021 +0200 @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE 1.0\n" -"POT-Creation-Date: 2019-01-16 23:38+0100\n" +"POT-Creation-Date: 2021-07-06 14:56+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" @@ -15,11 +15,15 @@ "Content-Transfer-Encoding: 8bit\n" "Generated-By: Lingua 3.8\n" -#: src/pyams_skin/container.py:71 +#: src/pyams_skin/skin.py:218 +msgid "PyAMS base skin" +msgstr "Skin PyAMS par défaut" + +#: src/pyams_skin/container.py:75 msgid "No provided object_name argument!" msgstr "Argument 'object_name' non fourni !" -#: src/pyams_skin/container.py:84 +#: src/pyams_skin/container.py:88 msgid "Given element name doesn't exist!" msgstr "L'élément indiqué n'existe pas !" @@ -55,9 +59,188 @@ 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/configuration.py:33 +#: src/pyams_skin/interfaces/configuration.py:67 +msgid "Title" +msgstr "Titre" + +#: src/pyams_skin/interfaces/configuration.py:34 +msgid "Application title displayed in title bar" +msgstr "Titre de l'application affiché dans la barre de menu" + +#: src/pyams_skin/interfaces/configuration.py:37 +#: src/pyams_skin/interfaces/configuration.py:71 +msgid "Short title" +msgstr "Titre court" + +#: src/pyams_skin/interfaces/configuration.py:38 +#: src/pyams_skin/interfaces/configuration.py:72 +msgid "Application short title visible as title prefix" +msgstr "Titre court de l'application affiché en préfixe du titre" + +#: src/pyams_skin/interfaces/configuration.py:44 +msgid "Description" +msgstr "Méta-description" + +#: src/pyams_skin/interfaces/configuration.py:45 +msgid "Main application description" +msgstr "" +"La méta-description du site est 'masquée' dans les en-têtes des pages HTML ; " +"mais on peut la retrouver, par exemple, dans les listes de résultats des " +"moteurs de recherche." + +#: src/pyams_skin/interfaces/configuration.py:48 +msgid "Author" +msgstr "Auteur" + +#: src/pyams_skin/interfaces/configuration.py:49 +msgid "Public author name" +msgstr "Nom public de l'auteur" + +#: src/pyams_skin/interfaces/configuration.py:52 +#: src/pyams_skin/interfaces/configuration.py:86 +msgid "Icon" +msgstr "Icône" + +#: src/pyams_skin/interfaces/configuration.py:53 +#: src/pyams_skin/interfaces/configuration.py:87 +msgid "Browser favourite icon" +msgstr "Icône des favoris" + +#: src/pyams_skin/interfaces/configuration.py:56 +#: src/pyams_skin/interfaces/configuration.py:90 +msgid "Logo" +msgstr "Logo" + +#: src/pyams_skin/interfaces/configuration.py:57 +#: src/pyams_skin/interfaces/configuration.py:91 +msgid "Image containing application logo" +msgstr "Image contenant le logo de l'application ou du site" + +#: src/pyams_skin/interfaces/configuration.py:68 +msgid "Application title visible in back-office" +msgstr "Titre de l'application affiché dans la barre de menu" + +#: src/pyams_skin/interfaces/configuration.py:78 +msgid "Login header" +msgstr "En-tête de connexion" + +#: src/pyams_skin/interfaces/configuration.py:79 +msgid "This reStructuredText text will be displayed in login page header" +msgstr "" +"Ce texte au format reStructuredText sera affiché en en-tête de la fenêtre de " +"connexion" + +#: src/pyams_skin/interfaces/configuration.py:82 +msgid "Login footer" +msgstr "Pied de page de connexion" + +#: src/pyams_skin/interfaces/configuration.py:83 +msgid "This reStructuredText text will be displayed in login page footer" +msgstr "" +"Ce texte au format reStructuredText sera affiché en pied de la fenêtre de " +"connexion" + +#: src/pyams_skin/interfaces/configuration.py:94 +msgid "Login logo" +msgstr "Logo de connexion" + +#: src/pyams_skin/interfaces/configuration.py:95 +msgid "Image containing application logo for login form" +msgstr "" +"Image contenant le logo de l'application ou du site affiché sur la page de " +"connexion" + +#: src/pyams_skin/interfaces/configuration.py:98 +msgid "Display title icon?" +msgstr "Afficher les icônes de titre ?" + +#: src/pyams_skin/interfaces/configuration.py:99 +msgid "Should icons be displayed into content's title area ?" +msgstr "" +"Les icônes associées aux en-têtes de pages doivent-elles être affichées ?" + +#: src/pyams_skin/interfaces/configuration.py:103 +msgid "Display shared tool title?" +msgstr "Afficher le titre des outils ?" + +#: src/pyams_skin/interfaces/configuration.py:104 +msgid "Should shared tool title be displayed into shared content's title area?" +msgstr "" +"Le titre des outils partagés doit-il être affiché dans les en-têtes de " +"pages ?" + +#: src/pyams_skin/interfaces/__init__.py:56 +msgid "Inherit parent skin?" +msgstr "Hériter du thème du parent ?" + +#: src/pyams_skin/interfaces/__init__.py:57 +msgid "Should we reuse parent skin?" +msgstr "Si 'oui', le même thème que celui du niveau parent sera utilisé" + +#: src/pyams_skin/interfaces/__init__.py:61 +msgid "Don't inherit parent skin?" +msgstr "Ne pas hériter du thème du parent ?" + +#: src/pyams_skin/interfaces/__init__.py:62 +msgid "Should we override parent skin?" +msgstr "Si 'non', le même thème que celui du niveau parent sera utilisé" + +#: src/pyams_skin/interfaces/__init__.py:68 +msgid "Custom graphic theme" +msgstr "Choisir un thème spécifique" + +#: src/pyams_skin/interfaces/__init__.py:69 +msgid "This theme will be used to handle graphic design (colors and images)" +msgstr "" +"Ce thème sera utilisé pour prendre en charge le modèle de présentation " +"(palette de couleurs et images)" + +#: src/pyams_skin/interfaces/__init__.py:81 +msgid "Container class" +msgstr "Classe du conteneur" + +#: src/pyams_skin/interfaces/__init__.py:82 +msgid "Main page container class" +msgstr "Classe CSS du conteneur principal de la page" + +#: src/pyams_skin/interfaces/__init__.py:85 +msgid "Custom stylesheet" +msgstr "Feuille de style personnalisée" + +#: src/pyams_skin/interfaces/__init__.py:86 +msgid "This custom stylesheet will be used to override selected theme styles" +msgstr "" +"Cette feuille de style pourra être utilisée pour surcharger les styles " +"proposés par le thème graphique sélectionné" + +#: src/pyams_skin/interfaces/__init__.py:89 +msgid "Editor stylesheet" +msgstr "Feuille de style éditeur HTML" + +#: src/pyams_skin/interfaces/__init__.py:90 +msgid "Styles defined into this stylesheet will be available into HTML editor" +msgstr "" +"Les styles définis dans cette feuille de style seront accessibles aux " +"contributeurs au sein de l'éditeur HTML ; consultez la documentation pour " +"connaître les contraintes qui s'appliquent" + +#: src/pyams_skin/interfaces/__init__.py:93 +msgid "Custom script" +msgstr "Script additionnel" + +#: src/pyams_skin/interfaces/__init__.py:94 +msgid "" +"This custom javascript file will be used to add dynamic features to selected " +"theme" +msgstr "" +"Ce fichier javascript pourra ajouter des fonctionnalités supplémentaires à " +"celles proposées par le thème graphique sélectionné" + +#: src/pyams_skin/interfaces/__init__.py:76 +msgid "You must select a custom skin or inherit from parent!" +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>" @@ -200,180 +383,14 @@ 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" -msgstr "Titre" - -#: src/pyams_skin/interfaces/configuration.py:34 -msgid "Application title displayed in title bar" -msgstr "Titre de l'application affiché dans la barre de menu" - -#: src/pyams_skin/interfaces/configuration.py:37 -#: src/pyams_skin/interfaces/configuration.py:71 -msgid "Short title" -msgstr "Titre court" - -#: src/pyams_skin/interfaces/configuration.py:38 -#: src/pyams_skin/interfaces/configuration.py:72 -msgid "Application short title visible as title prefix" -msgstr "Titre court de l'application affiché en préfixe du titre" - -#: src/pyams_skin/interfaces/configuration.py:44 -msgid "Description" -msgstr "Méta-description" - -#: src/pyams_skin/interfaces/configuration.py:45 -msgid "Main application description" -msgstr "" -"La méta-description du site est 'masquée' dans les en-têtes des pages HTML ; " -"mais on peut la retrouver, par exemple, dans les listes de résultats des " -"moteurs de recherche." - -#: src/pyams_skin/interfaces/configuration.py:48 -msgid "Author" -msgstr "Auteur" - -#: src/pyams_skin/interfaces/configuration.py:49 -msgid "Public author name" -msgstr "Nom public de l'auteur" - -#: src/pyams_skin/interfaces/configuration.py:52 -#: src/pyams_skin/interfaces/configuration.py:86 -msgid "Icon" -msgstr "Icône" - -#: src/pyams_skin/interfaces/configuration.py:53 -#: src/pyams_skin/interfaces/configuration.py:87 -msgid "Browser favourite icon" -msgstr "Icône des favoris" - -#: src/pyams_skin/interfaces/configuration.py:56 -#: src/pyams_skin/interfaces/configuration.py:90 -msgid "Logo" -msgstr "Logo" - -#: src/pyams_skin/interfaces/configuration.py:57 -#: src/pyams_skin/interfaces/configuration.py:91 -msgid "Image containing application logo" -msgstr "Image contenant le logo de l'application ou du site" - -#: src/pyams_skin/interfaces/configuration.py:68 -msgid "Application title visible in back-office" -msgstr "Titre de l'application affiché dans la barre de menu" - -#: src/pyams_skin/interfaces/configuration.py:78 -msgid "Login header" -msgstr "En-tête de connexion" - -#: src/pyams_skin/interfaces/configuration.py:79 -msgid "This reStructuredText text will be displayed in login page header" -msgstr "" -"Ce texte au format reStructuredText sera affiché en en-tête de la fenêtre de " -"connexion" - -#: src/pyams_skin/interfaces/configuration.py:82 -msgid "Login footer" -msgstr "Pied de page de connexion" - -#: src/pyams_skin/interfaces/configuration.py:83 -msgid "This reStructuredText text will be displayed in login page footer" -msgstr "" -"Ce texte au format reStructuredText sera affiché en pied de la fenêtre de " -"connexion" - -#: src/pyams_skin/interfaces/configuration.py:94 -msgid "Login logo" -msgstr "Logo de connexion" +#: src/pyams_skin/templates/header.pt:5 +msgid "Back to previous page" +msgstr "Revenir à la page précédente" -#: src/pyams_skin/interfaces/configuration.py:95 -msgid "Image containing application logo for login form" -msgstr "" -"Image contenant le logo de l'application ou du site affiché sur la page de " -"connexion" - -#: src/pyams_skin/interfaces/configuration.py:98 -msgid "Display title icon?" -msgstr "Afficher les icônes de titre ?" - -#: src/pyams_skin/interfaces/configuration.py:99 -msgid "Should icons be displayed into content's title area ?" -msgstr "" -"Les icônes associées aux en-têtes de pages doivent-elles être affichées ?" - -#: src/pyams_skin/interfaces/configuration.py:103 -msgid "Display shared tool title?" -msgstr "Afficher le titre des outils ?" - -#: src/pyams_skin/interfaces/configuration.py:104 -msgid "Should shared tool title be displayed into shared content's title area?" -msgstr "" -"Le titre des outils partagés doit-il être affiché dans les en-têtes de " -"pages ?" - -#: src/pyams_skin/interfaces/__init__.py:55 -msgid "Inherit parent skin?" -msgstr "Hériter du thème du parent ?" - -#: src/pyams_skin/interfaces/__init__.py:56 -msgid "Should we reuse parent skin?" -msgstr "Si 'oui', le même thème que celui du niveau parent sera utilisé" - -#: src/pyams_skin/interfaces/__init__.py:60 -msgid "Don't inherit parent skin?" -msgstr "Ne pas hériter du thème du parent ?" - -#: src/pyams_skin/interfaces/__init__.py:61 -msgid "Should we override parent skin?" -msgstr "Si 'non', le même thème que celui du niveau parent sera utilisé" - -#: src/pyams_skin/interfaces/__init__.py:67 -msgid "Custom graphic theme" -msgstr "Choisir un thème spécifique" - -#: src/pyams_skin/interfaces/__init__.py:68 -msgid "This theme will be used to handle graphic design (colors and images)" -msgstr "" -"Ce thème sera utilisé pour prendre en charge le modèle de présentation " -"(palette de couleurs et images)" - -#: src/pyams_skin/interfaces/__init__.py:80 -msgid "Custom stylesheet" -msgstr "Feuille de style personnalisée" - -#: src/pyams_skin/interfaces/__init__.py:81 -msgid "This custom stylesheet will be used to override selected theme styles" -msgstr "" -"Cette feuille de style pourra être utilisée pour surcharger les styles " -"proposés par le thème graphique sélectionné" - -#: src/pyams_skin/interfaces/__init__.py:84 -msgid "Editor stylesheet" -msgstr "Feuille de style éditeur HTML" - -#: src/pyams_skin/interfaces/__init__.py:85 -msgid "Styles defined into this stylesheet will be available into HTML editor" -msgstr "" -"Les styles définis dans cette feuille de style seront accessibles aux " -"contributeurs au sein de l'éditeur HTML ; consultez la documentation pour " -"connaître les contraintes qui s'appliquent" - -#: src/pyams_skin/interfaces/__init__.py:88 -msgid "Custom script" -msgstr "Script additionnel" - -#: src/pyams_skin/interfaces/__init__.py:89 -msgid "" -"This custom javascript file will be used to add dynamic features to selected " -"theme" -msgstr "" -"Ce fichier javascript pourra ajouter des fonctionnalités supplémentaires à " -"celles proposées par le thème graphique sélectionné" - -#: src/pyams_skin/interfaces/__init__.py:75 -msgid "You must select a custom skin or inherit from parent!" -msgstr "" -"Vous devez choisir un thème spécifique ou hériter de celui du niveau parent" +#: 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..." @@ -387,19 +404,10 @@ 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 d9128c1432af -r 998a3b7cac64 src/pyams_skin/locales/pyams_skin.pot --- a/src/pyams_skin/locales/pyams_skin.pot Tue Jul 13 08:00:55 2021 +0200 +++ b/src/pyams_skin/locales/pyams_skin.pot Tue Jul 13 08:01:21 2021 +0200 @@ -1,12 +1,12 @@ # # SOME DESCRIPTIVE TITLE # This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , 2019. +# FIRST AUTHOR , 2021. #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE 1.0\n" -"POT-Creation-Date: 2019-01-16 23:38+0100\n" +"POT-Creation-Date: 2021-07-06 14:56+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" @@ -16,11 +16,15 @@ "Content-Transfer-Encoding: 8bit\n" "Generated-By: Lingua 3.10.dev0\n" -#: ./src/pyams_skin/container.py:71 +#: ./src/pyams_skin/skin.py:218 +msgid "PyAMS base skin" +msgstr "" + +#: ./src/pyams_skin/container.py:75 msgid "No provided object_name argument!" msgstr "" -#: ./src/pyams_skin/container.py:84 +#: ./src/pyams_skin/container.py:88 msgid "Given element name doesn't exist!" msgstr "" @@ -56,8 +60,165 @@ msgid "Delete object" msgstr "" -#: ./src/pyams_skin/skin.py:202 -msgid "PyAMS base skin" +#: ./src/pyams_skin/interfaces/configuration.py:33 +#: ./src/pyams_skin/interfaces/configuration.py:67 +msgid "Title" +msgstr "" + +#: ./src/pyams_skin/interfaces/configuration.py:34 +msgid "Application title displayed in title bar" +msgstr "" + +#: ./src/pyams_skin/interfaces/configuration.py:37 +#: ./src/pyams_skin/interfaces/configuration.py:71 +msgid "Short title" +msgstr "" + +#: ./src/pyams_skin/interfaces/configuration.py:38 +#: ./src/pyams_skin/interfaces/configuration.py:72 +msgid "Application short title visible as title prefix" +msgstr "" + +#: ./src/pyams_skin/interfaces/configuration.py:44 +msgid "Description" +msgstr "" + +#: ./src/pyams_skin/interfaces/configuration.py:45 +msgid "Main application description" +msgstr "" + +#: ./src/pyams_skin/interfaces/configuration.py:48 +msgid "Author" +msgstr "" + +#: ./src/pyams_skin/interfaces/configuration.py:49 +msgid "Public author name" +msgstr "" + +#: ./src/pyams_skin/interfaces/configuration.py:52 +#: ./src/pyams_skin/interfaces/configuration.py:86 +msgid "Icon" +msgstr "" + +#: ./src/pyams_skin/interfaces/configuration.py:53 +#: ./src/pyams_skin/interfaces/configuration.py:87 +msgid "Browser favourite icon" +msgstr "" + +#: ./src/pyams_skin/interfaces/configuration.py:56 +#: ./src/pyams_skin/interfaces/configuration.py:90 +msgid "Logo" +msgstr "" + +#: ./src/pyams_skin/interfaces/configuration.py:57 +#: ./src/pyams_skin/interfaces/configuration.py:91 +msgid "Image containing application logo" +msgstr "" + +#: ./src/pyams_skin/interfaces/configuration.py:68 +msgid "Application title visible in back-office" +msgstr "" + +#: ./src/pyams_skin/interfaces/configuration.py:78 +msgid "Login header" +msgstr "" + +#: ./src/pyams_skin/interfaces/configuration.py:79 +msgid "This reStructuredText text will be displayed in login page header" +msgstr "" + +#: ./src/pyams_skin/interfaces/configuration.py:82 +msgid "Login footer" +msgstr "" + +#: ./src/pyams_skin/interfaces/configuration.py:83 +msgid "This reStructuredText text will be displayed in login page footer" +msgstr "" + +#: ./src/pyams_skin/interfaces/configuration.py:94 +msgid "Login logo" +msgstr "" + +#: ./src/pyams_skin/interfaces/configuration.py:95 +msgid "Image containing application logo for login form" +msgstr "" + +#: ./src/pyams_skin/interfaces/configuration.py:98 +msgid "Display title icon?" +msgstr "" + +#: ./src/pyams_skin/interfaces/configuration.py:99 +msgid "Should icons be displayed into content's title area ?" +msgstr "" + +#: ./src/pyams_skin/interfaces/configuration.py:103 +msgid "Display shared tool title?" +msgstr "" + +#: ./src/pyams_skin/interfaces/configuration.py:104 +msgid "Should shared tool title be displayed into shared content's title area?" +msgstr "" + +#: ./src/pyams_skin/interfaces/__init__.py:56 +msgid "Inherit parent skin?" +msgstr "" + +#: ./src/pyams_skin/interfaces/__init__.py:57 +msgid "Should we reuse parent skin?" +msgstr "" + +#: ./src/pyams_skin/interfaces/__init__.py:61 +msgid "Don't inherit parent skin?" +msgstr "" + +#: ./src/pyams_skin/interfaces/__init__.py:62 +msgid "Should we override parent skin?" +msgstr "" + +#: ./src/pyams_skin/interfaces/__init__.py:68 +msgid "Custom graphic theme" +msgstr "" + +#: ./src/pyams_skin/interfaces/__init__.py:69 +msgid "This theme will be used to handle graphic design (colors and images)" +msgstr "" + +#: ./src/pyams_skin/interfaces/__init__.py:81 +msgid "Container class" +msgstr "" + +#: ./src/pyams_skin/interfaces/__init__.py:82 +msgid "Main page container class" +msgstr "" + +#: ./src/pyams_skin/interfaces/__init__.py:85 +msgid "Custom stylesheet" +msgstr "" + +#: ./src/pyams_skin/interfaces/__init__.py:86 +msgid "This custom stylesheet will be used to override selected theme styles" +msgstr "" + +#: ./src/pyams_skin/interfaces/__init__.py:89 +msgid "Editor stylesheet" +msgstr "" + +#: ./src/pyams_skin/interfaces/__init__.py:90 +msgid "Styles defined into this stylesheet will be available into HTML editor" +msgstr "" + +#: ./src/pyams_skin/interfaces/__init__.py:93 +msgid "Custom script" +msgstr "" + +#: ./src/pyams_skin/interfaces/__init__.py:94 +msgid "" +"This custom javascript file will be used to add dynamic features to selected " +"theme" +msgstr "" + +#: ./src/pyams_skin/interfaces/__init__.py:76 +msgid "You must select a custom skin or inherit from parent!" msgstr "" #: ./src/pyams_skin/interfaces/viewlet.py:264 @@ -192,157 +353,13 @@ 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" -msgstr "" - -#: ./src/pyams_skin/interfaces/configuration.py:34 -msgid "Application title displayed in title bar" -msgstr "" - -#: ./src/pyams_skin/interfaces/configuration.py:37 -#: ./src/pyams_skin/interfaces/configuration.py:71 -msgid "Short title" -msgstr "" - -#: ./src/pyams_skin/interfaces/configuration.py:38 -#: ./src/pyams_skin/interfaces/configuration.py:72 -msgid "Application short title visible as title prefix" -msgstr "" - -#: ./src/pyams_skin/interfaces/configuration.py:44 -msgid "Description" -msgstr "" - -#: ./src/pyams_skin/interfaces/configuration.py:45 -msgid "Main application description" -msgstr "" - -#: ./src/pyams_skin/interfaces/configuration.py:48 -msgid "Author" -msgstr "" - -#: ./src/pyams_skin/interfaces/configuration.py:49 -msgid "Public author name" -msgstr "" - -#: ./src/pyams_skin/interfaces/configuration.py:52 -#: ./src/pyams_skin/interfaces/configuration.py:86 -msgid "Icon" -msgstr "" - -#: ./src/pyams_skin/interfaces/configuration.py:53 -#: ./src/pyams_skin/interfaces/configuration.py:87 -msgid "Browser favourite icon" -msgstr "" - -#: ./src/pyams_skin/interfaces/configuration.py:56 -#: ./src/pyams_skin/interfaces/configuration.py:90 -msgid "Logo" -msgstr "" - -#: ./src/pyams_skin/interfaces/configuration.py:57 -#: ./src/pyams_skin/interfaces/configuration.py:91 -msgid "Image containing application logo" -msgstr "" - -#: ./src/pyams_skin/interfaces/configuration.py:68 -msgid "Application title visible in back-office" -msgstr "" - -#: ./src/pyams_skin/interfaces/configuration.py:78 -msgid "Login header" -msgstr "" - -#: ./src/pyams_skin/interfaces/configuration.py:79 -msgid "This reStructuredText text will be displayed in login page header" -msgstr "" - -#: ./src/pyams_skin/interfaces/configuration.py:82 -msgid "Login footer" -msgstr "" - -#: ./src/pyams_skin/interfaces/configuration.py:83 -msgid "This reStructuredText text will be displayed in login page footer" +#: ./src/pyams_skin/templates/header.pt:5 +msgid "Back to previous page" msgstr "" -#: ./src/pyams_skin/interfaces/configuration.py:94 -msgid "Login logo" -msgstr "" - -#: ./src/pyams_skin/interfaces/configuration.py:95 -msgid "Image containing application logo for login form" -msgstr "" - -#: ./src/pyams_skin/interfaces/configuration.py:98 -msgid "Display title icon?" -msgstr "" - -#: ./src/pyams_skin/interfaces/configuration.py:99 -msgid "Should icons be displayed into content's title area ?" -msgstr "" - -#: ./src/pyams_skin/interfaces/configuration.py:103 -msgid "Display shared tool title?" -msgstr "" - -#: ./src/pyams_skin/interfaces/configuration.py:104 -msgid "Should shared tool title be displayed into shared content's title area?" -msgstr "" - -#: ./src/pyams_skin/interfaces/__init__.py:55 -msgid "Inherit parent skin?" -msgstr "" - -#: ./src/pyams_skin/interfaces/__init__.py:56 -msgid "Should we reuse parent skin?" -msgstr "" - -#: ./src/pyams_skin/interfaces/__init__.py:60 -msgid "Don't inherit parent skin?" -msgstr "" - -#: ./src/pyams_skin/interfaces/__init__.py:61 -msgid "Should we override parent skin?" -msgstr "" - -#: ./src/pyams_skin/interfaces/__init__.py:67 -msgid "Custom graphic theme" -msgstr "" - -#: ./src/pyams_skin/interfaces/__init__.py:68 -msgid "This theme will be used to handle graphic design (colors and images)" -msgstr "" - -#: ./src/pyams_skin/interfaces/__init__.py:80 -msgid "Custom stylesheet" -msgstr "" - -#: ./src/pyams_skin/interfaces/__init__.py:81 -msgid "This custom stylesheet will be used to override selected theme styles" -msgstr "" - -#: ./src/pyams_skin/interfaces/__init__.py:84 -msgid "Editor stylesheet" -msgstr "" - -#: ./src/pyams_skin/interfaces/__init__.py:85 -msgid "Styles defined into this stylesheet will be available into HTML editor" -msgstr "" - -#: ./src/pyams_skin/interfaces/__init__.py:88 -msgid "Custom script" -msgstr "" - -#: ./src/pyams_skin/interfaces/__init__.py:89 -msgid "" -"This custom javascript file will be used to add dynamic features to selected " -"theme" -msgstr "" - -#: ./src/pyams_skin/interfaces/__init__.py:75 -msgid "You must select a custom skin or inherit from parent!" +#: ./src/pyams_skin/viewlet/activity/__init__.py:45 +#, python-format +msgid "Last update: {0}" msgstr "" #: ./src/pyams_skin/viewlet/toolbar/__init__.py:106 @@ -357,15 +374,6 @@ 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 "" diff -r d9128c1432af -r 998a3b7cac64 src/pyams_skin/metas.py --- a/src/pyams_skin/metas.py Tue Jul 13 08:00:55 2021 +0200 +++ b/src/pyams_skin/metas.py Tue Jul 13 08:01:21 2021 +0200 @@ -19,7 +19,7 @@ from pyams_i18n.interfaces import II18n from pyams_skin.interfaces.configuration import IConfiguration -from pyams_skin.interfaces.extension import IGoogleAnalyticsInfo +from pyams_skin.interfaces.extension import IFacebookSiteInfo, IGoogleAnalyticsInfo from pyams_skin.interfaces.metas import IHTMLContentMetas, IMetaHeader from pyams_skin.layer import IPyAMSUserLayer from pyams_utils.adapter import ContextRequestViewAdapter, adapter_config @@ -199,3 +199,22 @@ def get_metas(self): info = IGoogleAnalyticsInfo(self.request.root) yield ContentMeta('google-site-verification', info.verification_code) + + +@adapter_config(name='facebook-verification', + context=(Interface, IPyAMSUserLayer, Interface), + provides=IHTMLContentMetas) +class FacebookVerificationCodeMetasAdapter(ContextRequestViewAdapter): + """Facebook verification code meta adapter""" + + order = 12 + + def __new__(cls, context, request, view): + info = IFacebookSiteInfo(request.root) + if not (info.enabled and info.verification_code): + return None + return ContextRequestViewAdapter.__new__(cls) + + def get_metas(self): + info = IFacebookSiteInfo(self.request.root) + yield ContentMeta('facebook-domain-verification', info.verification_code)