--- 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
--- 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
--- 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 = []
--- 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
--- 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
Binary file src/pyams_content/locales/fr/LC_MESSAGES/pyams_content.mo has changed
--- 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 <tflorac@ulthar.net>\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)"
--- 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 <EMAIL@ADDRESS\n"
"Language-Team: LANGUAGE <LL@li.org>\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 ""