# HG changeset patch # User Thierry Florac # Date 1571244732 -7200 # Node ID 865291f1616dcda894c4d03bb55eaa6f155ddc6f # Parent 87bcbf37ad6d266a83b8baebeef4b5c6182d350e Version 0.1.55 diff -r 87bcbf37ad6d -r 865291f1616d buildout.cfg --- a/buildout.cfg Wed Oct 16 18:41:45 2019 +0200 +++ b/buildout.cfg Wed Oct 16 18:52:12 2019 +0200 @@ -85,4 +85,4 @@ eggs = pyams_content [test] [versions] -pyams_content = 0.1.54.2 +pyams_content = 0.1.55 diff -r 87bcbf37ad6d -r 865291f1616d docs/HISTORY.txt --- a/docs/HISTORY.txt Wed Oct 16 18:41:45 2019 +0200 +++ b/docs/HISTORY.txt Wed Oct 16 18:52:12 2019 +0200 @@ -1,6 +1,10 @@ History ======= +0.1.55 +------ + - updated form's captcha and proxy management by adding default settings to forms manager + 0.1.54.2 -------- - define alternate owners list on contributors restrictions as not required diff -r 87bcbf37ad6d -r 865291f1616d setup.py --- a/setup.py Wed Oct 16 18:41:45 2019 +0200 +++ b/setup.py Wed Oct 16 18:52:12 2019 +0200 @@ -24,7 +24,7 @@ README = os.path.join(DOCS, 'README.txt') HISTORY = os.path.join(DOCS, 'HISTORY.txt') -version = '0.1.54.2' +version = '0.1.55' long_description = open(README).read() + '\n\n' + open(HISTORY).read() tests_require = [] diff -r 87bcbf37ad6d -r 865291f1616d src/pyams_content.egg-info/PKG-INFO --- a/src/pyams_content.egg-info/PKG-INFO Wed Oct 16 18:41:45 2019 +0200 +++ b/src/pyams_content.egg-info/PKG-INFO Wed Oct 16 18:52:12 2019 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: pyams-content -Version: 0.1.54.2 +Version: 0.1.55 Summary: PyAMS base content interfaces and classes Home-page: http://hg.ztfy.org/pyams/pyams_content Author: Thierry Florac @@ -72,6 +72,10 @@ History ======= + 0.1.55 + ------ + - updated form's captcha and proxy management by adding default settings to forms manager + 0.1.54.2 -------- - define alternate owners list on contributors restrictions as not required diff -r 87bcbf37ad6d -r 865291f1616d src/pyams_content.egg-info/SOURCES.txt --- a/src/pyams_content.egg-info/SOURCES.txt Wed Oct 16 18:41:45 2019 +0200 +++ b/src/pyams_content.egg-info/SOURCES.txt Wed Oct 16 18:52:12 2019 +0200 @@ -346,6 +346,7 @@ src/pyams_content/shared/form/manager.py src/pyams_content/shared/form/zmi/__init__.py src/pyams_content/shared/form/zmi/field.py +src/pyams_content/shared/form/zmi/manager.py src/pyams_content/shared/form/zmi/paragraph.py src/pyams_content/shared/form/zmi/properties.py src/pyams_content/shared/imagemap/__init__.py diff -r 87bcbf37ad6d -r 865291f1616d src/pyams_content/locales/fr/LC_MESSAGES/pyams_content.mo Binary file src/pyams_content/locales/fr/LC_MESSAGES/pyams_content.mo has changed diff -r 87bcbf37ad6d -r 865291f1616d src/pyams_content/locales/fr/LC_MESSAGES/pyams_content.po --- a/src/pyams_content/locales/fr/LC_MESSAGES/pyams_content.po Wed Oct 16 18:41:45 2019 +0200 +++ b/src/pyams_content/locales/fr/LC_MESSAGES/pyams_content.po Wed Oct 16 18:52:12 2019 +0200 @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE 1.0\n" -"POT-Creation-Date: 2019-10-03 12:42+0200\n" +"POT-Creation-Date: 2019-10-16 18:21+0200\n" "PO-Revision-Date: 2015-09-10 10:42+0200\n" "Last-Translator: Thierry Florac \n" "Language-Team: French\n" @@ -237,7 +237,7 @@ #: src/pyams_content/component/association/interfaces.py:37 #: src/pyams_content/features/alert/interfaces.py:54 #: src/pyams_content/features/menu/interfaces.py:62 -#: src/pyams_content/shared/form/interfaces.py:86 +#: src/pyams_content/shared/form/interfaces.py:148 #: src/pyams_content/shared/site/interfaces.py:179 msgid "Visible?" msgstr "Visible ?" @@ -476,7 +476,7 @@ #: src/pyams_content/component/paragraph/interfaces/audio.py:50 #: src/pyams_content/component/extfile/interfaces.py:36 #: src/pyams_content/features/search/interfaces.py:45 -#: src/pyams_content/shared/form/interfaces.py:63 +#: src/pyams_content/shared/form/interfaces.py:125 msgid "Description" msgstr "Description" @@ -892,7 +892,7 @@ msgstr "le contenu ciblé n'est pas publié" #: src/pyams_content/component/links/interfaces.py:32 -#: src/pyams_content/shared/form/interfaces.py:145 +#: src/pyams_content/shared/form/interfaces.py:207 #: src/pyams_content/shared/imagemap/interfaces.py:55 msgid "Alternate title" msgstr "Titre de substitution" @@ -1312,7 +1312,7 @@ #: src/pyams_content/component/paragraph/interfaces/verbatim.py:53 #: src/pyams_content/component/paragraph/interfaces/keypoint.py:45 #: src/pyams_content/component/paragraph/interfaces/frame.py:44 -#: src/pyams_content/shared/form/interfaces.py:118 +#: src/pyams_content/shared/form/interfaces.py:180 #: src/pyams_content/shared/imagemap/interfaces.py:101 #: src/pyams_content/shared/logo/interfaces.py:94 msgid "Presentation template used for this paragraph" @@ -2346,7 +2346,7 @@ #: src/pyams_content/features/share/interfaces.py:62 #: src/pyams_content/features/share/zmi/container.py:155 #: src/pyams_content/features/menu/zmi/__init__.py:217 -#: src/pyams_content/shared/form/interfaces.py:59 +#: src/pyams_content/shared/form/interfaces.py:121 #: src/pyams_content/shared/form/zmi/field.py:166 #: src/pyams_content/shared/common/interfaces/types.py:45 msgid "Label" @@ -4087,101 +4087,203 @@ msgid "List" msgstr "Choix multiples dans une liste" -#: src/pyams_content/shared/form/handler.py:75 +#: src/pyams_content/shared/form/handler.py:79 msgid "Direct mailto form handler" msgstr "Envoi direct des données par mail" -#: src/pyams_content/shared/form/handler.py:39 +#: src/pyams_content/shared/form/handler.py:42 msgid "No selected handler..." msgstr "Aucun gestionnaire sélectionné" -#: src/pyams_content/shared/form/__init__.py:105 -#: src/pyams_content/shared/form/interfaces.py:110 +#: src/pyams_content/shared/form/__init__.py:124 +#: src/pyams_content/shared/form/interfaces.py:172 msgid "Form fields" msgstr "Champs de saisie" -#: src/pyams_content/shared/form/__init__.py:106 +#: src/pyams_content/shared/form/__init__.py:125 msgid "no field defined" msgstr "aucun champ défini" -#: src/pyams_content/shared/form/interfaces.py:32 +#: src/pyams_content/shared/form/interfaces.py:33 msgid "Form" msgstr "Formulaire" -#: src/pyams_content/shared/form/interfaces.py:50 +#: src/pyams_content/shared/form/interfaces.py:41 +msgid "Use captcha?" +msgstr "Ajouter un captcha ?" + +#: src/pyams_content/shared/form/interfaces.py:42 +msgid "Set default captcha settings" +msgstr "Paramétrage par défaut des captchas" + +#: src/pyams_content/shared/form/interfaces.py:46 +msgid "Default captcha site key" +msgstr "Clé de site par défaut" + +#: src/pyams_content/shared/form/interfaces.py:47 +#: src/pyams_content/shared/form/interfaces.py:246 +msgid "This key is included into HTML code and submitted with form data" +msgstr "" +"Cette clé est intégrée dans le code HTML et soumise avec les autres données " +"du formulaire" + +#: src/pyams_content/shared/form/interfaces.py:51 +msgid "Default captcha secret key" +msgstr "Clé serveur par défaut" + +#: src/pyams_content/shared/form/interfaces.py:52 +#: src/pyams_content/shared/form/interfaces.py:251 +msgid "This key is used to communicate with Google's reCaptcha services" +msgstr "" +"Cette clé secrète est utilisée par le serveur pour contacter le service " +"Google de vérification du captcha" + +#: src/pyams_content/shared/form/interfaces.py:59 +msgid "Use proxy server?" +msgstr "Utiliser un proxy ?" + +#: src/pyams_content/shared/form/interfaces.py:60 +msgid "" +"If a proxy server is required to access recaptcha services, please set them " +"here" +msgstr "" +"Si un serveur proxy est nécessaire pour accéder aux services de vérfication des captchas, " +"veuillez indiquer ses caractéristiques" + +#: src/pyams_content/shared/form/interfaces.py:65 +msgid "Protocol" +msgstr "Protocole" + +#: src/pyams_content/shared/form/interfaces.py:66 +msgid "" +"If your server is behind a proxy, please set it's protocol here; HTTPS " +"support is required for reCaptcha" +msgstr "" +"Protocole d'accès au proxy ; le support du HTTPS est nécessaire pour accéder au service de " +"vérification des captchas" + +#: src/pyams_content/shared/form/interfaces.py:72 +msgid "Host name" +msgstr "Nom d'hôte" + +#: src/pyams_content/shared/form/interfaces.py:73 +msgid "" +"If your server is behind a proxy, please set it's address here; captcha " +"verification requires HTTPS support..." +msgstr "" +"Nom DNS du serveur proxy" + +#: src/pyams_content/shared/form/interfaces.py:78 +msgid "Port number" +msgstr "Numéro de port" + +#: src/pyams_content/shared/form/interfaces.py:79 +msgid "If your server is behind a proxy, plase set it's port number here" +msgstr "" +"Numéro de port utilisé pour l'accès au proxy" + +#: src/pyams_content/shared/form/interfaces.py:84 +msgid "Username" +msgstr "Code utilisateur" + +#: src/pyams_content/shared/form/interfaces.py:85 +msgid "If your proxy server requires authentication, please set username here" +msgstr "Code utilisateur utilisé pour l'accès au proxy, si nécessaire" + +#: src/pyams_content/shared/form/interfaces.py:89 +msgid "Password" +msgstr "Mot de passe" + +#: src/pyams_content/shared/form/interfaces.py:90 +msgid "If your proxy server requires authentication, please set password here" +msgstr "Mot de passe utilisé pour l'accès au proxy, si nécessaire" + +#: src/pyams_content/shared/form/interfaces.py:94 +msgid "Use proxy only from" +msgstr "Seulement pour certains domaines" + +#: src/pyams_content/shared/form/interfaces.py:95 +msgid "" +"If proxy usage is restricted to several domains names, you can set them " +"here, separated by comas" +msgstr "" +"Si l'usage du proxy n'est nécessaire que pour certains noms de domaines, vous pouvez " +"indiquer ces noms ici, séparés par des virgules" + +#: src/pyams_content/shared/form/interfaces.py:112 msgid "Field name" msgstr "Nom du champ" -#: src/pyams_content/shared/form/interfaces.py:51 +#: src/pyams_content/shared/form/interfaces.py:113 msgid "Field internal name; must be unique for a given form" msgstr "" "Nom interne du champ ; ce nom doit être unique pour un formulaire donné" -#: src/pyams_content/shared/form/interfaces.py:54 +#: src/pyams_content/shared/form/interfaces.py:116 #: src/pyams_content/shared/form/zmi/field.py:177 msgid "Field type" msgstr "Type de champ" -#: src/pyams_content/shared/form/interfaces.py:55 +#: src/pyams_content/shared/form/interfaces.py:117 msgid "Selected field type" msgstr "Type de champ proposé à l'internaute" -#: src/pyams_content/shared/form/interfaces.py:60 +#: src/pyams_content/shared/form/interfaces.py:122 msgid "User field label" msgstr "Libellé affiché à l'internaute" -#: src/pyams_content/shared/form/interfaces.py:64 +#: src/pyams_content/shared/form/interfaces.py:126 msgid "Field description can be displayed as hint" msgstr "" "Description du champ, qui pourra être affichée sous la forme d'une info-bulle" -#: src/pyams_content/shared/form/interfaces.py:67 +#: src/pyams_content/shared/form/interfaces.py:129 msgid "Placeholder" msgstr "Espace réservé" -#: src/pyams_content/shared/form/interfaces.py:68 +#: src/pyams_content/shared/form/interfaces.py:130 msgid "Some field types like textline can display a placeholder" msgstr "" "Certains champs tels que les zones de texte peuvent afficher ce texte tant " "qu'aucune valeur n'y a été saisie" -#: src/pyams_content/shared/form/interfaces.py:72 +#: src/pyams_content/shared/form/interfaces.py:134 msgid "Optional values" msgstr "Liste de valeurs" -#: src/pyams_content/shared/form/interfaces.py:73 +#: src/pyams_content/shared/form/interfaces.py:135 msgid "List of available values (for 'choice' and 'list' field types)" msgstr "" "Liste des valeurs disponibles (pour les champs de types 'Sélection simple' " "ou 'Sélection multiple')" -#: src/pyams_content/shared/form/interfaces.py:77 +#: src/pyams_content/shared/form/interfaces.py:139 msgid "Default value" msgstr "Valeur par défaut" -#: src/pyams_content/shared/form/interfaces.py:78 +#: src/pyams_content/shared/form/interfaces.py:140 msgid "Give default value if field type can use it" msgstr "" "Donner la valeur par défaut du champ ; attention, tous les types de champs " "ne peuvent pas utiliser une valeur par défaut !" -#: src/pyams_content/shared/form/interfaces.py:81 +#: src/pyams_content/shared/form/interfaces.py:143 msgid "Required?" msgstr "Obligatoire ?" -#: src/pyams_content/shared/form/interfaces.py:82 +#: src/pyams_content/shared/form/interfaces.py:144 msgid "Select 'yes' to set field as mandatory" msgstr "Sélectionnez 'oui' pour que la saisie de ce champ soit obligatoire" -#: src/pyams_content/shared/form/interfaces.py:87 +#: src/pyams_content/shared/form/interfaces.py:149 msgid "Select 'no' to hide given field..." msgstr "Sélectionnez 'non' pour masquer ce champ" -#: src/pyams_content/shared/form/interfaces.py:117 +#: src/pyams_content/shared/form/interfaces.py:179 msgid "Form fields template" msgstr "Mode de rendu" -#: src/pyams_content/shared/form/interfaces.py:146 +#: src/pyams_content/shared/form/interfaces.py:208 msgid "" "If set, this title will be displayed in front-office instead of original " "title" @@ -4189,105 +4291,83 @@ "S'il est renseigné, ce titre sera affiché en front-office à la place du " "titre original" -#: src/pyams_content/shared/form/interfaces.py:150 +#: src/pyams_content/shared/form/interfaces.py:212 msgid "Form header" msgstr "En-tête du formulaire" -#: src/pyams_content/shared/form/interfaces.py:151 +#: src/pyams_content/shared/form/interfaces.py:213 msgid "This header is displayed just above form fields" msgstr "Cet en-tête sera affiché au-dessus de la liste des champs de saisie" -#: src/pyams_content/shared/form/interfaces.py:154 +#: src/pyams_content/shared/form/interfaces.py:216 msgid "Form title" msgstr "Titre du formulaire" -#: src/pyams_content/shared/form/interfaces.py:155 +#: src/pyams_content/shared/form/interfaces.py:217 msgid "If set, this title will be displayed above input fields" msgstr "" "S'il est renseigné, ce titre sera affiché en front-office au-dessus de la " "liste des champs de saisie" -#: src/pyams_content/shared/form/interfaces.py:159 +#: src/pyams_content/shared/form/interfaces.py:221 msgid "Authenticated only?" msgstr "Authentification requise ?" -#: src/pyams_content/shared/form/interfaces.py:160 +#: src/pyams_content/shared/form/interfaces.py:222 msgid "If 'yes', only authenticated users will be able to see and submit form" msgstr "" "Si 'oui', seuls les utilisateurs authentifiés pourront saisir des données " "dans le formulaire et les soumettre" -#: src/pyams_content/shared/form/interfaces.py:165 +#: src/pyams_content/shared/form/interfaces.py:227 msgid "Submit button" msgstr "Libellé de soumission" -#: src/pyams_content/shared/form/interfaces.py:166 +#: src/pyams_content/shared/form/interfaces.py:228 msgid "Label of form submit button" msgstr "Libellé du bouton de soumission du formulaire" -#: src/pyams_content/shared/form/interfaces.py:169 +#: src/pyams_content/shared/form/interfaces.py:231 msgid "Submit message" msgstr "Message après soumission" -#: src/pyams_content/shared/form/interfaces.py:170 +#: src/pyams_content/shared/form/interfaces.py:232 msgid "This message will be displayed after form submission" msgstr "" "Ce message sera affiché à l'internaute lorsque les données du formulaire " "auront été soumises" -#: src/pyams_content/shared/form/interfaces.py:174 +#: src/pyams_content/shared/form/interfaces.py:236 msgid "Form handler" msgstr "Gestionnaire du formulaire" -#: src/pyams_content/shared/form/interfaces.py:175 +#: src/pyams_content/shared/form/interfaces.py:237 msgid "Select how form data is transmitted" msgstr "" "Le gestionnaire sélectionné détermine la façon dont les données saisies par " "les internautes seront stockées ou envoyées" -#: src/pyams_content/shared/form/interfaces.py:178 -msgid "Use captcha?" -msgstr "Ajouter un captcha ?" - -#: src/pyams_content/shared/form/interfaces.py:179 -msgid "If 'yes', a captcha will be added automatically to the form" -msgstr "Si 'oui', un captcha sera ajouté automatiquement au formulaire" - -#: src/pyams_content/shared/form/interfaces.py:183 +#: src/pyams_content/shared/form/interfaces.py:240 +msgid "Override captcha settings?" +msgstr "Remplacer le paramétrage par défaut des captchas" + +#: src/pyams_content/shared/form/interfaces.py:241 +msgid "If 'yes', you can define custom captcha keys here" +msgstr "Si 'oui', vous pouvez indiquer des paramètres spécifiques ici" + +#: src/pyams_content/shared/form/interfaces.py:245 msgid "Site key" msgstr "Clé du site" -#: src/pyams_content/shared/form/interfaces.py:184 -msgid "This key is included into HTML code and submitted with form data" -msgstr "" -"Cette clé est intégrée dans le code HTML et soumise avec les autres données " -"du formulaire" - -#: src/pyams_content/shared/form/interfaces.py:188 +#: src/pyams_content/shared/form/interfaces.py:250 msgid "Secret key" -msgstr "Clé secrète" - -#: src/pyams_content/shared/form/interfaces.py:189 -msgid "This key is used to communicate with Google's reCaptcha services" -msgstr "Cette clé est utilisée avec le service reCaptcha de Google" - -#: src/pyams_content/shared/form/interfaces.py:193 -msgid "Recaptcha proxy" -msgstr "Proxy HTTPS" - -#: src/pyams_content/shared/form/interfaces.py:194 -msgid "" -"If your server is behind a proxy, please set it's address here; captcha " -"verification requires HTTPS support..." -msgstr "" -"Si le serveur qui reçoit les données du formulaire est situé derrière un " -"proxy, vous devez l'indiquer ici pour permettre la vérification du captcha" - -#: src/pyams_content/shared/form/interfaces.py:199 +msgstr "Clé serveur" + +#: src/pyams_content/shared/form/interfaces.py:258 msgid "Required RGPD consent?" msgstr "Consentement RGPD ?" -#: src/pyams_content/shared/form/interfaces.py:200 +#: src/pyams_content/shared/form/interfaces.py:259 msgid "" "If 'yes', an RGPD compliance warning will be displayed above form's submit " "button; form can't be submitted as long as the associated checkbox will not " @@ -4297,23 +4377,23 @@ "du bouton de soumission du formulaire ; le formulaire ne peut pas être " "transmis tant que l'utilisateur ne donne pas explicitement son consentement" -#: src/pyams_content/shared/form/interfaces.py:207 +#: src/pyams_content/shared/form/interfaces.py:266 msgid "RGPD consent text" msgstr "Texte de consentement" -#: src/pyams_content/shared/form/interfaces.py:208 +#: src/pyams_content/shared/form/interfaces.py:267 msgid "" "User consent must be explicit, and user must be warned about usage which " "will be made of submitted data; text samples are given below" msgstr "" -"Le consentement de l'utilisateur doit être explicité de façon claire " -"et explicite..." - -#: src/pyams_content/shared/form/interfaces.py:213 +"Le consentement de l'utilisateur doit être explicité de façon claire et " +"explicite..." + +#: src/pyams_content/shared/form/interfaces.py:272 msgid "RGPD user rights" msgstr "Droits de la personne" -#: src/pyams_content/shared/form/interfaces.py:214 +#: src/pyams_content/shared/form/interfaces.py:273 msgid "" "The internet user must be able to easily revoke his consent later on, so it " "is important to inform him how to proceed; below are examples of possible " @@ -4322,37 +4402,37 @@ "L'internaute doit facilement pouvoir retirer son consentement par la suite ; " "il convient donc de lui indiquer la façon de procéder." -#: src/pyams_content/shared/form/interfaces.py:259 +#: src/pyams_content/shared/form/interfaces.py:318 msgid "Source address" msgstr "Adresse source" -#: src/pyams_content/shared/form/interfaces.py:260 +#: src/pyams_content/shared/form/interfaces.py:319 msgid "Mail address from which form data is sent" msgstr "Adresse de messagerie émettrice des messages envoyés" -#: src/pyams_content/shared/form/interfaces.py:263 +#: src/pyams_content/shared/form/interfaces.py:322 msgid "Source name" msgstr "Nom de la source" -#: src/pyams_content/shared/form/interfaces.py:264 +#: src/pyams_content/shared/form/interfaces.py:323 msgid "Name of mail data sender" msgstr "Nom de l'émetteur des messages envoyés" -#: src/pyams_content/shared/form/interfaces.py:267 +#: src/pyams_content/shared/form/interfaces.py:326 msgid "Recipient address" msgstr "Adresse de destination" -#: src/pyams_content/shared/form/interfaces.py:268 +#: src/pyams_content/shared/form/interfaces.py:327 msgid "Mail address to which form data is sent" msgstr "" "Adresse d'envoi des données; vous pouvez indiquer plusieurs adresses en les " "séparant par des point-virgules" -#: src/pyams_content/shared/form/interfaces.py:271 +#: src/pyams_content/shared/form/interfaces.py:330 msgid "Recipient name" msgstr "Nom du destinataire" -#: src/pyams_content/shared/form/interfaces.py:272 +#: src/pyams_content/shared/form/interfaces.py:331 msgid "Name of data recipient" msgstr "Nom du destinataire des messages" @@ -4365,8 +4445,8 @@ msgstr "Paramètres du gestionnaire" #: src/pyams_content/shared/form/zmi/properties.py:102 -msgid "Add captcha" -msgstr "Intégrer un captcha" +msgid "Override default captcha settings" +msgstr "Remplacer le paramétrage par défaut du captcha" #: src/pyams_content/shared/form/zmi/properties.py:110 msgid "Add RGPD warning" @@ -4446,6 +4526,28 @@ msgid "Specified name is already used!" msgstr "Le nom indiqué pour ce champ est déjà utilisé !" +#: src/pyams_content/shared/form/zmi/manager.py:41 +msgid "Captcha settings" +msgstr "Paramétrage par défaut des captchas" + +#: src/pyams_content/shared/form/zmi/manager.py:88 +msgid "You must define client and server key to activate a captcha" +msgstr "" +"Vous devez indiquer la clé du site et la clé secrète du serveur pour pouvoir " +"activer un captcha" + +#: src/pyams_content/shared/form/zmi/manager.py:91 +msgid "You must define hostname to use a proxy" +msgstr "Vous devez au moins définir le nom du serveur pour pouvoir utiliser un proxy" + +#: src/pyams_content/shared/form/zmi/manager.py:64 +msgid "Use captcha" +msgstr "Intégrer un captcha" + +#: src/pyams_content/shared/form/zmi/manager.py:74 +msgid "Use proxy server" +msgstr "Utiliser un serveur proxy" + #: src/pyams_content/shared/form/zmi/__init__.py:44 msgid "This form" msgstr "Ce formulaire" @@ -5249,7 +5351,7 @@ msgstr "ID utilisateur" #: src/pyams_content/shared/common/interfaces/__init__.py:301 -#: src/pyams_content/shared/common/interfaces/__init__.py:334 +#: src/pyams_content/shared/common/interfaces/__init__.py:335 msgid "Publication checks" msgstr "Activer le tunnel de publication" @@ -5271,7 +5373,7 @@ "Le contributeur aura accès, en plus de ses propres contenus, aux contenus " "dont ces utilisateurs sont propriétaires" -#: src/pyams_content/shared/common/interfaces/__init__.py:335 +#: src/pyams_content/shared/common/interfaces/__init__.py:336 msgid "" "If 'yes', this manager will have to confirm that contents have been " "previewed and checked before publishing a content" @@ -5279,11 +5381,11 @@ "Si 'oui', ce responsable devra confirmer qu'il a bien prévisualisé et audité " "chaque contenu avant de pouvoir effectuer une publication" -#: src/pyams_content/shared/common/interfaces/__init__.py:341 +#: src/pyams_content/shared/common/interfaces/__init__.py:342 msgid "Restricted contents" msgstr "Accès restreints" -#: src/pyams_content/shared/common/interfaces/__init__.py:342 +#: src/pyams_content/shared/common/interfaces/__init__.py:343 msgid "" "If 'yes', this manager will get restricted access to manage contents based " "on selected settings" @@ -5291,11 +5393,11 @@ "Si 'oui', ce responsable n'aura qu'un accès restreint à certains contenus en " "fonction de paramètres spécifiques" -#: src/pyams_content/shared/common/interfaces/__init__.py:347 +#: src/pyams_content/shared/common/interfaces/__init__.py:348 msgid "Selected owners" msgstr "Propriétaires" -#: src/pyams_content/shared/common/interfaces/__init__.py:348 +#: src/pyams_content/shared/common/interfaces/__init__.py:349 msgid "Manager will have access to contents owned by these principals" msgstr "" "Le responsable n'aura accès qu'aux contenus dont ces utilisateurs sont " @@ -7163,6 +7265,15 @@ msgid "Published version {0}" msgstr "Version {0} publiée" +#~ msgid "If 'yes', a captcha will be added automatically to the form" +#~ msgstr "Si 'oui', un captcha sera ajouté automatiquement au formulaire" + +#~ msgid "Recaptcha proxy" +#~ msgstr "Proxy HTTPS" + +#~ msgid "Add captcha" +#~ msgstr "Intégrer un captcha" + #~ msgid "Relevance (on user search)" #~ msgstr "Pertinence (si recherche lancée par l'utilisateur)" diff -r 87bcbf37ad6d -r 865291f1616d src/pyams_content/locales/pyams_content.pot --- a/src/pyams_content/locales/pyams_content.pot Wed Oct 16 18:41:45 2019 +0200 +++ b/src/pyams_content/locales/pyams_content.pot Wed Oct 16 18:52:12 2019 +0200 @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE 1.0\n" -"POT-Creation-Date: 2019-10-03 12:42+0200\n" +"POT-Creation-Date: 2019-10-16 18:21+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" @@ -234,7 +234,7 @@ #: ./src/pyams_content/component/association/interfaces.py:37 #: ./src/pyams_content/features/alert/interfaces.py:54 #: ./src/pyams_content/features/menu/interfaces.py:62 -#: ./src/pyams_content/shared/form/interfaces.py:86 +#: ./src/pyams_content/shared/form/interfaces.py:148 #: ./src/pyams_content/shared/site/interfaces.py:179 msgid "Visible?" msgstr "" @@ -460,7 +460,7 @@ #: ./src/pyams_content/component/paragraph/interfaces/audio.py:50 #: ./src/pyams_content/component/extfile/interfaces.py:36 #: ./src/pyams_content/features/search/interfaces.py:45 -#: ./src/pyams_content/shared/form/interfaces.py:63 +#: ./src/pyams_content/shared/form/interfaces.py:125 msgid "Description" msgstr "" @@ -850,7 +850,7 @@ msgstr "" #: ./src/pyams_content/component/links/interfaces.py:32 -#: ./src/pyams_content/shared/form/interfaces.py:145 +#: ./src/pyams_content/shared/form/interfaces.py:207 #: ./src/pyams_content/shared/imagemap/interfaces.py:55 msgid "Alternate title" msgstr "" @@ -1242,7 +1242,7 @@ #: ./src/pyams_content/component/paragraph/interfaces/verbatim.py:53 #: ./src/pyams_content/component/paragraph/interfaces/keypoint.py:45 #: ./src/pyams_content/component/paragraph/interfaces/frame.py:44 -#: ./src/pyams_content/shared/form/interfaces.py:118 +#: ./src/pyams_content/shared/form/interfaces.py:180 #: ./src/pyams_content/shared/imagemap/interfaces.py:101 #: ./src/pyams_content/shared/logo/interfaces.py:94 msgid "Presentation template used for this paragraph" @@ -2207,7 +2207,7 @@ #: ./src/pyams_content/features/share/interfaces.py:62 #: ./src/pyams_content/features/share/zmi/container.py:155 #: ./src/pyams_content/features/menu/zmi/__init__.py:217 -#: ./src/pyams_content/shared/form/interfaces.py:59 +#: ./src/pyams_content/shared/form/interfaces.py:121 #: ./src/pyams_content/shared/form/zmi/field.py:166 #: ./src/pyams_content/shared/common/interfaces/types.py:45 msgid "Label" @@ -3810,241 +3810,313 @@ msgid "List" msgstr "" -#: ./src/pyams_content/shared/form/handler.py:75 +#: ./src/pyams_content/shared/form/handler.py:79 msgid "Direct mailto form handler" msgstr "" -#: ./src/pyams_content/shared/form/handler.py:39 +#: ./src/pyams_content/shared/form/handler.py:42 msgid "No selected handler..." msgstr "" -#: ./src/pyams_content/shared/form/__init__.py:105 -#: ./src/pyams_content/shared/form/interfaces.py:110 +#: ./src/pyams_content/shared/form/__init__.py:124 +#: ./src/pyams_content/shared/form/interfaces.py:172 msgid "Form fields" msgstr "" -#: ./src/pyams_content/shared/form/__init__.py:106 +#: ./src/pyams_content/shared/form/__init__.py:125 msgid "no field defined" msgstr "" -#: ./src/pyams_content/shared/form/interfaces.py:32 +#: ./src/pyams_content/shared/form/interfaces.py:33 msgid "Form" msgstr "" -#: ./src/pyams_content/shared/form/interfaces.py:50 -msgid "Field name" +#: ./src/pyams_content/shared/form/interfaces.py:41 +msgid "Use captcha?" +msgstr "" + +#: ./src/pyams_content/shared/form/interfaces.py:42 +msgid "Set default captcha settings" +msgstr "" + +#: ./src/pyams_content/shared/form/interfaces.py:46 +msgid "Default captcha site key" +msgstr "" + +#: ./src/pyams_content/shared/form/interfaces.py:47 +#: ./src/pyams_content/shared/form/interfaces.py:246 +msgid "This key is included into HTML code and submitted with form data" msgstr "" #: ./src/pyams_content/shared/form/interfaces.py:51 -msgid "Field internal name; must be unique for a given form" -msgstr "" - -#: ./src/pyams_content/shared/form/interfaces.py:54 -#: ./src/pyams_content/shared/form/zmi/field.py:177 -msgid "Field type" -msgstr "" - -#: ./src/pyams_content/shared/form/interfaces.py:55 -msgid "Selected field type" +msgid "Default captcha secret key" +msgstr "" + +#: ./src/pyams_content/shared/form/interfaces.py:52 +#: ./src/pyams_content/shared/form/interfaces.py:251 +msgid "This key is used to communicate with Google's reCaptcha services" +msgstr "" + +#: ./src/pyams_content/shared/form/interfaces.py:59 +msgid "Use proxy server?" msgstr "" #: ./src/pyams_content/shared/form/interfaces.py:60 -msgid "User field label" -msgstr "" - -#: ./src/pyams_content/shared/form/interfaces.py:64 -msgid "Field description can be displayed as hint" -msgstr "" - -#: ./src/pyams_content/shared/form/interfaces.py:67 -msgid "Placeholder" -msgstr "" - -#: ./src/pyams_content/shared/form/interfaces.py:68 -msgid "Some field types like textline can display a placeholder" +msgid "" +"If a proxy server is required to access recaptcha services, please set them " +"here" +msgstr "" + +#: ./src/pyams_content/shared/form/interfaces.py:65 +msgid "Protocol" +msgstr "" + +#: ./src/pyams_content/shared/form/interfaces.py:66 +msgid "" +"If your server is behind a proxy, please set it's protocol here; HTTPS " +"support is required for reCaptcha" msgstr "" #: ./src/pyams_content/shared/form/interfaces.py:72 -msgid "Optional values" +msgid "Host name" msgstr "" #: ./src/pyams_content/shared/form/interfaces.py:73 -msgid "List of available values (for 'choice' and 'list' field types)" -msgstr "" - -#: ./src/pyams_content/shared/form/interfaces.py:77 -msgid "Default value" +msgid "" +"If your server is behind a proxy, please set it's address here; captcha " +"verification requires HTTPS support..." msgstr "" #: ./src/pyams_content/shared/form/interfaces.py:78 -msgid "Give default value if field type can use it" -msgstr "" - -#: ./src/pyams_content/shared/form/interfaces.py:81 -msgid "Required?" -msgstr "" - -#: ./src/pyams_content/shared/form/interfaces.py:82 -msgid "Select 'yes' to set field as mandatory" -msgstr "" - -#: ./src/pyams_content/shared/form/interfaces.py:87 -msgid "Select 'no' to hide given field..." +msgid "Port number" +msgstr "" + +#: ./src/pyams_content/shared/form/interfaces.py:79 +msgid "If your server is behind a proxy, plase set it's port number here" +msgstr "" + +#: ./src/pyams_content/shared/form/interfaces.py:84 +msgid "Username" +msgstr "" + +#: ./src/pyams_content/shared/form/interfaces.py:85 +msgid "If your proxy server requires authentication, please set username here" +msgstr "" + +#: ./src/pyams_content/shared/form/interfaces.py:89 +msgid "Password" +msgstr "" + +#: ./src/pyams_content/shared/form/interfaces.py:90 +msgid "If your proxy server requires authentication, please set password here" +msgstr "" + +#: ./src/pyams_content/shared/form/interfaces.py:94 +msgid "Use proxy only from" +msgstr "" + +#: ./src/pyams_content/shared/form/interfaces.py:95 +msgid "" +"If proxy usage is restricted to several domains names, you can set them here," +" separated by comas" +msgstr "" + +#: ./src/pyams_content/shared/form/interfaces.py:112 +msgid "Field name" +msgstr "" + +#: ./src/pyams_content/shared/form/interfaces.py:113 +msgid "Field internal name; must be unique for a given form" +msgstr "" + +#: ./src/pyams_content/shared/form/interfaces.py:116 +#: ./src/pyams_content/shared/form/zmi/field.py:177 +msgid "Field type" msgstr "" #: ./src/pyams_content/shared/form/interfaces.py:117 +msgid "Selected field type" +msgstr "" + +#: ./src/pyams_content/shared/form/interfaces.py:122 +msgid "User field label" +msgstr "" + +#: ./src/pyams_content/shared/form/interfaces.py:126 +msgid "Field description can be displayed as hint" +msgstr "" + +#: ./src/pyams_content/shared/form/interfaces.py:129 +msgid "Placeholder" +msgstr "" + +#: ./src/pyams_content/shared/form/interfaces.py:130 +msgid "Some field types like textline can display a placeholder" +msgstr "" + +#: ./src/pyams_content/shared/form/interfaces.py:134 +msgid "Optional values" +msgstr "" + +#: ./src/pyams_content/shared/form/interfaces.py:135 +msgid "List of available values (for 'choice' and 'list' field types)" +msgstr "" + +#: ./src/pyams_content/shared/form/interfaces.py:139 +msgid "Default value" +msgstr "" + +#: ./src/pyams_content/shared/form/interfaces.py:140 +msgid "Give default value if field type can use it" +msgstr "" + +#: ./src/pyams_content/shared/form/interfaces.py:143 +msgid "Required?" +msgstr "" + +#: ./src/pyams_content/shared/form/interfaces.py:144 +msgid "Select 'yes' to set field as mandatory" +msgstr "" + +#: ./src/pyams_content/shared/form/interfaces.py:149 +msgid "Select 'no' to hide given field..." +msgstr "" + +#: ./src/pyams_content/shared/form/interfaces.py:179 msgid "Form fields template" msgstr "" -#: ./src/pyams_content/shared/form/interfaces.py:146 +#: ./src/pyams_content/shared/form/interfaces.py:208 msgid "" "If set, this title will be displayed in front-office instead of original " "title" msgstr "" -#: ./src/pyams_content/shared/form/interfaces.py:150 +#: ./src/pyams_content/shared/form/interfaces.py:212 msgid "Form header" msgstr "" -#: ./src/pyams_content/shared/form/interfaces.py:151 +#: ./src/pyams_content/shared/form/interfaces.py:213 msgid "This header is displayed just above form fields" msgstr "" -#: ./src/pyams_content/shared/form/interfaces.py:154 +#: ./src/pyams_content/shared/form/interfaces.py:216 msgid "Form title" msgstr "" -#: ./src/pyams_content/shared/form/interfaces.py:155 +#: ./src/pyams_content/shared/form/interfaces.py:217 msgid "If set, this title will be displayed above input fields" msgstr "" -#: ./src/pyams_content/shared/form/interfaces.py:159 +#: ./src/pyams_content/shared/form/interfaces.py:221 msgid "Authenticated only?" msgstr "" -#: ./src/pyams_content/shared/form/interfaces.py:160 +#: ./src/pyams_content/shared/form/interfaces.py:222 msgid "If 'yes', only authenticated users will be able to see and submit form" msgstr "" -#: ./src/pyams_content/shared/form/interfaces.py:165 +#: ./src/pyams_content/shared/form/interfaces.py:227 msgid "Submit button" msgstr "" -#: ./src/pyams_content/shared/form/interfaces.py:166 +#: ./src/pyams_content/shared/form/interfaces.py:228 msgid "Label of form submit button" msgstr "" -#: ./src/pyams_content/shared/form/interfaces.py:169 +#: ./src/pyams_content/shared/form/interfaces.py:231 msgid "Submit message" msgstr "" -#: ./src/pyams_content/shared/form/interfaces.py:170 +#: ./src/pyams_content/shared/form/interfaces.py:232 msgid "This message will be displayed after form submission" msgstr "" -#: ./src/pyams_content/shared/form/interfaces.py:174 +#: ./src/pyams_content/shared/form/interfaces.py:236 msgid "Form handler" msgstr "" -#: ./src/pyams_content/shared/form/interfaces.py:175 +#: ./src/pyams_content/shared/form/interfaces.py:237 msgid "Select how form data is transmitted" msgstr "" -#: ./src/pyams_content/shared/form/interfaces.py:178 -msgid "Use captcha?" -msgstr "" - -#: ./src/pyams_content/shared/form/interfaces.py:179 -msgid "If 'yes', a captcha will be added automatically to the form" -msgstr "" - -#: ./src/pyams_content/shared/form/interfaces.py:183 +#: ./src/pyams_content/shared/form/interfaces.py:240 +msgid "Override captcha settings?" +msgstr "" + +#: ./src/pyams_content/shared/form/interfaces.py:241 +msgid "If 'yes', you can define custom captcha keys here" +msgstr "" + +#: ./src/pyams_content/shared/form/interfaces.py:245 msgid "Site key" msgstr "" -#: ./src/pyams_content/shared/form/interfaces.py:184 -msgid "This key is included into HTML code and submitted with form data" -msgstr "" - -#: ./src/pyams_content/shared/form/interfaces.py:188 +#: ./src/pyams_content/shared/form/interfaces.py:250 msgid "Secret key" msgstr "" -#: ./src/pyams_content/shared/form/interfaces.py:189 -msgid "This key is used to communicate with Google's reCaptcha services" -msgstr "" - -#: ./src/pyams_content/shared/form/interfaces.py:193 -msgid "Recaptcha proxy" -msgstr "" - -#: ./src/pyams_content/shared/form/interfaces.py:194 -msgid "" -"If your server is behind a proxy, please set it's address here; captcha " -"verification requires HTTPS support..." -msgstr "" - -#: ./src/pyams_content/shared/form/interfaces.py:199 +#: ./src/pyams_content/shared/form/interfaces.py:258 msgid "Required RGPD consent?" msgstr "" -#: ./src/pyams_content/shared/form/interfaces.py:200 +#: ./src/pyams_content/shared/form/interfaces.py:259 msgid "" "If 'yes', an RGPD compliance warning will be displayed above form's submit " "button; form can't be submitted as long as the associated checkbox will not " "be checked explicitly by the user" msgstr "" -#: ./src/pyams_content/shared/form/interfaces.py:207 +#: ./src/pyams_content/shared/form/interfaces.py:266 msgid "RGPD consent text" msgstr "" -#: ./src/pyams_content/shared/form/interfaces.py:208 +#: ./src/pyams_content/shared/form/interfaces.py:267 msgid "" "User consent must be explicit, and user must be warned about usage which will" " be made of submitted data; text samples are given below" msgstr "" -#: ./src/pyams_content/shared/form/interfaces.py:213 +#: ./src/pyams_content/shared/form/interfaces.py:272 msgid "RGPD user rights" msgstr "" -#: ./src/pyams_content/shared/form/interfaces.py:214 +#: ./src/pyams_content/shared/form/interfaces.py:273 msgid "" "The internet user must be able to easily revoke his consent later on, so it " "is important to inform him how to proceed; below are examples of possible " "formulations" msgstr "" -#: ./src/pyams_content/shared/form/interfaces.py:259 +#: ./src/pyams_content/shared/form/interfaces.py:318 msgid "Source address" msgstr "" -#: ./src/pyams_content/shared/form/interfaces.py:260 +#: ./src/pyams_content/shared/form/interfaces.py:319 msgid "Mail address from which form data is sent" msgstr "" -#: ./src/pyams_content/shared/form/interfaces.py:263 +#: ./src/pyams_content/shared/form/interfaces.py:322 msgid "Source name" msgstr "" -#: ./src/pyams_content/shared/form/interfaces.py:264 +#: ./src/pyams_content/shared/form/interfaces.py:323 msgid "Name of mail data sender" msgstr "" -#: ./src/pyams_content/shared/form/interfaces.py:267 +#: ./src/pyams_content/shared/form/interfaces.py:326 msgid "Recipient address" msgstr "" -#: ./src/pyams_content/shared/form/interfaces.py:268 +#: ./src/pyams_content/shared/form/interfaces.py:327 msgid "Mail address to which form data is sent" msgstr "" -#: ./src/pyams_content/shared/form/interfaces.py:271 +#: ./src/pyams_content/shared/form/interfaces.py:330 msgid "Recipient name" msgstr "" -#: ./src/pyams_content/shared/form/interfaces.py:272 +#: ./src/pyams_content/shared/form/interfaces.py:331 msgid "Name of data recipient" msgstr "" @@ -4057,7 +4129,7 @@ msgstr "" #: ./src/pyams_content/shared/form/zmi/properties.py:102 -msgid "Add captcha" +msgid "Override default captcha settings" msgstr "" #: ./src/pyams_content/shared/form/zmi/properties.py:110 @@ -4127,6 +4199,26 @@ msgid "Specified name is already used!" msgstr "" +#: ./src/pyams_content/shared/form/zmi/manager.py:41 +msgid "Captcha settings" +msgstr "" + +#: ./src/pyams_content/shared/form/zmi/manager.py:88 +msgid "You must define client and server key to activate a captcha" +msgstr "" + +#: ./src/pyams_content/shared/form/zmi/manager.py:91 +msgid "You must define hostname to use a proxy" +msgstr "" + +#: ./src/pyams_content/shared/form/zmi/manager.py:64 +msgid "Use captcha" +msgstr "" + +#: ./src/pyams_content/shared/form/zmi/manager.py:74 +msgid "Use proxy server" +msgstr "" + #: ./src/pyams_content/shared/form/zmi/__init__.py:44 msgid "This form" msgstr "" @@ -4813,7 +4905,7 @@ msgstr "" #: ./src/pyams_content/shared/common/interfaces/__init__.py:301 -#: ./src/pyams_content/shared/common/interfaces/__init__.py:334 +#: ./src/pyams_content/shared/common/interfaces/__init__.py:335 msgid "Publication checks" msgstr "" @@ -4831,27 +4923,27 @@ msgid "Contributor will have access to contents owned by these principals" msgstr "" -#: ./src/pyams_content/shared/common/interfaces/__init__.py:335 +#: ./src/pyams_content/shared/common/interfaces/__init__.py:336 msgid "" "If 'yes', this manager will have to confirm that contents have been previewed" " and checked before publishing a content" msgstr "" -#: ./src/pyams_content/shared/common/interfaces/__init__.py:341 -msgid "Restricted contents" -msgstr "" - #: ./src/pyams_content/shared/common/interfaces/__init__.py:342 +msgid "Restricted contents" +msgstr "" + +#: ./src/pyams_content/shared/common/interfaces/__init__.py:343 msgid "" "If 'yes', this manager will get restricted access to manage contents based on" " selected settings" msgstr "" -#: ./src/pyams_content/shared/common/interfaces/__init__.py:347 +#: ./src/pyams_content/shared/common/interfaces/__init__.py:348 msgid "Selected owners" msgstr "" -#: ./src/pyams_content/shared/common/interfaces/__init__.py:348 +#: ./src/pyams_content/shared/common/interfaces/__init__.py:349 msgid "Manager will have access to contents owned by these principals" msgstr ""