diff --git a/wcs/locale/fr/LC_MESSAGES/django.po b/wcs/locale/fr/LC_MESSAGES/django.po
index 74e8c8dd5..db7af5b6d 100644
--- a/wcs/locale/fr/LC_MESSAGES/django.po
+++ b/wcs/locale/fr/LC_MESSAGES/django.po
@@ -4,7 +4,7 @@ msgid ""
msgstr ""
"Project-Id-Version: wcs 0\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-10-12 14:15+0200\n"
+"POT-Creation-Date: 2020-10-28 10:02+0100\n"
"PO-Revision-Date: 2020-10-16 15:09+0200\n"
"Last-Translator: Thomas Noël \n"
"Language-Team: french\n"
@@ -27,9 +27,9 @@ msgid "Usage"
msgstr "Utilisation"
#: admin/blocks.py:90 admin/blocks.py:115 admin/categories.py:79
-#: admin/categories.py:128 admin/categories.py:133 admin/data_sources.py:178
-#: admin/data_sources.py:266 admin/fields.py:148 admin/forms.py:623
-#: admin/forms.py:968 admin/forms.py:973 admin/logged_errors.py:143
+#: admin/categories.py:128 admin/categories.py:133 admin/data_sources.py:211
+#: admin/data_sources.py:299 admin/fields.py:148 admin/forms.py:648
+#: admin/forms.py:993 admin/forms.py:998 admin/logged_errors.py:100
#: admin/mail_templates.py:174 admin/roles.py:93 admin/roles.py:182
#: admin/roles.py:187 admin/settings.py:360 admin/users.py:237
#: admin/users.py:282 admin/users.py:287 admin/workflows.py:304
@@ -38,28 +38,28 @@ msgstr "Utilisation"
#: admin/workflows.py:1017 admin/workflows.py:1106 admin/workflows.py:1221
#: admin/workflows.py:1226 admin/workflows.py:1276 admin/workflows.py:1580
#: admin/workflows.py:1782 admin/workflows.py:1787 admin/wscalls.py:118
-#: admin/wscalls.py:156 admin/wscalls.py:161 backoffice/cards.py:213
-#: backoffice/management.py:1463 backoffice/management.py:1532
+#: admin/wscalls.py:156 admin/wscalls.py:161 backoffice/cards.py:192
+#: backoffice/management.py:1498 backoffice/management.py:1600
#: backoffice/submission.py:62 templates/wcs/backoffice/mail-template.html:7
msgid "Delete"
msgstr "Supprimer"
-#: admin/blocks.py:91 admin/data_sources.py:179 admin/forms.py:627
+#: admin/blocks.py:91 admin/data_sources.py:212 admin/forms.py:652
#: admin/settings.py:504 admin/settings.py:880 admin/settings.py:881
#: admin/settings.py:883 admin/settings.py:976 admin/workflows.py:1582
-#: admin/wscalls.py:117 backoffice/cards.py:217 qommon/admin/menu.py:110
+#: admin/wscalls.py:117 backoffice/cards.py:196 qommon/admin/menu.py:110
#: templates/wcs/backoffice/snapshots.html:28
msgid "Export"
msgstr "Export"
-#: admin/blocks.py:93 admin/data_sources.py:181 admin/forms.py:629
-#: admin/workflows.py:1584 admin/wscalls.py:120 backoffice/cards.py:219
+#: admin/blocks.py:93 admin/data_sources.py:214 admin/forms.py:654
+#: admin/workflows.py:1584 admin/wscalls.py:120 backoffice/cards.py:198
#: backoffice/snapshots.py:61
msgid "Save snapshot"
msgstr "Enregistrer une sauvegarde"
-#: admin/blocks.py:94 admin/data_sources.py:182 admin/forms.py:630
-#: admin/workflows.py:1585 admin/wscalls.py:121 backoffice/cards.py:220
+#: admin/blocks.py:94 admin/data_sources.py:215 admin/forms.py:655
+#: admin/workflows.py:1585 admin/wscalls.py:121 backoffice/cards.py:199
#: backoffice/snapshots.py:37 backoffice/snapshots.py:41
#: backoffice/snapshots.py:59 templates/wcs/backoffice/snapshots.html:5
msgid "History"
@@ -77,12 +77,12 @@ msgid "You are about to irrevocably delete this block."
msgstr "Vous allez définitivement supprimer ce bloc."
#: admin/blocks.py:106 admin/blocks.py:153 admin/categories.py:46
-#: admin/categories.py:149 admin/data_sources.py:125 admin/data_sources.py:258
-#: admin/fields.py:60 admin/fields.py:143 admin/fields.py:353 admin/forms.py:97
-#: admin/forms.py:288 admin/forms.py:342 admin/forms.py:680 admin/forms.py:720
-#: admin/forms.py:774 admin/forms.py:814 admin/forms.py:852 admin/forms.py:989
-#: admin/forms.py:1199 admin/forms.py:1232 admin/forms.py:1356
-#: admin/forms.py:1446 admin/forms.py:1487 admin/mail_templates.py:112
+#: admin/categories.py:149 admin/data_sources.py:155 admin/data_sources.py:291
+#: admin/fields.py:60 admin/fields.py:143 admin/fields.py:353 admin/forms.py:98
+#: admin/forms.py:293 admin/forms.py:367 admin/forms.py:705 admin/forms.py:745
+#: admin/forms.py:799 admin/forms.py:839 admin/forms.py:877 admin/forms.py:1014
+#: admin/forms.py:1224 admin/forms.py:1257 admin/forms.py:1381
+#: admin/forms.py:1471 admin/forms.py:1512 admin/mail_templates.py:112
#: admin/mail_templates.py:166 admin/roles.py:53 admin/settings.py:89
#: admin/settings.py:161 admin/settings.py:178 admin/settings.py:610
#: admin/settings.py:693 admin/settings.py:814 admin/settings.py:874
@@ -92,10 +92,10 @@ msgstr "Vous allez définitivement supprimer ce bloc."
#: admin/workflows.py:282 admin/workflows.py:612 admin/workflows.py:646
#: admin/workflows.py:732 admin/workflows.py:760 admin/workflows.py:779
#: admin/workflows.py:1010 admin/workflows.py:1104 admin/workflows.py:1241
-#: admin/wscalls.py:67 backoffice/data_management.py:177
+#: admin/wscalls.py:67 backoffice/data_management.py:178
#: backoffice/management.py:643 backoffice/management.py:660
-#: backoffice/snapshots.py:49 backoffice/snapshots.py:121 forms/root.py:349
-#: forms/root.py:1323 qommon/admin/emails.py:130 qommon/admin/emails.py:215
+#: backoffice/snapshots.py:49 backoffice/snapshots.py:121 forms/root.py:447
+#: forms/root.py:1389 qommon/admin/emails.py:130 qommon/admin/emails.py:215
#: qommon/admin/logger.py:154 qommon/admin/settings.py:39
#: qommon/admin/settings.py:86 qommon/admin/settings.py:120
#: qommon/admin/texts.py:127 qommon/ident/franceconnect.py:199
@@ -104,7 +104,7 @@ msgstr "Vous allez définitivement supprimer ce bloc."
#: qommon/ident/password.py:422 qommon/ident/password.py:740
#: qommon/ident/password.py:789 qommon/ident/password.py:835
#: qommon/ident/password.py:1095 qommon/ident/password.py:1296
-#: qommon/ident/password.py:1323 root.py:106 root.py:169 wf/form.py:172
+#: qommon/ident/password.py:1323 root.py:106 root.py:169 wf/form.py:173
msgid "Submit"
msgstr "Valider"
@@ -114,13 +114,13 @@ msgstr "Ce bloc est encore utilisé; il ne peut pas être supprimé."
#: admin/blocks.py:111 admin/blocks.py:154 admin/blocks.py:200
#: admin/blocks.py:221 admin/categories.py:47 admin/categories.py:129
-#: admin/categories.py:150 admin/data_sources.py:126 admin/data_sources.py:262
-#: admin/data_sources.py:330 admin/fields.py:61 admin/fields.py:144
-#: admin/forms.py:98 admin/forms.py:289 admin/forms.py:343 admin/forms.py:681
-#: admin/forms.py:721 admin/forms.py:775 admin/forms.py:815 admin/forms.py:853
-#: admin/forms.py:969 admin/forms.py:990 admin/forms.py:1200
-#: admin/forms.py:1233 admin/forms.py:1357 admin/forms.py:1447
-#: admin/forms.py:1488 admin/forms.py:1650 admin/mail_templates.py:49
+#: admin/categories.py:150 admin/data_sources.py:156 admin/data_sources.py:295
+#: admin/data_sources.py:363 admin/fields.py:61 admin/fields.py:144
+#: admin/forms.py:99 admin/forms.py:294 admin/forms.py:368 admin/forms.py:706
+#: admin/forms.py:746 admin/forms.py:800 admin/forms.py:840 admin/forms.py:878
+#: admin/forms.py:994 admin/forms.py:1015 admin/forms.py:1225
+#: admin/forms.py:1258 admin/forms.py:1382 admin/forms.py:1472
+#: admin/forms.py:1513 admin/forms.py:1675 admin/mail_templates.py:49
#: admin/mail_templates.py:113 admin/mail_templates.py:170 admin/roles.py:54
#: admin/roles.py:183 admin/settings.py:90 admin/settings.py:359
#: admin/settings.py:611 admin/settings.py:735 admin/settings.py:816
@@ -135,11 +135,11 @@ msgstr "Ce bloc est encore utilisé; il ne peut pas être supprimé."
#: admin/workflows.py:1071 admin/workflows.py:1105 admin/workflows.py:1222
#: admin/workflows.py:1242 admin/workflows.py:1341 admin/workflows.py:1777
#: admin/workflows.py:1783 admin/workflows.py:1936 admin/wscalls.py:68
-#: admin/wscalls.py:157 admin/wscalls.py:225 backoffice/data_management.py:178
-#: backoffice/management.py:164 backoffice/management.py:1489
-#: backoffice/management.py:1533 backoffice/snapshots.py:50
+#: admin/wscalls.py:157 admin/wscalls.py:225 backoffice/data_management.py:179
+#: backoffice/management.py:164 backoffice/management.py:1543
+#: backoffice/management.py:1601 backoffice/snapshots.py:50
#: backoffice/snapshots.py:122 backoffice/submission.py:63 forms/root.py:129
-#: forms/root.py:458 forms/root.py:1325 qommon/admin/emails.py:131
+#: forms/root.py:513 forms/root.py:1391 qommon/admin/emails.py:131
#: qommon/admin/emails.py:218 qommon/admin/settings.py:40
#: qommon/admin/settings.py:87 qommon/admin/settings.py:121
#: qommon/admin/texts.py:130 qommon/ident/franceconnect.py:200
@@ -148,8 +148,8 @@ msgstr "Ce bloc est encore utilisé; il ne peut pas être supprimé."
#: qommon/ident/password.py:423 qommon/ident/password.py:741
#: qommon/ident/password.py:790 qommon/ident/password.py:836
#: qommon/ident/password.py:1096 qommon/ident/password.py:1298
-#: qommon/ident/password.py:1324 qommon/myspace.py:111 qommon/myspace.py:148
-#: qommon/myspace.py:181
+#: qommon/ident/password.py:1324 qommon/myspace.py:110 qommon/myspace.py:147
+#: qommon/myspace.py:180
msgid "Cancel"
msgstr "Annuler"
@@ -162,7 +162,7 @@ msgid "Deleting Block:"
msgstr "Suppression du bloc :"
#: admin/blocks.py:136 admin/blocks.py:198 admin/data_sources.py:54
-#: admin/forms.py:84 admin/forms.py:763 admin/mail_templates.py:47
+#: admin/forms.py:85 admin/forms.py:788 admin/mail_templates.py:47
#: admin/mail_templates.py:85 admin/users.py:52 admin/users.py:144
#: admin/workflows.py:973 admin/workflows.py:1008 admin/workflows.py:1067
#: admin/workflows.py:1100 admin/workflows.py:1339 admin/workflows.py:1693
@@ -172,10 +172,10 @@ msgstr "Suppression du bloc :"
msgid "Name"
msgstr "Nom"
-#: admin/blocks.py:141 admin/data_sources.py:121 admin/mail_templates.py:100
-#: admin/wscalls.py:48 fields.py:584 wf/attachment.py:196
-#: wf/create_formdata.py:277 wf/export_to_model.py:344 wf/form.py:111
-#: wf/wscall.py:229 workflows.py:1341 workflows.py:2378 workflows.py:2494
+#: admin/blocks.py:141 admin/data_sources.py:151 admin/mail_templates.py:100
+#: admin/wscalls.py:48 fields.py:584 wf/attachment.py:197
+#: wf/create_formdata.py:277 wf/export_to_model.py:344 wf/form.py:112
+#: wf/wscall.py:229 workflows.py:1366 workflows.py:2404 workflows.py:2520
msgid "Identifier"
msgstr "Identifiant"
@@ -191,7 +191,7 @@ msgstr ""
msgid "The identifier can not be modified as the block is in use."
msgstr "L’identifiant ne peut pas être modifié car le bloc est utilisé."
-#: admin/blocks.py:150 admin/forms.py:566 backoffice/cards.py:158
+#: admin/blocks.py:150 admin/forms.py:591 backoffice/cards.py:157
msgid "Digest Template"
msgstr "Gabarit du résumé"
@@ -202,7 +202,7 @@ msgstr "Blocs de champs"
#: admin/blocks.py:199 admin/fields.py:344 admin/mail_templates.py:48
#: admin/workflows.py:553 admin/workflows.py:974 admin/workflows.py:1070
#: admin/workflows.py:1320 admin/workflows.py:1340 admin/workflows.py:1694
-#: backoffice/data_management.py:105 qommon/admin/menu.py:103
+#: backoffice/data_management.py:106 qommon/admin/menu.py:103
msgid "Add"
msgstr "Ajouter"
@@ -210,9 +210,9 @@ msgstr "Ajouter"
msgid "New Fields Block"
msgstr "Nouveau bloc de champs"
-#: admin/blocks.py:219 admin/data_sources.py:328 admin/forms.py:985
-#: admin/forms.py:1646 admin/settings.py:997 admin/workflows.py:1932
-#: admin/wscalls.py:223 backoffice/data_management.py:176
+#: admin/blocks.py:219 admin/data_sources.py:361 admin/forms.py:1010
+#: admin/forms.py:1671 admin/settings.py:997 admin/workflows.py:1932
+#: admin/wscalls.py:223 backoffice/data_management.py:177
#: qommon/ident/password.py:818
msgid "File"
msgstr "Fichier"
@@ -221,11 +221,11 @@ msgstr "Fichier"
msgid "Import Fields Block"
msgstr "Importer un bloc de champs"
-#: admin/blocks.py:232 admin/data_sources.py:341 admin/forms.py:1564
-#: admin/forms.py:1661 admin/settings.py:502 admin/settings.py:1004
+#: admin/blocks.py:232 admin/data_sources.py:374 admin/forms.py:1589
+#: admin/forms.py:1686 admin/settings.py:502 admin/settings.py:1004
#: admin/settings.py:1005 admin/settings.py:1007 admin/settings.py:1019
#: admin/settings.py:1021 admin/workflows.py:1840 admin/workflows.py:1947
-#: admin/wscalls.py:236 backoffice/cards.py:269
+#: admin/wscalls.py:236 backoffice/cards.py:248
#: templates/wcs/backoffice/blocks.html:7
#: templates/wcs/backoffice/data-sources.html:7
#: templates/wcs/backoffice/wscalls.html:7
@@ -237,14 +237,14 @@ msgid "You can install a new fields block by uploading a file."
msgstr ""
"Vous pouvez installer un nouveau bloc de champs en téléchargeant un fichier."
-#: admin/blocks.py:256 admin/forms.py:1037 admin/forms.py:1703
+#: admin/blocks.py:256 admin/forms.py:1062 admin/forms.py:1728
#: admin/workflows.py:1982
#, python-format
msgid "Invalid File (%s)"
msgstr "Fichier invalide (%s)"
-#: admin/blocks.py:258 admin/data_sources.py:362 admin/forms.py:1039
-#: admin/forms.py:1705 admin/workflows.py:1984 admin/wscalls.py:257
+#: admin/blocks.py:258 admin/data_sources.py:395 admin/forms.py:1064
+#: admin/forms.py:1730 admin/workflows.py:1984 admin/wscalls.py:257
msgid "Invalid File"
msgstr "Fichier invalide"
@@ -267,8 +267,8 @@ msgid "Category Name"
msgstr "Nom de la catégorie"
#: admin/categories.py:39 admin/categories.py:147 admin/categories.py:160
-#: admin/data_sources.py:56 admin/forms.py:236 admin/forms.py:238
-#: admin/forms.py:440 admin/mail_templates.py:87 admin/wscalls.py:42
+#: admin/data_sources.py:56 admin/forms.py:237 admin/forms.py:239
+#: admin/forms.py:465 admin/mail_templates.py:87 admin/wscalls.py:42
#: qommon/ident/franceconnect.py:248
msgid "Description"
msgstr "Description"
@@ -281,16 +281,16 @@ msgstr "URL de redirection"
msgid "If set, redirect the site category page to the given URL."
msgstr "Si précisée, redirige la page de la catégorie vers cette URL."
-#: admin/categories.py:56 admin/forms.py:111 admin/roles.py:66
+#: admin/categories.py:56 admin/forms.py:112 admin/roles.py:66
#: admin/workflows.py:249
msgid "This name is already used"
msgstr "Ce nom est déjà utilisé"
-#: admin/categories.py:80 admin/categories.py:117 admin/data_sources.py:246
+#: admin/categories.py:80 admin/categories.py:117 admin/data_sources.py:279
#: admin/mail_templates.py:152 admin/roles.py:94 admin/roles.py:171
#: admin/users.py:236 admin/users.py:268 admin/workflows.py:628
#: admin/workflows.py:1257 admin/workflows.py:1765 admin/wscalls.py:145
-#: forms/common.py:782 qommon/admin/menu.py:104 qommon/ident/idp.py:590
+#: forms/common.py:783 qommon/admin/menu.py:104 qommon/ident/idp.py:590
#: templates/wcs/backoffice/data-source.html:8
#: templates/wcs/backoffice/mail-template.html:8
#: templates/wcs/backoffice/wscall.html:8
@@ -326,8 +326,8 @@ msgid "Edit Category Description"
msgstr "Modifier la description de la catégorie"
#: admin/categories.py:174 admin/categories.py:178 admin/categories.py:233
-#: admin/forms.py:1563 admin/settings.py:586 admin/settings.py:869
-#: forms/root.py:1678
+#: admin/forms.py:1588 admin/settings.py:586 admin/settings.py:869
+#: forms/root.py:1744
msgid "Categories"
msgstr "Catégories"
@@ -340,10 +340,10 @@ msgid "Categories are used to sort the different forms."
msgstr ""
"Les catégories sont utilisées pour y ranger les différents formulaires."
-#: admin/categories.py:209 admin/data_sources.py:301 admin/forms.py:1616
+#: admin/categories.py:209 admin/data_sources.py:334 admin/forms.py:1641
#: admin/roles.py:236 admin/users.py:478 admin/workflows.py:1905
-#: admin/wscalls.py:196 backoffice/cards.py:279 qommon/ident/idp.py:227
-#: qommon/ident/idp.py:312 qommon/ident/idp.py:487 workflows.py:744
+#: admin/wscalls.py:196 backoffice/cards.py:258 qommon/ident/idp.py:227
+#: qommon/ident/idp.py:312 qommon/ident/idp.py:487 workflows.py:769
msgid "New"
msgstr "Nouveau"
@@ -352,7 +352,7 @@ msgid "Additional options"
msgstr "Options supplémentaires"
#: admin/data_sources.py:61 fields.py:826 fields.py:1632 fields.py:1746
-#: formdata.py:1224 templates/wcs/backoffice/data-source.html:5
+#: formdata.py:1228 templates/wcs/backoffice/data-source.html:5
msgid "Data Source"
msgstr "Source de données"
@@ -404,82 +404,108 @@ msgstr ""
"id)"
#: admin/data_sources.py:109
+msgid "Data Attribute"
+msgstr "Attribut des données (data)"
+
+#: admin/data_sources.py:110
+msgid "Name of the attribute containing the list of results (default: data)"
+msgstr "Nom de l’attribut contenant la liste des résultats (par défaut : data)"
+
+#: admin/data_sources.py:119
+msgid "Id Attribute"
+msgstr "Attribut de l’identifiant (id)"
+
+#: admin/data_sources.py:120
+msgid ""
+"Name of the attribute containing the identifier of an entry (default: id)"
+msgstr ""
+"Nom de l’attribut contenant l'identifiant d’une donnée (par défaut : id)"
+
+#: admin/data_sources.py:129
+msgid "Text Attribute"
+msgstr "Attribut du texte (text)"
+
+#: admin/data_sources.py:130
+msgid "Name of the attribute containing the label of an entry (default: text)"
+msgstr "Nom de l’attribut contenant le texte d’une donnée (par défaut : text)"
+
+#: admin/data_sources.py:139
msgid "Label template"
msgstr "Gabarit pour le libellé"
-#: admin/data_sources.py:110
+#: admin/data_sources.py:140
msgid "Django expression to build label of each value (default: {{ text }})"
msgstr ""
"Gabarit Django à utiliser pour construire le libellé des valeurs (par "
"défaut : {{ text }})"
-#: admin/data_sources.py:139 admin/forms.py:785 admin/wscalls.py:82
+#: admin/data_sources.py:169 admin/forms.py:810 admin/wscalls.py:82
msgid "This name is already used."
msgstr "Ce nom est déjà utilisé."
-#: admin/data_sources.py:141 admin/mail_templates.py:126 admin/wscalls.py:84
+#: admin/data_sources.py:171 admin/mail_templates.py:126 admin/wscalls.py:84
msgid "This value is already used."
msgstr "Cette valeur est déjà utilisée."
-#: admin/data_sources.py:175
+#: admin/data_sources.py:208
msgid "This data source is readonly."
msgstr "Cette source de données est en lecture seule."
-#: admin/data_sources.py:215
+#: admin/data_sources.py:248
msgid "error: not a string"
msgstr "erreur : n’est pas une chaîne de caractères"
-#: admin/data_sources.py:229
+#: admin/data_sources.py:262
msgid "Additional keys are available:"
msgstr "Autres clés disponibles :"
-#: admin/data_sources.py:247 admin/data_sources.py:249
+#: admin/data_sources.py:280 admin/data_sources.py:282
msgid "Edit Data Source"
msgstr "Modifier la source de données"
-#: admin/data_sources.py:257
+#: admin/data_sources.py:290
msgid "You are about to irrevocably delete this data source."
msgstr "Vous allez définitivement supprimer cette source de données."
-#: admin/data_sources.py:261
+#: admin/data_sources.py:294
msgid "This datasource is still used, it cannot be deleted."
msgstr ""
"La source de données est encore utilisée; elle ne peut pas être supprimée."
-#: admin/data_sources.py:267
+#: admin/data_sources.py:300
msgid "Delete Data Source"
msgstr "Supprimer la source de données"
-#: admin/data_sources.py:269
+#: admin/data_sources.py:302
msgid "Deleting Data Source:"
msgstr "Suppression de la source de données :"
-#: admin/data_sources.py:291 admin/data_sources.py:295
+#: admin/data_sources.py:324 admin/data_sources.py:328
#: templates/wcs/backoffice/data-sources.html:4
msgid "Data Sources"
msgstr "Sources de données"
-#: admin/data_sources.py:315 admin/data_sources.py:317
+#: admin/data_sources.py:348 admin/data_sources.py:350
#: templates/wcs/backoffice/data-sources.html:8
msgid "New Data Source"
msgstr "Nouvelle source de données"
-#: admin/data_sources.py:326
+#: admin/data_sources.py:359
msgid "Import Data Source"
msgstr "Importer une source de données"
-#: admin/data_sources.py:346
+#: admin/data_sources.py:379
msgid "You can install a new data source by uploading a file."
msgstr ""
"Vous pouvez enregistrer une nouvelle source de données en téléchargeant un "
"fichier."
-#: admin/data_sources.py:357
+#: admin/data_sources.py:390
msgid "This datasource has been successfully imported."
msgstr "Cette source de données a été importée correctement."
#: admin/fields.py:49 admin/settings.py:146 admin/users.py:458
-#: data_sources.py:68 fields.py:59 qommon/form.py:1009
+#: data_sources.py:68 fields.py:59 qommon/form.py:1018
#: qommon/ident/password.py:732
msgid "None"
msgstr "Aucun"
@@ -549,7 +575,7 @@ msgstr "Les champs sont en lecture seule."
msgid "Page"
msgstr "Page"
-#: admin/fields.py:220 admin/forms.py:586 backoffice/cards.py:166
+#: admin/fields.py:220 admin/forms.py:611 backoffice/cards.py:165
msgid "Fields"
msgstr "Champs"
@@ -574,7 +600,7 @@ msgstr "Vous pouvez utiliser les poignées ⣿ pour ordonner les éléments."
msgid "Display all pages"
msgstr "Afficher toutes les pages"
-#: admin/fields.py:262 admin/fields.py:296 admin/forms.py:915
+#: admin/fields.py:262 admin/fields.py:296 admin/forms.py:940
#, python-format
msgid "Page #%s:"
msgstr "Page n°%s"
@@ -598,7 +624,7 @@ msgstr "Nouveau champ"
#: admin/fields.py:339 admin/fields.py:398 admin/settings.py:264
#: backoffice/snapshots.py:48 fields.py:580 fields.py:698 fields.py:764
#: fields.py:768 fields.py:2005 wf/backoffice_fields.py:94 wf/wscall.py:163
-#: workflows.py:2360 workflows.py:2477
+#: workflows.py:2386 workflows.py:2503
msgid "Label"
msgstr "Libellé"
@@ -639,109 +665,109 @@ msgstr "Nouveau champ « %s »"
msgid "Import of fields from \"%s\""
msgstr "Import des champs de « %s »"
-#: admin/forms.py:88 admin/forms.py:251 admin/forms.py:254 admin/forms.py:446
-#: admin/forms.py:686 admin/forms.py:689 backoffice/management.py:619
+#: admin/forms.py:89 admin/forms.py:252 admin/forms.py:255 admin/forms.py:471
+#: admin/forms.py:711 admin/forms.py:714 backoffice/management.py:619
#: qommon/substitution.py:139
msgid "Category"
msgstr "Catégorie"
-#: admin/forms.py:93 admin/forms.py:454 admin/forms.py:467 admin/forms.py:472
-#: admin/forms.py:820 admin/forms.py:823 admin/workflows.py:289
+#: admin/forms.py:94 admin/forms.py:479 admin/forms.py:492 admin/forms.py:497
+#: admin/forms.py:845 admin/forms.py:848 admin/workflows.py:289
#: admin/workflows.py:356 admin/workflows.py:429 admin/workflows.py:893
#: admin/workflows.py:917 admin/workflows.py:1159 admin/workflows.py:1608
-#: backoffice/cards.py:92 backoffice/cards.py:105 backoffice/cards.py:110
-#: formdef.py:1511 formdef.py:1529 formdef.py:1552 formdef.py:1569
+#: backoffice/cards.py:91 backoffice/cards.py:104 backoffice/cards.py:109
+#: formdef.py:1548 formdef.py:1566 formdef.py:1589 formdef.py:1606
msgid "Workflow"
msgstr "Workflow"
-#: admin/forms.py:137
+#: admin/forms.py:138
msgid ""
"Warning: this field data will be permanently deleted from existing forms."
msgstr ""
"Attention : pour les demandes déjà effectuées, l’information contenue dans "
"ce champ sera perdue de façon irréversible."
-#: admin/forms.py:143 admin/forms.py:620
+#: admin/forms.py:144 admin/forms.py:645
msgid "This form is readonly."
msgstr "Ce formulaire est en lecture seule."
-#: admin/forms.py:151
+#: admin/forms.py:152
msgid "This form is currently disabled."
msgstr "Ce formulaire est actuellement désactivé."
-#: admin/forms.py:155 admin/forms.py:1609
+#: admin/forms.py:156 admin/forms.py:1634
msgid "redirection"
msgstr "redirection"
-#: admin/forms.py:157 admin/forms.py:1435
+#: admin/forms.py:158 admin/forms.py:1460
msgid "Enable"
msgstr "Activer"
-#: admin/forms.py:174
+#: admin/forms.py:175
msgid "Include confirmation page"
msgstr "Inclure une page de confirmation"
-#: admin/forms.py:176 admin/forms.py:519
+#: admin/forms.py:177 admin/forms.py:544
msgid "Confirmation Page"
msgstr "Page de confirmation"
-#: admin/forms.py:181
+#: admin/forms.py:182
msgid "Only allow one form per user"
msgstr "N’autoriser qu’un seul formulaire par utilisateur"
-#: admin/forms.py:183 admin/forms.py:524
+#: admin/forms.py:184 admin/forms.py:549
msgid "Limit to one form"
msgstr "Limiter à un seul formulaire"
-#: admin/forms.py:188
+#: admin/forms.py:189
msgid "Advertise to unlogged users"
msgstr "Afficher aux utilisateurs non-connectés"
-#: admin/forms.py:190 admin/forms.py:530
+#: admin/forms.py:191 admin/forms.py:555
msgid "Display to unlogged users"
msgstr "Afficher aux utilisateurs non-connectés"
-#: admin/forms.py:195
+#: admin/forms.py:196
msgid "Enable support for tracking codes"
msgstr "Activer la gestion des codes de suivi"
-#: admin/forms.py:197 admin/forms.py:540 backoffice/management.py:2692
-#: backoffice/submission.py:183 forms/root.py:1756
+#: admin/forms.py:198 admin/forms.py:565 backoffice/management.py:2761
+#: backoffice/submission.py:186 forms/root.py:1822
msgid "Tracking Code"
msgstr "Code de suivi"
-#: admin/forms.py:202
+#: admin/forms.py:203
msgid "Prepend a CAPTCHA page for anonymous users"
msgstr "Commencer par un CAPTCHA pour les utilisateurs anonymes"
-#: admin/forms.py:204
+#: admin/forms.py:205
msgid "CAPTCHA"
msgstr "CAPTCHA"
-#: admin/forms.py:209
+#: admin/forms.py:210
msgid "Include button to download all files"
msgstr "Inclure un bouton pour télécharger tous les fichiers"
-#: admin/forms.py:212
+#: admin/forms.py:213
msgid "Skip from per user view"
msgstr "Ne pas afficher dans la vue par usager"
-#: admin/forms.py:214 admin/forms.py:535 backoffice/management.py:139
+#: admin/forms.py:215 admin/forms.py:560 backoffice/management.py:139
#: backoffice/management.py:226 backoffice/management.py:359
#: backoffice/management.py:460 backoffice/management.py:470
#: backoffice/management.py:858 backoffice/root.py:62
msgid "Management"
msgstr "Traitement"
-#: admin/forms.py:219
+#: admin/forms.py:220
msgid "Disable access to form"
msgstr "Désactiver l’accès au formulaire"
-#: admin/forms.py:222
+#: admin/forms.py:223
msgid "If disabled, redirect to this URL"
msgstr "Si désactivé, rediriger vers cette URL"
-#: admin/forms.py:223
+#: admin/forms.py:224
msgid ""
"Redirection will only be performed if the form is disabled and a URL is "
"given. Common variables are available with the {{variable}} syntax."
@@ -749,48 +775,48 @@ msgstr ""
"La redirection sera effectuée si le formulaire est désactivé et qu’une URL "
"est indiquée. Les variables sont utilisables avec la syntaxe {{variable}}."
-#: admin/forms.py:227
+#: admin/forms.py:228
msgid "Publication Date"
msgstr "Date de publication"
-#: admin/forms.py:230
+#: admin/forms.py:231
msgid "Expiration Date"
msgstr "Date d’expiration"
-#: admin/forms.py:232 admin/forms.py:578
+#: admin/forms.py:233 admin/forms.py:603
msgid "Online Status"
msgstr "Publication"
-#: admin/forms.py:242 admin/forms.py:245 admin/forms.py:443
+#: admin/forms.py:243 admin/forms.py:246 admin/forms.py:468
msgid "Keywords"
msgstr "Mots-clés"
-#: admin/forms.py:244
+#: admin/forms.py:245
msgid "Keywords need to be separated with commas."
msgstr "Les mots-clés doivent être séparés par des virgules."
-#: admin/forms.py:250 admin/forms.py:690
+#: admin/forms.py:251 admin/forms.py:715
msgid "Select a category for this form"
msgstr "Sélectionner une catégorie pour ce formulaire"
-#: admin/forms.py:259
+#: admin/forms.py:260
msgid "Geolocation Label"
msgstr "Libellé de géolocalisation"
-#: admin/forms.py:261
+#: admin/forms.py:262
msgid "Location label (empty to disable geolocation)"
msgstr "Libellé de géolocalisation (vide pour désactiver la géolocalisation)"
-#: admin/forms.py:262 admin/forms.py:545 admin/settings.py:542
-#: backoffice/cards.py:149 fields.py:63 wf/geolocate.py:39
+#: admin/forms.py:263 admin/forms.py:570 admin/settings.py:542
+#: backoffice/cards.py:148 fields.py:63 wf/geolocate.py:39
msgid "Geolocation"
msgstr "Géolocalisation"
-#: admin/forms.py:266
+#: admin/forms.py:267
msgid "Appearance keywords"
msgstr "Mots-clés pour l’apparence"
-#: admin/forms.py:268
+#: admin/forms.py:269
msgid ""
"Serie of keywords to alter form appearance using CSS or custom templates, "
"separated by spaces."
@@ -798,60 +824,72 @@ msgstr ""
"Série de mots-clés pour modifier l’apparence du formulaire via des règles "
"CSS ou des gabarits personnalisés, séparés par des espaces."
-#: admin/forms.py:270 admin/forms.py:557
+#: admin/forms.py:271 admin/forms.py:582
msgid "Appearance"
msgstr "Apparence"
-#: admin/forms.py:274
+#: admin/forms.py:275
msgid "Digest"
msgstr "Résumé"
-#: admin/forms.py:276
+#: admin/forms.py:277
msgid "Templates"
msgstr "Gabarits"
-#: admin/forms.py:281
+#: admin/forms.py:282
msgid "Updating digests"
msgstr "Mise à jour des résumés"
-#: admin/forms.py:283
+#: admin/forms.py:285
+msgid "Existing cards will be updated in the background."
+msgstr "Les fiches existantes vont être mises à jour en arrière-plan."
+
+#: admin/forms.py:288
msgid "Existing forms will be updated in the background."
msgstr "Les demandes existantes vont être mises à jour en arrière-plan."
-#: admin/forms.py:315
+#: admin/forms.py:325
#, python-format
msgid "Changed \"%s\" parameters"
msgstr "Changement du paramétrage « %s »"
-#: admin/forms.py:348
+#: admin/forms.py:344
+msgid ""
+"Can not empty digest template: this card model is used as data source in "
+"some forms."
+msgstr ""
+"Le résumé ne peut être vide : ce modèle de fiche est utilisé en tant que "
+"source de données."
+
+#: admin/forms.py:373
msgid "Workflow Role"
msgstr "Rôle dans ce workflow"
-#: admin/forms.py:351 wf/dispatch.py:35 wf/dispatch.py:153
+#: admin/forms.py:376 wf/dispatch.py:35 wf/dispatch.py:153
msgid "Role"
msgstr "Rôle"
-#: admin/forms.py:357
+#: admin/forms.py:382
#, python-format
msgid "Change in function \"%s\""
msgstr "Changement de la fonction « %s »"
-#: admin/forms.py:381 backoffice/submission.py:61
+#: admin/forms.py:406 backoffice/submission.py:61
msgid "You are about to irrevocably delete this form."
msgstr "Vous allez définitivement supprimer ce formulaire."
-#: admin/forms.py:382
+#: admin/forms.py:407
msgid "Deleting Form:"
msgstr "Suppression du formulaire :"
-#: admin/forms.py:384
+#: admin/forms.py:409
msgid ""
"You can replace this form by uploading a file or by pointing to a form URL."
msgstr ""
"Vous pouvez remplacer ce formulaire en téléchargeant un fichier ou en "
"pointant vers l’URL du formulaire."
-#: admin/forms.py:387
+#: admin/forms.py:412
msgid ""
"The form has been successfully overwritten. Do note it kept its existing "
"address and role and workflow parameters."
@@ -859,226 +897,226 @@ msgstr ""
"Ce formulaire a été écrasé correctement. Son adresse et les paramètres de "
"rôles et worflow ont cependant été conservés."
-#: admin/forms.py:419 admin/workflows.py:1409 backoffice/cards.py:73
+#: admin/forms.py:444 admin/workflows.py:1409 backoffice/cards.py:72
msgid "change title"
msgstr "changer le titre"
-#: admin/forms.py:437 workflows.py:2926
+#: admin/forms.py:462 workflows.py:2952
msgid "Information"
msgstr "Information"
-#: admin/forms.py:442
+#: admin/forms.py:467
msgid "description|On"
msgstr "description|Présente"
-#: admin/forms.py:442
+#: admin/forms.py:467
msgid "description|None"
msgstr "description|Aucune"
-#: admin/forms.py:445
+#: admin/forms.py:470
msgid "keywords|None"
msgstr "keywords|Aucun"
-#: admin/forms.py:448
+#: admin/forms.py:473
msgid "category|None"
msgstr "category|Aucune"
-#: admin/forms.py:468 backoffice/cards.py:106
+#: admin/forms.py:493 backoffice/cards.py:105
msgid "Open workflow page"
msgstr "Ouvrir la page du workflow"
-#: admin/forms.py:478 admin/forms.py:483 admin/forms.py:516 admin/forms.py:1441
-#: admin/forms.py:1458 admin/roles.py:113 backoffice/cards.py:116
-#: backoffice/cards.py:145
+#: admin/forms.py:503 admin/forms.py:508 admin/forms.py:541 admin/forms.py:1466
+#: admin/forms.py:1483 admin/roles.py:113 backoffice/cards.py:115
+#: backoffice/cards.py:144
msgid "Options"
msgstr "Options"
-#: admin/forms.py:498 admin/forms.py:602 admin/users.py:188
-#: backoffice/cards.py:133
+#: admin/forms.py:523 admin/forms.py:627 admin/users.py:188
+#: backoffice/cards.py:132
#, python-format
msgid "Unknown role (%s)"
msgstr "Rôle inconnu (%s)"
-#: admin/forms.py:504 admin/forms.py:745
+#: admin/forms.py:529 admin/forms.py:770
msgid "User Roles"
msgstr "Rôles du demandeur"
-#: admin/forms.py:507
+#: admin/forms.py:532
msgid "Backoffice Submission Role"
msgstr "Rôle pour la saisie backoffice"
-#: admin/forms.py:521
+#: admin/forms.py:546
msgid "confirmation page|Enabled"
msgstr "confirmation page|Activée"
-#: admin/forms.py:521
+#: admin/forms.py:546
msgid "confirmation page|Disabled"
msgstr "confirmation page|Désactivée"
-#: admin/forms.py:526
+#: admin/forms.py:551
msgid "limit to one|Enabled"
msgstr "limit to one|Oui"
-#: admin/forms.py:526
+#: admin/forms.py:551
msgid "limit to one|Disabled"
msgstr "limit to one|Non"
-#: admin/forms.py:532
+#: admin/forms.py:557
msgid "display to unlogged|Enabled"
msgstr "display to unlogged|Oui"
-#: admin/forms.py:532
+#: admin/forms.py:557
msgid "display to unlogged|Disabled"
msgstr "display to unlogged|Non"
-#: admin/forms.py:536
+#: admin/forms.py:561
msgid "Custom"
msgstr "Personnalisé"
-#: admin/forms.py:537 workflows.py:739
+#: admin/forms.py:562 workflows.py:764
msgid "Default"
msgstr "Par défaut"
-#: admin/forms.py:542
+#: admin/forms.py:567
msgid "tracking code|Enabled"
msgstr "tracking code|Activé"
-#: admin/forms.py:542
+#: admin/forms.py:567
msgid "tracking code|Disabled"
msgstr "tracking code|Désactivé"
-#: admin/forms.py:547 backoffice/cards.py:151
+#: admin/forms.py:572 backoffice/cards.py:150
msgid "geolocation|Enabled"
msgstr "geolocation|Activée"
-#: admin/forms.py:547 backoffice/cards.py:151
+#: admin/forms.py:572 backoffice/cards.py:150
msgid "geolocation|Disabled"
msgstr "geolocation|Désactivée"
-#: admin/forms.py:551
+#: admin/forms.py:576
msgid "CAPTCHA for anonymous users"
msgstr "CAPTCHA pour les utilisateurs anonymes"
-#: admin/forms.py:553
+#: admin/forms.py:578
msgid "captcha|Enabled"
msgstr "captcha|Activé"
-#: admin/forms.py:553
+#: admin/forms.py:578
msgid "captcha|Disabled"
msgstr "captcha|Désactivé"
-#: admin/forms.py:559
+#: admin/forms.py:584
msgid "appearance|Standard"
msgstr "Apparence|Standard"
-#: admin/forms.py:562 backoffice/cards.py:154
+#: admin/forms.py:587 backoffice/cards.py:153
msgid "template|Custom"
msgstr "template|Personnalisé"
-#: admin/forms.py:564 backoffice/cards.py:156
+#: admin/forms.py:589 backoffice/cards.py:155
msgid "template|None"
msgstr "template|Aucun"
-#: admin/forms.py:568
+#: admin/forms.py:593
msgid "online status|Active"
msgstr "online status|Activée"
-#: admin/forms.py:571
+#: admin/forms.py:596
msgid "online status|Disabled"
msgstr "online status|Désactivée"
-#: admin/forms.py:573
+#: admin/forms.py:598
msgid "Redirected"
msgstr "Redirection"
-#: admin/forms.py:576
+#: admin/forms.py:601
msgid "online status|Inactive by date"
msgstr "online status|Désactivée (par la date)"
-#: admin/forms.py:586 backoffice/cards.py:166
+#: admin/forms.py:611 backoffice/cards.py:165
msgid "edit"
msgstr "modifier"
-#: admin/forms.py:605
+#: admin/forms.py:630
msgid "roles|None"
msgstr "roles|Aucun"
-#: admin/forms.py:624 admin/workflows.py:1581 admin/workflows.py:1762
-#: backoffice/cards.py:214 qommon/admin/menu.py:106
+#: admin/forms.py:649 admin/workflows.py:1581 admin/workflows.py:1762
+#: backoffice/cards.py:193 qommon/admin/menu.py:106
msgid "Duplicate"
msgstr "Dupliquer"
-#: admin/forms.py:626 backoffice/cards.py:216
+#: admin/forms.py:651 backoffice/cards.py:195
msgid "Overwrite with new import"
msgstr "Écraser avec un nouvel import"
-#: admin/forms.py:631
+#: admin/forms.py:656
msgid "Anonymise forms"
msgstr "Anonymiser les formulaires"
-#: admin/forms.py:633 admin/forms.py:1239
+#: admin/forms.py:658 admin/forms.py:1264
msgid "Archive"
msgstr "Archive"
-#: admin/forms.py:639
+#: admin/forms.py:664
msgid "Preview Online"
msgstr "Aperçu en ligne"
-#: admin/forms.py:642
+#: admin/forms.py:667
msgid "Display Online"
msgstr "Voir en ligne"
-#: admin/forms.py:643
+#: admin/forms.py:668
msgid "Display public URL"
msgstr "Voir l’URL publique"
-#: admin/forms.py:645
+#: admin/forms.py:670
msgid "Display QR Code"
msgstr "Afficher le code QR"
-#: admin/forms.py:652 admin/forms.py:654
+#: admin/forms.py:677 admin/forms.py:679
msgid "Public URL"
msgstr "URL publique"
-#: admin/forms.py:656
+#: admin/forms.py:681
msgid "The public URL of this form is:"
msgstr "L’URL publique du formulaire est :"
-#: admin/forms.py:664 admin/forms.py:666
+#: admin/forms.py:689 admin/forms.py:691
msgid "QR Code"
msgstr "Code QR"
-#: admin/forms.py:669
+#: admin/forms.py:694
msgid "Download"
msgstr "Télécharger"
-#: admin/forms.py:695
+#: admin/forms.py:720
msgid "Change of category"
msgstr "Changement de catégorie"
-#: admin/forms.py:708 admin/users.py:66 qommon/ident/password.py:830
+#: admin/forms.py:733 admin/users.py:66 qommon/ident/password.py:830
#: wf/resubmit.py:123
msgid "Add Role"
msgstr "Ajouter un rôle"
-#: admin/forms.py:716
+#: admin/forms.py:741
msgid "Required authentication contexts"
msgstr "Contextes d’authentification requis"
-#: admin/forms.py:740
+#: admin/forms.py:765
#, python-format
msgid "Change of %s"
msgstr "Modification de « %s »"
-#: admin/forms.py:747
+#: admin/forms.py:772
msgid "Select the roles that can access this form."
msgstr "Sélectionner les rôles qui pourront accéder à ce formulaire."
-#: admin/forms.py:751
+#: admin/forms.py:776
msgid "Backoffice Submission Roles"
msgstr "Rôles pour la saisie backoffice"
-#: admin/forms.py:754
+#: admin/forms.py:779
msgid ""
"Select the roles that will be allowed to fill out forms of this kind in the "
"backoffice."
@@ -1086,100 +1124,100 @@ msgstr ""
"Indiquer les rôles qui seront autorisés à saisir ces formulaires dans le "
"backoffice"
-#: admin/forms.py:770
+#: admin/forms.py:795
msgid "Identifier in URLs"
msgstr "Identifiant dans les URL"
-#: admin/forms.py:787
+#: admin/forms.py:812
msgid "This identifier is already used."
msgstr "Cet identifiant est déjà utilisé."
-#: admin/forms.py:791
+#: admin/forms.py:816
msgid "Change of title / URL"
msgstr "Changement du titre ou de l’adresse"
-#: admin/forms.py:796
+#: admin/forms.py:821
msgid ""
"The form identifier should not be modified as there is already some data."
msgstr ""
"L’identifiant ne devrait pas être modifié car il existe déjà des données."
-#: admin/forms.py:798
+#: admin/forms.py:823
msgid "I understand the danger, make it editable nevertheless."
msgstr "Je comprends le danger, le rendre modifiable malgré tout."
-#: admin/forms.py:800 admin/forms.py:803 backoffice/management.py:1470
-#: fields.py:673 wf/attachment.py:173 wf/notification.py:84
+#: admin/forms.py:825 admin/forms.py:828 backoffice/management.py:1505
+#: fields.py:673 wf/attachment.py:174 wf/notification.py:84
msgid "Title"
msgstr "Titre"
-#: admin/forms.py:824
+#: admin/forms.py:849
msgid "Select the workflow that will handle those forms."
msgstr "Indiquer le workflow qui va gérer ces formulaires."
-#: admin/forms.py:835 admin/forms.py:875
+#: admin/forms.py:860 admin/forms.py:900
msgid "Workflow change"
msgstr "Changement de workflow"
-#: admin/forms.py:858
+#: admin/forms.py:883
msgid "Workflow Status Remapping"
msgstr "Ré-affectation des statuts de workflow"
-#: admin/forms.py:862
+#: admin/forms.py:887
#, python-format
msgid "From %(here)s to %(there)s"
msgstr "De %(here)s vers %(there)s"
-#: admin/forms.py:906
+#: admin/forms.py:931
msgid "Error previewing field."
msgstr "Erreur à l’affichage en prévisualisation du champ."
-#: admin/forms.py:935 admin/workflows.py:1800
+#: admin/forms.py:960 admin/workflows.py:1800
msgid " (copy)"
msgstr " (copie)"
-#: admin/forms.py:939 admin/workflows.py:1804
+#: admin/forms.py:964 admin/workflows.py:1804
#, python-format
msgid "%(name)s (copy %(no)d)"
msgstr "%(name)s (Copie %(no)d)"
-#: admin/forms.py:959
+#: admin/forms.py:984
msgid "Deletion is not possible as there are open forms."
msgstr ""
"La suppression n’est pas possible tant qu’il existe des demandes en cours."
-#: admin/forms.py:986 admin/forms.py:1647 admin/workflows.py:1933
+#: admin/forms.py:1011 admin/forms.py:1672 admin/workflows.py:1933
msgid "Address"
msgstr "Adresse"
-#: admin/forms.py:1000 admin/forms.py:1001 admin/forms.py:1003
-#: admin/forms.py:1092 admin/forms.py:1093 admin/forms.py:1096
+#: admin/forms.py:1025 admin/forms.py:1026 admin/forms.py:1028
+#: admin/forms.py:1117 admin/forms.py:1118 admin/forms.py:1121
msgid "Overwrite"
msgstr "Écraser"
-#: admin/forms.py:1018 admin/forms.py:1533 admin/workflows.py:1965
+#: admin/forms.py:1043 admin/forms.py:1558 admin/workflows.py:1965
#, python-format
msgid "Error loading form (%s)."
msgstr "Erreur au chargement du formulaire (%s)."
-#: admin/forms.py:1021 admin/forms.py:1681 admin/settings.py:761
+#: admin/forms.py:1046 admin/forms.py:1706 admin/settings.py:761
#: admin/workflows.py:1968
msgid "You have to enter a file or a URL."
msgstr "Vous devez entrer un fichier ou une URL."
-#: admin/forms.py:1058
+#: admin/forms.py:1083
msgid "Overwritten (removal of incompatible fields)"
msgstr "Écrasement (avec suppression des champs incompatibles)"
-#: admin/forms.py:1074
+#: admin/forms.py:1099
msgid "Overwritten"
msgstr "Écrasement"
-#: admin/forms.py:1096
+#: admin/forms.py:1121
msgid "Summary of changes"
msgstr "Résumé des modifications"
-#: admin/forms.py:1166
+#: admin/forms.py:1191
msgid ""
"The form removes or changes fields, you should review the changes carefully "
"as some data will be lost."
@@ -1187,105 +1225,105 @@ msgstr ""
"Ce formulaire supprime ou modifie des champs, vous devriez inspecter "
"attentivement les changements car des données seront perdues."
-#: admin/forms.py:1176
+#: admin/forms.py:1201
msgid "Added field"
msgstr "Champ ajouté"
-#: admin/forms.py:1180
+#: admin/forms.py:1205
msgid "Removed field"
msgstr "Champ supprimé"
-#: admin/forms.py:1184
+#: admin/forms.py:1209
msgid "Modified field"
msgstr "Champ modifié"
-#: admin/forms.py:1187
+#: admin/forms.py:1212
msgid "Incompatible field"
msgstr "Champ incompatible"
-#: admin/forms.py:1195
+#: admin/forms.py:1220
msgid "Overwrite despite data loss"
msgstr "Écraser malgré la perte de données"
-#: admin/forms.py:1227
+#: admin/forms.py:1252
msgid "Archive forms handled before"
msgstr "Archiver formulaires traités avant cette date"
-#: admin/forms.py:1228
+#: admin/forms.py:1253
msgid "Include forms that have not been handled"
msgstr "Inclure les formulaires qui n’ont pas été traités"
-#: admin/forms.py:1230
+#: admin/forms.py:1255
msgid "Do not remove forms"
msgstr "Ne pas supprimer les formulaires"
-#: admin/forms.py:1240 admin/forms.py:1242
+#: admin/forms.py:1265 admin/forms.py:1267
msgid "Archive Forms"
msgstr "Archivage des formulaires"
-#: admin/forms.py:1286
+#: admin/forms.py:1311
msgid "Archiving forms"
msgstr "Archivage des formulaires"
-#: admin/forms.py:1304
+#: admin/forms.py:1329
msgid "Archiving"
msgstr "Archivage"
-#: admin/forms.py:1320
+#: admin/forms.py:1345
msgid "Download Archive"
msgstr "Télécharger l’archive"
-#: admin/forms.py:1348
+#: admin/forms.py:1373
msgid "Forms ended before"
msgstr "Formulaires clôturés avant"
-#: admin/forms.py:1351
+#: admin/forms.py:1376
msgid "Status of the forms to anonymise"
msgstr "Statuts des formulaires à anonymiser"
-#: admin/forms.py:1362 fields.py:609
+#: admin/forms.py:1387 fields.py:609
msgid "Anonymise"
msgstr "Anonymiser"
-#: admin/forms.py:1363 admin/forms.py:1365
+#: admin/forms.py:1388 admin/forms.py:1390
msgid "Anonymise Forms"
msgstr "Anonymisation des formulaires"
-#: admin/forms.py:1366
+#: admin/forms.py:1391
msgid "You are about to irrevocably anonymise forms."
msgstr "Vous allez définitivement anonymiser les formulaires."
-#: admin/forms.py:1399
+#: admin/forms.py:1424
msgid "Anonymising forms"
msgstr "Anonymisation des formulaires"
-#: admin/forms.py:1413
+#: admin/forms.py:1438
msgid "Anonymising"
msgstr "Anonymisation"
-#: admin/forms.py:1429 admin/settings.py:1048 backoffice/management.py:2489
+#: admin/forms.py:1454 admin/settings.py:1048 backoffice/management.py:2558
#: qommon/admin/emails.py:192 qommon/admin/menu.py:130
#: qommon/admin/texts.py:105 qommon/ident/password.py:1024
msgid "Back"
msgstr "Retour"
-#: admin/forms.py:1454
+#: admin/forms.py:1479
msgid "Change in workflow variables"
msgstr "Changement dans les variables de workflow"
-#: admin/forms.py:1469 admin/forms.py:1498
+#: admin/forms.py:1494 admin/forms.py:1523
msgid "Workflow Options"
msgstr "Options du workflow"
-#: admin/forms.py:1510
+#: admin/forms.py:1535
msgid "Change in workflow options"
msgstr "Changement dans les options de workflow"
-#: admin/forms.py:1528 admin/forms.py:1529
+#: admin/forms.py:1553 admin/forms.py:1554
msgid "Import Form"
msgstr "Importer un formulaire"
-#: admin/forms.py:1531
+#: admin/forms.py:1556
msgid ""
"You can install a new form by uploading a file or by pointing to the form "
"URL."
@@ -1293,12 +1331,12 @@ msgstr ""
"Vous pouvez installer un nouveau formulaire en téléchargeant un fichier ou "
"en pointant vers l’URL du formulaire."
-#: admin/forms.py:1535
+#: admin/forms.py:1560
msgid ""
"This form has been successfully imported. Do note it is disabled by default."
msgstr "Ce formulaire a été importé correctement. Il est désactivé par défaut."
-#: admin/forms.py:1538
+#: admin/forms.py:1563
msgid ""
"Imported form contained errors and has been automatically fixed, you should "
"nevertheless check everything is ok. Do note it is disabled by default."
@@ -1307,161 +1345,116 @@ msgstr ""
"automatiquement corrigées. Vous devriez néanmoins vérifier que tout est "
"correct avant d’activer le formulaire."
-#: admin/forms.py:1546 admin/forms.py:1550 admin/forms.py:1556
+#: admin/forms.py:1571 admin/forms.py:1575 admin/forms.py:1581
#: admin/settings.py:581 admin/settings.py:861 admin/workflows.py:1556
#: admin/workflows.py:1883 backoffice/cards.py:173 backoffice/management.py:473
#: backoffice/management.py:542 formdef.py:86 forms/common.py:147
-#: forms/root.py:65 forms/root.py:1447 forms/root.py:1733 forms/root.py:1738
-#: forms/root.py:1743 forms/root.py:1748 forms/root.py:1753
+#: forms/root.py:65 forms/root.py:1513 forms/root.py:1799 forms/root.py:1804
+#: forms/root.py:1809 forms/root.py:1814 forms/root.py:1819
msgid "Forms"
msgstr "Formulaires"
-#: admin/forms.py:1559 admin/settings.py:563 admin/settings.py:871
+#: admin/forms.py:1584 admin/settings.py:563 admin/settings.py:871
#: admin/workflows.py:1839
msgid "Data sources"
msgstr "Sources de données"
-#: admin/forms.py:1561
+#: admin/forms.py:1586
msgid "Fields blocks"
msgstr "Blocs de champs"
-#: admin/forms.py:1565 admin/forms.py:1634 admin/forms.py:1636
+#: admin/forms.py:1590 admin/forms.py:1659 admin/forms.py:1661
msgid "New Form"
msgstr "Nouveau formulaire"
-#: admin/forms.py:1570 admin/forms.py:1618
+#: admin/forms.py:1595 admin/forms.py:1643
msgid "You first have to define roles."
msgstr "Vous devez d’abord définir des rôles"
-#: admin/forms.py:1587 admin/settings.py:510 backoffice/management.py:282
+#: admin/forms.py:1612 admin/settings.py:510 backoffice/management.py:282
#: backoffice/management.py:732 backoffice/management.py:775
-#: backoffice/management.py:2902 backoffice/submission.py:332
-#: forms/root.py:1521
+#: backoffice/management.py:2971 backoffice/submission.py:335
+#: forms/root.py:1587
msgid "Misc"
msgstr "Divers"
-#: admin/logged_errors.py:39
+#: admin/logged_errors.py:40
#, python-format
msgid "Logged Errors - %s"
msgstr "Erreurs enregistrées — %s"
-#: admin/logged_errors.py:45
-msgid "First occurence:"
-msgstr "Première occurrence :"
-
-#: admin/logged_errors.py:48
-msgid "Latest occurence:"
-msgstr "Dernière occurrence :"
-
-#: admin/logged_errors.py:50 backoffice/management.py:756
-#: backoffice/management.py:2555
-msgid "Count:"
-msgstr "Nombre :"
-
-#: admin/logged_errors.py:55 admin/logged_errors.py:86
-#: backoffice/management.py:762 formdef.py:1250 workflows.py:1893
-#, python-format
-msgid "%s:"
-msgstr "%s :"
-
-#: admin/logged_errors.py:62
-msgid "Workflow: "
-msgstr "Workflow : "
-
-#: admin/logged_errors.py:68 backoffice/management.py:2720
-msgid "Status:"
-msgstr "Statut :"
-
-#: admin/logged_errors.py:73
-msgid "Action:"
-msgstr "Action :"
-
-#: admin/logged_errors.py:80 data_sources.py:74 data_sources.py:514
-#: fields.py:61 qommon/form.py:2451 qommon/form.py:2553
+#: admin/logged_errors.py:57 data_sources.py:74 data_sources.py:546
+#: fields.py:61 qommon/form.py:2461 qommon/form.py:2563
msgid "Python Expression"
msgstr "Expression Python"
-#: admin/logged_errors.py:81 backoffice/management.py:2944 qommon/form.py:2551
+#: admin/logged_errors.py:58 backoffice/management.py:3013 qommon/form.py:2561
msgid "Django Expression"
msgstr "Expression Django"
-#: admin/logged_errors.py:82 admin/settings.py:539 admin/settings.py:831
-#: admin/settings.py:832 admin/settings.py:834 backoffice/management.py:2944
-#: qommon/form.py:2450 qommon/form.py:2495
+#: admin/logged_errors.py:59 admin/settings.py:539 admin/settings.py:831
+#: admin/settings.py:832 admin/settings.py:834 backoffice/management.py:3013
+#: qommon/form.py:2460 qommon/form.py:2505
msgid "Template"
msgstr "Gabarit"
-#: admin/logged_errors.py:83 admin/settings.py:1155
-#: backoffice/management.py:631 qommon/admin/texts.py:147 qommon/form.py:2449
-#: qommon/form.py:2494
+#: admin/logged_errors.py:60 admin/settings.py:1155
+#: backoffice/management.py:631 qommon/admin/texts.py:147 qommon/form.py:2459
+#: qommon/form.py:2504
msgid "Text"
msgstr "Texte"
-#: admin/logged_errors.py:84 backoffice/management.py:1293
-#: backoffice/management.py:1303 backoffice/management.py:2915
-#: backoffice/management.py:3170 formdata.py:214 formdata.py:532
-#: qommon/admin/logger.py:109 workflows.py:731
+#: admin/logged_errors.py:61 backoffice/management.py:1328
+#: backoffice/management.py:1338 backoffice/management.py:2984
+#: backoffice/management.py:3239 formdata.py:214 formdata.py:533
+#: qommon/admin/logger.py:109 workflows.py:756
msgid "Unknown"
msgstr "Inconnu"
-#: admin/logged_errors.py:89 backoffice/management.py:2992
-#: backoffice/management.py:2995 backoffice/management.py:3016
-#: backoffice/management.py:3038
-msgid "Error message:"
-msgstr "Message d’erreur :"
-
-#: admin/logged_errors.py:97
-msgid "Data: "
-msgstr "Données : "
-
-#: admin/logged_errors.py:100
-msgid "inspector"
-msgstr "inspecteur"
-
-#: admin/logged_errors.py:108
+#: admin/logged_errors.py:65
msgid "Exception"
msgstr "Exception"
-#: admin/logged_errors.py:108
+#: admin/logged_errors.py:65
msgid "Stack trace (most recent call first)"
msgstr "Trace (appels les plus récents en premier)"
-#: admin/logged_errors.py:109 backoffice/management.py:886
-#: backoffice/management.py:2350 backoffice/management.py:2387 formdata.py:889
-#: formdata.py:893 formdata.py:1318 formdata.py:1319 formdata.py:1320
-#: formdata.py:1321 formdata.py:1322 formdata.py:1323 formdata.py:1324
-#: formdata.py:1325 formdata.py:1326 formdata.py:1327 formdef.py:85
-#: formdef.py:1588 wf/create_formdata.py:206 wf/create_formdata.py:240
-#: wf/form.py:82 wf/resubmit.py:60 wf/resubmit.py:132
+#: admin/logged_errors.py:66 backoffice/management.py:886
+#: backoffice/management.py:2419 backoffice/management.py:2456 formdata.py:893
+#: formdata.py:897 formdata.py:1322 formdata.py:1323 formdata.py:1324
+#: formdata.py:1325 formdata.py:1326 formdata.py:1327 formdata.py:1328
+#: formdata.py:1329 formdata.py:1330 formdata.py:1331 formdef.py:85
+#: formdef.py:1625 wf/create_formdata.py:206 wf/create_formdata.py:240
+#: wf/form.py:83 wf/resubmit.py:60 wf/resubmit.py:132
msgid "Form"
msgstr "Formulaire"
-#: admin/logged_errors.py:109
+#: admin/logged_errors.py:66
msgid "Cookies"
msgstr "Cookies"
-#: admin/logged_errors.py:109
+#: admin/logged_errors.py:66
msgid "Environment"
msgstr "Environnement"
-#: admin/logged_errors.py:142
+#: admin/logged_errors.py:99
msgid "Acked"
msgstr "Validée"
-#: admin/logged_errors.py:179
+#: admin/logged_errors.py:136
#, python-format
msgid "%(count)d error"
msgid_plural "%(count)d errors"
msgstr[0] "%(count)d erreur"
msgstr[1] "%(count)d erreurs"
-#: admin/logged_errors.py:184
+#: admin/logged_errors.py:141
#, python-format
msgid "error %(class)s (%(message)s)"
msgstr "erreur %(class)s (%(message)s)"
-#: admin/logged_errors.py:203 admin/logged_errors.py:204
-#: admin/logged_errors.py:216 templates/wcs/backoffice/logged-errors.html:4
+#: admin/logged_errors.py:160 admin/logged_errors.py:161
+#: admin/logged_errors.py:173 templates/wcs/backoffice/logged-errors.html:4
msgid "Logged Errors"
msgstr "Erreurs enregistrées"
@@ -1477,20 +1470,20 @@ msgstr "Nouveau modèle de courriel"
#: admin/mail_templates.py:90 qommon/admin/emails.py:211
#: qommon/ident/password.py:1294 qommon/ident/password.py:1320
-#: workflows.py:2612
+#: workflows.py:2638
msgid "Subject"
msgstr "Sujet"
-#: admin/mail_templates.py:93 wf/notification.py:88 workflows.py:2625
-#: workflows.py:2821
+#: admin/mail_templates.py:93 wf/notification.py:88 workflows.py:2651
+#: workflows.py:2847
msgid "Body"
msgstr "Corps"
-#: admin/mail_templates.py:105 workflows.py:1871
+#: admin/mail_templates.py:105 workflows.py:1896
msgid "Attachments (Python expressions)"
msgstr "Fichiers attachés (sous forme d’expressions Python)"
-#: admin/mail_templates.py:108 workflows.py:1867 workflows.py:1874
+#: admin/mail_templates.py:108 workflows.py:1892 workflows.py:1899
msgid "Add attachment"
msgstr "Ajouter un fichier attaché"
@@ -1584,7 +1577,7 @@ msgstr "Suppression du rôle :"
#: admin/roles.py:206 admin/roles.py:207 admin/roles.py:211 admin/roles.py:235
#: admin/roles.py:257 admin/settings.py:585 admin/settings.py:868
#: admin/users.py:64 admin/users.py:175 backoffice/root.py:69
-#: qommon/ident/password.py:828 workflows.py:1063 workflows.py:1345
+#: qommon/ident/password.py:828 workflows.py:1088 workflows.py:1370
msgid "Roles"
msgstr "Rôles"
@@ -1684,7 +1677,7 @@ msgstr "Utilisateurs"
msgid "Mime types"
msgstr "Types MIME"
-#: admin/settings.py:269 admin/workflows.py:344 backoffice/management.py:1461
+#: admin/settings.py:269 admin/workflows.py:344 backoffice/management.py:1496
msgid "Save"
msgstr "Enregistrer"
@@ -1841,7 +1834,7 @@ msgid "Configure email settings"
msgstr "Configurer les options relatives aux courriels"
#: admin/settings.py:555 admin/settings.py:1087 admin/settings.py:1088
-#: admin/settings.py:1162 backoffice/management.py:160 workflows.py:2792
+#: admin/settings.py:1162 backoffice/management.py:160 workflows.py:2818
msgid "SMS"
msgstr "SMS"
@@ -1878,8 +1871,8 @@ msgstr "Configurer les appels de webservice"
msgid "Backoffice"
msgstr "Backoffice"
-#: admin/settings.py:582 admin/settings.py:863 backoffice/cards.py:259
-#: backoffice/cards.py:263 backoffice/cards.py:267 backoffice/root.py:66
+#: admin/settings.py:582 admin/settings.py:863 backoffice/cards.py:238
+#: backoffice/cards.py:242 backoffice/cards.py:246 backoffice/root.py:66
msgid "Card Models"
msgstr "Modèles de fiche"
@@ -1911,8 +1904,8 @@ msgstr "télécharger"
msgid "preview"
msgstr "prévisualisation"
-#: admin/settings.py:688 admin/utils.py:41 wf/attachment.py:109
-#: wf/resubmit.py:45 workflows.py:2312 workflows.py:2997
+#: admin/settings.py:688 admin/utils.py:41 wf/attachment.py:110
+#: wf/resubmit.py:45 workflows.py:2338 workflows.py:3023
#, python-format
msgid "by %s"
msgstr "par %s"
@@ -1983,11 +1976,11 @@ msgstr "Modèles de courriel"
msgid "Exporting site settings"
msgstr "Exporter des paramètres du site"
-#: admin/settings.py:973 backoffice/management.py:2021
+#: admin/settings.py:973 backoffice/management.py:2090
msgid "Exporting"
msgstr "Export"
-#: admin/settings.py:990 backoffice/management.py:2038
+#: admin/settings.py:990 backoffice/management.py:2107
msgid "Download Export"
msgstr "Télécharger l’export"
@@ -2045,7 +2038,7 @@ msgstr "appels webservices"
msgid "Error:"
msgstr "Erreur :"
-#: admin/settings.py:1057 qommon/publisher.py:1036
+#: admin/settings.py:1057 qommon/publisher.py:935
msgid "Site Name"
msgstr "Nom du site"
@@ -2106,8 +2099,8 @@ msgstr "Le SMS a été envoyé correctement."
msgid "Database Name"
msgstr "Nom de la base de données"
-#: admin/settings.py:1200 admin/users.py:120 backoffice/management.py:1194
-#: backoffice/management.py:1644 qommon/admin/logger.py:60
+#: admin/settings.py:1200 admin/users.py:120 backoffice/management.py:1229
+#: backoffice/management.py:1712 qommon/admin/logger.py:60
#: qommon/admin/logger.py:183 users.py:216 users.py:267 users.py:268
msgid "User"
msgstr "Utilisateur"
@@ -2152,12 +2145,12 @@ msgstr "Paramètres de géolocalisation"
#: admin/users.py:55 admin/users.py:148 backoffice/management.py:149
#: backoffice/management.py:159 backoffice/management.py:407 fields.py:102
-#: fields.py:939 formdata.py:357 forms/root.py:127 qommon/admin/emails.py:235
+#: fields.py:939 formdata.py:358 forms/root.py:127 qommon/admin/emails.py:235
#: qommon/admin/menu.py:111 qommon/ident/franceconnect.py:67
#: qommon/ident/idp.py:172 qommon/ident/idp.py:289 qommon/ident/password.py:208
#: qommon/ident/password.py:311 qommon/ident/password.py:507
#: qommon/ident/password.py:867 qommon/ident/password.py:1232 wf/profile.py:59
-#: workflows.py:2540
+#: workflows.py:2566
msgid "Email"
msgstr "Courriel"
@@ -2174,7 +2167,7 @@ msgstr "Marqué comme supprimé le %(date)s."
msgid "Profile"
msgstr "Profil"
-#: admin/users.py:163 fields.py:2685 forms/common.py:496
+#: admin/users.py:163 fields.py:2685 forms/common.py:497
#: wf/export_to_model.py:585
msgid "Not set"
msgstr "Non renseigné"
@@ -2250,7 +2243,7 @@ msgid "New User"
msgstr "Nouvel utilisateur"
#: admin/users.py:444 admin/users.py:450 backoffice/management.py:348
-#: backoffice/management.py:354 backoffice/management.py:1412
+#: backoffice/management.py:354 backoffice/management.py:1447
msgid "Search"
msgstr "Rechercher"
@@ -2575,7 +2568,7 @@ msgstr "Ce choix est prioritaire par rapport au nom de variable"
msgid "Variable"
msgstr "Variable"
-#: admin/workflows.py:894 admin/workflows.py:938 backoffice/management.py:3089
+#: admin/workflows.py:894 admin/workflows.py:938 backoffice/management.py:3158
#: qommon/substitution.py:133
msgid "Variables"
msgstr "Variables"
@@ -2593,7 +2586,7 @@ msgstr "Données de traitement"
msgid "There are not yet any backoffice fields."
msgstr "Il n’y a pas encore de donnée de traitement."
-#: admin/workflows.py:968 backoffice/management.py:3142
+#: admin/workflows.py:968 backoffice/management.py:3211
msgid "Functions"
msgstr "Fonctions"
@@ -2787,7 +2780,7 @@ msgstr "ajouter un niveau de criticité"
msgid "This workflow is used for the following forms:"
msgstr "Ce workflow est utilisé par les formulaires suivants :"
-#: admin/workflows.py:1599 wf/form.py:237
+#: admin/workflows.py:1599 wf/form.py:219
msgid "required"
msgstr "obligatoire"
@@ -2940,7 +2933,7 @@ msgstr ""
msgid "This webservice call has been successfully imported."
msgstr "Cet appel webservice a été importé correctement."
-#: api.py:98 formdata.py:529
+#: api.py:98 formdata.py:530
msgid "Draft"
msgstr "Brouillon"
@@ -2964,15 +2957,15 @@ msgstr ""
"Assurez-vous que vous voulez une expression Python, et non un simple gabarit "
"de texte avec des variables de substitution (sans le signe = au début)."
-#: backoffice/cards.py:51
+#: backoffice/cards.py:50
msgid "You are about to irrevocably delete this card model."
msgstr "Vous allez définitivement supprimer ce modèle de fiche."
-#: backoffice/cards.py:52
+#: backoffice/cards.py:51
msgid "Deleting Card Model:"
msgstr "Suppression du modèle de fiche :"
-#: backoffice/cards.py:54
+#: backoffice/cards.py:53
msgid ""
"You can replace this card model by uploading a file or by pointing to a form "
"URL."
@@ -2980,7 +2973,7 @@ msgstr ""
"Vous pouvez remplacer ce modèle de fiche en téléchargeant un fichier ou en "
"pointant vers l’URL de la fiche."
-#: backoffice/cards.py:57
+#: backoffice/cards.py:56
msgid ""
"The card model has been successfully overwritten. Do note it kept its "
"existing address and role and workflow parameters."
@@ -2988,7 +2981,7 @@ msgstr ""
"Ce modèle de fiche a été écrasée correctement. Son adresse et les paramètres "
"de rôles et worflow ont cependant été conservés."
-#: backoffice/cards.py:119
+#: backoffice/cards.py:118
msgid "Creation Role"
msgstr "Rôle de création"
@@ -2996,19 +2989,19 @@ msgstr "Rôle de création"
msgid "This card model is used as data source in the following forms:"
msgstr "Ce modèle de fiche est utilisé par les formulaires suivants :"
-#: backoffice/cards.py:210
+#: backoffice/cards.py:189
msgid "This card model is readonly."
msgstr "Ce modèle de fiche est en lecture seule."
-#: backoffice/cards.py:234
+#: backoffice/cards.py:213
msgid "Deletion is not possible as there are cards."
msgstr "La suppression n’est pas possible car il y a des fiches complétées."
-#: backoffice/cards.py:243 backoffice/cards.py:244
+#: backoffice/cards.py:222 backoffice/cards.py:223
msgid "Import Card Model"
msgstr "Importer un modèle de fiche"
-#: backoffice/cards.py:246
+#: backoffice/cards.py:225
msgid ""
"You can install a new card model by uploading a file or by pointing to the "
"card model URL."
@@ -3016,16 +3009,16 @@ msgstr ""
"Vous pouvez installer un nouveau modèle de fiche en téléchargeant un fichier "
"ou en pointant vers l’URL de la fiche."
-#: backoffice/cards.py:248
+#: backoffice/cards.py:227
#, python-format
msgid "Error loading card model (%s)."
msgstr "Erreur au chargement du modèle de fiche (%s) :"
-#: backoffice/cards.py:250
+#: backoffice/cards.py:229
msgid "This card model has been successfully imported. "
msgstr "Cet modèle de fiche a été importée correctement."
-#: backoffice/cards.py:252
+#: backoffice/cards.py:231
msgid ""
"Imported card model contained errors and has been automatically fixed, you "
"should nevertheless check everything is ok. "
@@ -3033,7 +3026,7 @@ msgstr ""
"Le modèle importé contenait des erreurs et celles-ci ont été automatiquement "
"corrigées. Vous devriez néanmoins vérifier que tout est correct."
-#: backoffice/cards.py:270 backoffice/cards.py:295 backoffice/cards.py:297
+#: backoffice/cards.py:249 backoffice/cards.py:274 backoffice/cards.py:276
msgid "New Card Model"
msgstr "Nouveau modèle de fiche"
@@ -3043,72 +3036,72 @@ msgstr "Nouveau modèle de fiche"
msgid "Cards"
msgstr "Fiches"
-#: backoffice/data_management.py:88
+#: backoffice/data_management.py:89
msgid "Search in card content"
msgstr "Rechercher dans le contenu des fiches"
-#: backoffice/data_management.py:130
+#: backoffice/data_management.py:131
msgid "Import data from a CSV file"
msgstr "Importer des fiches depuis un fichier CSV"
-#: backoffice/data_management.py:145
+#: backoffice/data_management.py:146
#, python-format
msgid "will be ignored - type %s not supported"
msgstr "sera ignoré - type %s pas pris en charge"
-#: backoffice/data_management.py:149 backoffice/management.py:1354
-#: backoffice/management.py:3247 fields.py:983 fields.py:1002 fields.py:1029
-#: formdata.py:671 workflows.py:1922
+#: backoffice/data_management.py:150 backoffice/management.py:1389
+#: backoffice/management.py:3316 fields.py:983 fields.py:1002 fields.py:1029
+#: formdata.py:675 workflows.py:1947
msgid "Yes"
msgstr "Oui"
-#: backoffice/data_management.py:189 backoffice/data_management.py:190
+#: backoffice/data_management.py:190 backoffice/data_management.py:191
#: templates/wcs/backoffice/card-data-import-form.html:6
msgid "Import CSV"
msgstr "Importer depuis un fichier CSV"
-#: backoffice/data_management.py:208
+#: backoffice/data_management.py:209
msgid "Invalid file format."
msgstr "Format de fichier invalide."
-#: backoffice/data_management.py:210
+#: backoffice/data_management.py:211
msgid "You have to enter a file."
msgstr "Vous devez entrer un fichier."
-#: backoffice/data_management.py:228
+#: backoffice/data_management.py:229
msgid "Invalid CSV file."
msgstr "Fichier CSV invalide"
-#: backoffice/data_management.py:232
+#: backoffice/data_management.py:233
msgid "CSV file contains less columns than card fields."
msgstr ""
"Le fichier CSV ne contient pas assez de colonnes par rapport aux champs de "
"la fiche."
-#: backoffice/data_management.py:265
+#: backoffice/data_management.py:266
msgid "CSV file contains lines with wrong number of columns."
msgstr "Le fichier CSV contient des lignes avec un nombre erroné de colonnes."
-#: backoffice/data_management.py:267
+#: backoffice/data_management.py:268
#, python-format
msgid "(line numbers %s)"
msgstr "(lignes %s)"
-#: backoffice/data_management.py:269
+#: backoffice/data_management.py:270
#, python-format
msgid "(line numbers %s and more)"
msgstr "(lignes %s et plus)"
-#: backoffice/data_management.py:286
+#: backoffice/data_management.py:287
msgid "Importing data into cards"
msgstr "Importation des données dans des fiches"
-#: backoffice/data_management.py:318
+#: backoffice/data_management.py:319
#, python-format
msgid "The card has been recorded on %(date)s with the number %(number)s."
msgstr "La fiche a été enregistrée le %(date)s avec le numéro %(number)s."
-#: backoffice/data_management.py:320
+#: backoffice/data_management.py:321
#, python-format
msgid ""
"The card has been recorded on %(date)s with the number %(number)s by "
@@ -3124,7 +3117,7 @@ msgstr "Voir"
#: backoffice/management.py:147 qommon/admin/logger.py:61
#: qommon/admin/logger.py:189 qommon/ident/password.py:1295
-#: qommon/ident/password.py:1322 wf/register_comment.py:85 workflows.py:2918
+#: qommon/ident/password.py:1322 wf/register_comment.py:85 workflows.py:2944
msgid "Message"
msgstr "Message"
@@ -3192,25 +3185,25 @@ msgid "Look up"
msgstr "Recherche"
#: backoffice/management.py:602 backoffice/management.py:891
-#: backoffice/management.py:995 backoffice/management.py:1581 formdef.py:1320
-#: forms/common.py:447 workflows.py:1151 workflows.py:1157 workflows.py:2224
+#: backoffice/management.py:995 backoffice/management.py:1649 formdef.py:1355
+#: forms/common.py:448 workflows.py:1176 workflows.py:1182 workflows.py:2250
msgid "Status"
msgstr "Statut"
-#: backoffice/management.py:604 backoffice/management.py:1261
+#: backoffice/management.py:604 backoffice/management.py:1296
msgid "Waiting for an action"
msgstr "En attente de votre part"
-#: backoffice/management.py:605 backoffice/management.py:1263
+#: backoffice/management.py:605 backoffice/management.py:1298
msgid "formdata|Open"
msgstr "formdata|En attente"
-#: backoffice/management.py:606 backoffice/management.py:1264
-#: backoffice/management.py:2406
+#: backoffice/management.py:606 backoffice/management.py:1299
+#: backoffice/management.py:2475
msgid "Done"
msgstr "Terminé"
-#: backoffice/management.py:607 backoffice/management.py:1262
+#: backoffice/management.py:607 backoffice/management.py:1297
msgid "All"
msgstr "Tous"
@@ -3227,8 +3220,8 @@ msgid "categories|All"
msgstr "categories|Toutes"
#: backoffice/management.py:625 backoffice/management.py:885
-#: backoffice/management.py:1548 backoffice/management.py:2786
-#: backoffice/submission.py:195
+#: backoffice/management.py:1616 backoffice/management.py:2855
+#: backoffice/submission.py:198
msgid "Channel"
msgstr "Canal"
@@ -3236,7 +3229,7 @@ msgstr "Canal"
msgid "channel|All"
msgstr "channel|Tous"
-#: backoffice/management.py:648 backoffice/management.py:2432
+#: backoffice/management.py:648 backoffice/management.py:2501
msgid "Filters"
msgstr "Critères"
@@ -3274,6 +3267,16 @@ msgstr ""
msgid "Total count:"
msgstr "Nombre total :"
+#: backoffice/management.py:756 backoffice/management.py:2624
+#: templates/wcs/backoffice/logged-error.html:12
+msgid "Count:"
+msgstr "Nombre :"
+
+#: backoffice/management.py:762 formdef.py:1285 workflows.py:1918
+#, python-format
+msgid "%s:"
+msgstr "%s :"
+
#: backoffice/management.py:789
#, python-format
msgid "%(pending)s open on %(total)s"
@@ -3290,11 +3293,11 @@ msgstr[1] "%(total)s éléments"
msgid "Reference"
msgstr "Référence"
-#: backoffice/management.py:888 backoffice/management.py:1551
+#: backoffice/management.py:888 backoffice/management.py:1619
msgid "Created"
msgstr "Date de création"
-#: backoffice/management.py:889 backoffice/management.py:1552
+#: backoffice/management.py:889 backoffice/management.py:1620
msgid "Last Modified"
msgstr "Dernière modification"
@@ -3311,126 +3314,134 @@ msgstr "Vue par formulaires"
msgid "Global Map"
msgstr "Vue sur une carte"
-#: backoffice/management.py:1033
+#: backoffice/management.py:1035
msgid "Search in form content"
msgstr "Rechercher dans le contenu des demandes"
-#: backoffice/management.py:1072
+#: backoffice/management.py:1105
msgid "Export a Spreadsheet"
msgstr "Export vers un tableur"
-#: backoffice/management.py:1074
+#: backoffice/management.py:1107
msgid "Export as CSV File"
msgstr "Export au format CSV"
-#: backoffice/management.py:1077
+#: backoffice/management.py:1110
msgid "Excel Export"
msgstr "Export vers Excel"
-#: backoffice/management.py:1080
+#: backoffice/management.py:1113
msgid "Plot on a Map"
msgstr "Rendu sur une carte"
-#: backoffice/management.py:1082 backoffice/management.py:2389
-#: backoffice/management.py:2487
+#: backoffice/management.py:1115 backoffice/management.py:2458
+#: backoffice/management.py:2556
msgid "Statistics"
msgstr "Statistiques"
-#: backoffice/management.py:1092
+#: backoffice/management.py:1125
msgid "Custom Views"
msgstr "Vues personnalisées"
-#: backoffice/management.py:1103
+#: backoffice/management.py:1136
msgid "for data sources"
msgstr "pour sources de données"
-#: backoffice/management.py:1192 backoffice/management.py:1640
+#: backoffice/management.py:1138
+msgid "default"
+msgstr "défaut"
+
+#: backoffice/management.py:1227 backoffice/management.py:1708
msgid "Start"
msgstr "Début"
-#: backoffice/management.py:1193 backoffice/management.py:1641
+#: backoffice/management.py:1228 backoffice/management.py:1709
msgid "End"
msgstr "Fin"
-#: backoffice/management.py:1195 backoffice/management.py:1645
+#: backoffice/management.py:1230 backoffice/management.py:1713
msgid "Submission Agent"
msgstr "Agent à la saisie"
-#: backoffice/management.py:1232
+#: backoffice/management.py:1267
msgid "Current view"
msgstr "Vue actuelle"
-#: backoffice/management.py:1234
+#: backoffice/management.py:1269
msgid "filters"
msgstr "critères"
-#: backoffice/management.py:1237
+#: backoffice/management.py:1272
msgid "Columns Settings"
msgstr "Paramètrage des colonnes"
-#: backoffice/management.py:1237
+#: backoffice/management.py:1272
msgid "columns"
msgstr "colonnes"
-#: backoffice/management.py:1239
+#: backoffice/management.py:1274
msgid "Marker Settings"
msgstr "Paramètrage des marqueurs"
-#: backoffice/management.py:1239
+#: backoffice/management.py:1274
msgid "markers"
msgstr "marqueurs"
-#: backoffice/management.py:1257
+#: backoffice/management.py:1292
msgid "Status to display"
msgstr "Statuts à afficher"
-#: backoffice/management.py:1354 backoffice/management.py:3247 fields.py:985
-#: fields.py:1032 formdata.py:671 workflows.py:1922
+#: backoffice/management.py:1389 backoffice/management.py:3316 fields.py:985
+#: fields.py:1032 formdata.py:675 workflows.py:1947
msgid "No"
msgstr "Non"
-#: backoffice/management.py:1416 backoffice/management.py:2380
+#: backoffice/management.py:1451 backoffice/management.py:2449
msgid "Refresh"
msgstr "Rafraîchir"
-#: backoffice/management.py:1475
+#: backoffice/management.py:1510
msgid "to me only"
msgstr "par moi uniquement"
-#: backoffice/management.py:1476
+#: backoffice/management.py:1511
msgid "to any users"
msgstr "par tout le monde"
-#: backoffice/management.py:1480
+#: backoffice/management.py:1515
msgid "as data source"
msgstr "comme source de données"
-#: backoffice/management.py:1482
+#: backoffice/management.py:1520
msgid "Visibility"
msgstr "Visibilité"
-#: backoffice/management.py:1487
+#: backoffice/management.py:1527 backoffice/management.py:1537
+msgid "Set as default view"
+msgstr "Définir comme vue par défaut"
+
+#: backoffice/management.py:1541
msgid "Update existing view settings"
msgstr "Mettre à jour les paramètres"
-#: backoffice/management.py:1488
+#: backoffice/management.py:1542
msgid "Save View"
msgstr "Enregistrer la vue"
-#: backoffice/management.py:1500
+#: backoffice/management.py:1554
msgid "Missing title."
msgstr "Titre manquant."
-#: backoffice/management.py:1506
+#: backoffice/management.py:1560
msgid "Views must have at least one column."
msgstr "Les vues doivent avoir au moins une colonne."
-#: backoffice/management.py:1528
+#: backoffice/management.py:1596
#, python-format
msgid "You are about to remove the \"%s\" custom view."
msgstr "Vous allez supprimer la vue personnalisée « %s »."
-#: backoffice/management.py:1531
+#: backoffice/management.py:1599
msgid ""
"Beware this view is available to all users, and will thus be removed for "
"everyone."
@@ -3438,116 +3449,116 @@ msgstr ""
"Attention, cette vue est partagée avec tous les utilisateurs et sera donc "
"supprimée pour tout le monde."
-#: backoffice/management.py:1538
+#: backoffice/management.py:1606
msgid "Delete Custom View"
msgstr "Supprimer la vue personnalisée"
-#: backoffice/management.py:1546 fields.py:114
+#: backoffice/management.py:1614 fields.py:114
msgid "Number"
msgstr "Numéro"
-#: backoffice/management.py:1550
+#: backoffice/management.py:1618
msgid "Submission By"
msgstr "Saisie par"
-#: backoffice/management.py:1555
+#: backoffice/management.py:1623
msgid "User Label"
msgstr "Nom de l’usager"
-#: backoffice/management.py:1582
+#: backoffice/management.py:1650
msgid "Anonymised"
msgstr "Anonymisé"
-#: backoffice/management.py:1642
+#: backoffice/management.py:1710
msgid "Start (modification time)"
msgstr "Début (date de modification)"
-#: backoffice/management.py:1643
+#: backoffice/management.py:1711
msgid "End (modification time)"
msgstr "Fin (date de modification)"
-#: backoffice/management.py:1856
+#: backoffice/management.py:1925
msgid "Listing"
msgstr "Listing"
-#: backoffice/management.py:1909
+#: backoffice/management.py:1978
#, python-format
msgid "Executing task \"%s\" on forms"
msgstr "Exécution de la tâche «%s» sur les formulaires"
-#: backoffice/management.py:1921
+#: backoffice/management.py:1990
msgid "Executing Task"
msgstr "Exécution de la tâche"
-#: backoffice/management.py:1937 forms/common.py:609
+#: backoffice/management.py:2006 forms/common.py:610
#: templates/wcs/backoffice/card-data-import-form.html:35
msgid "Back to Listing"
msgstr "Retour au listing"
-#: backoffice/management.py:1998
+#: backoffice/management.py:2067
msgid "Exporting forms in CSV"
msgstr "Export des formulaires en CSV"
-#: backoffice/management.py:2108
+#: backoffice/management.py:2177
msgid "Exporting forms in Excel format"
msgstr "Export des formulaires au format Excel"
-#: backoffice/management.py:2172
+#: backoffice/management.py:2241
msgid "Exporting forms in Open Document format"
msgstr "Export des formulaires au format Open Document"
-#: backoffice/management.py:2352 backoffice/management.py:2371 fields.py:2369
+#: backoffice/management.py:2421 backoffice/management.py:2440 fields.py:2369
msgid "Map"
msgstr "Carte"
-#: backoffice/management.py:2402 backoffice/management.py:2406
-#: backoffice/management.py:2409
+#: backoffice/management.py:2471 backoffice/management.py:2475
+#: backoffice/management.py:2478
#, python-format
msgid "Status: %s"
msgstr "Statut : %s"
-#: backoffice/management.py:2402
+#: backoffice/management.py:2471
msgid "Pending"
msgstr "En attente"
-#: backoffice/management.py:2444
+#: backoffice/management.py:2513
msgid "Total number of records:"
msgstr "Nombre total d’enregistrements :"
-#: backoffice/management.py:2536
+#: backoffice/management.py:2605
msgid "Resolution time"
msgstr "Durée pour la résolution"
-#: backoffice/management.py:2553
+#: backoffice/management.py:2622
#, python-format
msgid "To Status \"%s\""
msgstr "Vers le statut « %s »"
-#: backoffice/management.py:2556
+#: backoffice/management.py:2625
msgid "Minimum Time:"
msgstr "Temps minimum :"
-#: backoffice/management.py:2557
+#: backoffice/management.py:2626
msgid "Maximum Time:"
msgstr "Temps maximum :"
-#: backoffice/management.py:2558
+#: backoffice/management.py:2627
msgid "Range:"
msgstr "Étendue :"
-#: backoffice/management.py:2560
+#: backoffice/management.py:2629
msgid "Mean:"
msgstr "Moyenne :"
-#: backoffice/management.py:2566
+#: backoffice/management.py:2635
msgid "Median:"
msgstr "Médiane :"
-#: backoffice/management.py:2581
+#: backoffice/management.py:2650
msgid "Standard Deviation:"
msgstr "Écart type :"
-#: backoffice/management.py:2597
+#: backoffice/management.py:2666
msgid ""
"A missing or invalid custom view was referenced; you have been automatically "
"redirected."
@@ -3555,12 +3566,12 @@ msgstr ""
"Une vue personnalisée manquante ou invalide était référencée; vous avez été "
"automatiquement redirigé."
-#: backoffice/management.py:2621
+#: backoffice/management.py:2690
#, python-format
msgid "The form has been recorded on %(date)s with the number %(number)s."
msgstr "Le formulaire a été enregistré le %(date)s avec le numéro %(number)s."
-#: backoffice/management.py:2623
+#: backoffice/management.py:2692
#, python-format
msgid ""
"The form has been recorded on %(date)s with the number %(number)s by "
@@ -3569,7 +3580,7 @@ msgstr ""
"Le formulaire a été enregistré le %(date)s avec le numéro %(number)s par "
"%(agent)s."
-#: backoffice/management.py:2644
+#: backoffice/management.py:2713
msgid ""
"This form has been accessed via its tracking code, it is therefore displayed "
"like you were also its owner."
@@ -3577,230 +3588,240 @@ msgstr ""
"Vous avez accédé à ce formulaire via son code de suivi, vous le voyez donc "
"aussi comme l’usager."
-#: backoffice/management.py:2695
+#: backoffice/management.py:2764
msgid "General Information"
msgstr "Informations générales"
-#: backoffice/management.py:2724
+#: backoffice/management.py:2789 templates/wcs/backoffice/logged-error.html:20
+msgid "Status:"
+msgstr "Statut :"
+
+#: backoffice/management.py:2793
msgid "This status is not visible to users."
msgstr "Ce statut est caché au demandeur."
-#: backoffice/management.py:2735
+#: backoffice/management.py:2804
msgid "Criticality Level:"
msgstr "Criticité :"
-#: backoffice/management.py:2739
+#: backoffice/management.py:2808
#, python-format
msgid "This form has been anonymised on %(date)s."
msgstr "Ce formulaire a été anonymisé le %(date)s."
-#: backoffice/management.py:2759
+#: backoffice/management.py:2828
msgid "Download all files as .zip"
msgstr "Télécharger les fichiers joints"
-#: backoffice/management.py:2769
+#: backoffice/management.py:2838
msgid "Original form"
msgstr "Formulaire d’origine"
-#: backoffice/management.py:2772
+#: backoffice/management.py:2841
msgid "Original card"
msgstr "Fiche d’origine"
-#: backoffice/management.py:2779 backoffice/management.py:3153
+#: backoffice/management.py:2848 backoffice/management.py:3222
msgid "(deleted)"
msgstr "(supprimé)"
-#: backoffice/management.py:2792
+#: backoffice/management.py:2861
msgid "Open"
msgstr "Ouvrir"
-#: backoffice/management.py:2794
+#: backoffice/management.py:2863
msgid "Comments"
msgstr "Commentaire"
-#: backoffice/management.py:2803
+#: backoffice/management.py:2872
msgid "Associated User"
msgstr "Usager associé"
-#: backoffice/management.py:2838 backoffice/management.py:3056
-#: backoffice/management.py:3060
+#: backoffice/management.py:2907 backoffice/management.py:3125
+#: backoffice/management.py:3129
msgid "Data Inspector"
msgstr "Inspection des données"
-#: backoffice/management.py:2885
+#: backoffice/management.py:2954
msgid "User Pending Forms"
msgstr "Formulaires de cet usager en attente"
-#: backoffice/management.py:2942
+#: backoffice/management.py:3011
msgid "Condition (Django)"
msgstr "Condition (Django)"
-#: backoffice/management.py:2943
+#: backoffice/management.py:3012
msgid "Condition (Python)"
msgstr "Condition (Python)"
-#: backoffice/management.py:2945
+#: backoffice/management.py:3014
msgid "HTML Template (WYSIWYG)"
msgstr "Gabarit HTML (WYSIWYG)"
-#: backoffice/management.py:2970
+#: backoffice/management.py:3039
msgid "Evaluate"
msgstr "Évaluer"
-#: backoffice/management.py:2989 conditions.py:60
+#: backoffice/management.py:3058 conditions.py:60
msgid "Failed to evaluate condition"
msgstr "Erreur à l’évaluation de la condition"
-#: backoffice/management.py:2999
+#: backoffice/management.py:3061 backoffice/management.py:3064
+#: backoffice/management.py:3085 backoffice/management.py:3107
+#: templates/wcs/backoffice/logged-error.html:32
+msgid "Error message:"
+msgstr "Message d’erreur :"
+
+#: backoffice/management.py:3068
msgid "Condition result:"
msgstr "Résultat de la condition :"
-#: backoffice/management.py:3001 fields.py:1002
+#: backoffice/management.py:3070 fields.py:1002
msgid "True"
msgstr "Vrai"
-#: backoffice/management.py:3001
+#: backoffice/management.py:3070
msgid "False"
msgstr "Faux"
-#: backoffice/management.py:3005
+#: backoffice/management.py:3074
msgid "Python actual result is"
msgstr "Le résultat Python en retour est"
-#: backoffice/management.py:3014
+#: backoffice/management.py:3083
msgid "Failed to evaluate template"
msgstr "Erreur à l’évaluation du gabarit"
-#: backoffice/management.py:3019 backoffice/management.py:3042
+#: backoffice/management.py:3088 backoffice/management.py:3111
msgid "Template rendering:"
msgstr "Rendu du gabarit :"
-#: backoffice/management.py:3024 backoffice/management.py:3046
+#: backoffice/management.py:3093 backoffice/management.py:3115
msgid "HTML Source:"
msgstr "Source HTML :"
-#: backoffice/management.py:3036
+#: backoffice/management.py:3105
msgid "Failed to evaluate HTML template"
msgstr "Erreur à l’évaluation du gabarit HTML"
-#: backoffice/management.py:3065
+#: backoffice/management.py:3134
msgid "View Form"
msgstr "Voir le formulaire"
-#: backoffice/management.py:3069
+#: backoffice/management.py:3138
msgid "View Card"
msgstr "Voir le modèle de fiche"
-#: backoffice/management.py:3072
+#: backoffice/management.py:3141
msgid "View Workflow"
msgstr "Voir le workflow"
-#: backoffice/management.py:3079
+#: backoffice/management.py:3148
msgid "Test tools"
msgstr "Outils de test"
-#: backoffice/management.py:3123
+#: backoffice/management.py:3192
msgid "variables from parent's request"
msgstr "variables de la demande parente"
-#: backoffice/management.py:3155
+#: backoffice/management.py:3224
msgid "unset"
msgstr "non définie"
-#: backoffice/management.py:3163
+#: backoffice/management.py:3232
msgid "Markers Stack"
msgstr "Pile des marqueurs"
-#: backoffice/management.py:3177
+#: backoffice/management.py:3246
msgid "Related Forms/Cards"
msgstr "Demandes et fiches liées"
-#: backoffice/management.py:3272
+#: backoffice/management.py:3341
#, python-format
msgid "%s of User"
msgstr "%s de l’usager"
-#: backoffice/management.py:3288 qommon/misc.py:298
+#: backoffice/management.py:3357 qommon/misc.py:298
msgid "Sunday"
msgstr "dimanche"
-#: backoffice/management.py:3288 qommon/misc.py:297
+#: backoffice/management.py:3357 qommon/misc.py:297
msgid "Monday"
msgstr "lundi"
-#: backoffice/management.py:3288 qommon/misc.py:297
+#: backoffice/management.py:3357 qommon/misc.py:297
msgid "Tuesday"
msgstr "mardi"
-#: backoffice/management.py:3289 qommon/misc.py:297
+#: backoffice/management.py:3358 qommon/misc.py:297
msgid "Wednesday"
msgstr "mercredi"
-#: backoffice/management.py:3289 qommon/misc.py:298
+#: backoffice/management.py:3358 qommon/misc.py:298
msgid "Thursday"
msgstr "jeudi"
-#: backoffice/management.py:3289 qommon/misc.py:298
+#: backoffice/management.py:3358 qommon/misc.py:298
msgid "Friday"
msgstr "vendredi"
-#: backoffice/management.py:3289 qommon/misc.py:298
+#: backoffice/management.py:3358 qommon/misc.py:298
msgid "Saturday"
msgstr "samedi"
-#: backoffice/management.py:3311
+#: backoffice/management.py:3380
msgid "Submissions by year"
msgstr "Transmissions par année"
-#: backoffice/management.py:3314
+#: backoffice/management.py:3383
msgid "Submissions by month"
msgstr "Transmissions par mois"
-#: backoffice/management.py:3316
+#: backoffice/management.py:3385
msgid "Submissions by weekday"
msgstr "Transmissions par jour de la semaine"
-#: backoffice/management.py:3318
+#: backoffice/management.py:3387
msgid "Submissions by hour"
msgstr "Transmissions par heure"
-#: backoffice/management.py:3407
+#: backoffice/management.py:3476
#, python-format
msgid "%d day(s)"
msgstr "%d jour(s)"
-#: backoffice/management.py:3409
+#: backoffice/management.py:3478
#, python-format
msgid "%d hour(s)"
msgstr "%d heures(s)"
-#: backoffice/management.py:3411
+#: backoffice/management.py:3480
#, python-format
msgid "%d minute(s)"
msgstr "%d minute(s)"
-#: backoffice/management.py:3414
+#: backoffice/management.py:3483
#, python-format
msgid "%(days)d day(s) and %(hours)d hour(s)"
msgstr "%(days)d jour(s) et %(hours)d heure(s)"
-#: backoffice/management.py:3417
+#: backoffice/management.py:3486
#, python-format
msgid "%(hours)d hour(s) and %(minutes)d minute(s)"
msgstr "%(hours)d heure(s) et %(minutes)d minute(s)"
-#: backoffice/management.py:3420
+#: backoffice/management.py:3489
#, python-format
msgid "%(minutes)d minute(s) and %(seconds)d seconds"
msgstr "%(minutes)d minute(s) et %(seconds)d secondes"
-#: backoffice/management.py:3422
+#: backoffice/management.py:3491
#, python-format
msgid "%d seconds"
msgstr "%d secondes"
-#: backoffice/root.py:61 backoffice/submission.py:324
-#: backoffice/submission.py:325 backoffice/submission.py:442
+#: backoffice/root.py:61 backoffice/submission.py:327
+#: backoffice/submission.py:328 backoffice/submission.py:445
msgid "Submission"
msgstr "Saisie"
@@ -3817,7 +3838,7 @@ msgstr "Fabrique de formulaires"
msgid "Workflows Workshop"
msgstr "Fabrique de workflows"
-#: backoffice/root.py:135 forms/root.py:1535 qommon/backoffice/root.py:41
+#: backoffice/root.py:135 forms/root.py:1601 qommon/backoffice/root.py:41
msgid "Back Office"
msgstr "Backoffice"
@@ -3889,45 +3910,45 @@ msgstr "Supprimer"
msgid "Deleting Form"
msgstr "Suppression du formulaire"
-#: backoffice/submission.py:83 backoffice/submission.py:241 forms/root.py:909
-#: forms/root.py:911 forms/root.py:998
+#: backoffice/submission.py:86 backoffice/submission.py:244 forms/root.py:965
+#: forms/root.py:967 forms/root.py:1054
msgid "This form has already been submitted."
msgstr "Ce formulaire a déjà été enregistré."
-#: backoffice/submission.py:231
+#: backoffice/submission.py:234
msgid "Delete this form"
msgstr "Supprimer cette demande"
-#: backoffice/submission.py:354
+#: backoffice/submission.py:357
msgid "New submission"
msgstr "Nouvelle demande"
-#: backoffice/submission.py:355
+#: backoffice/submission.py:358
msgid "Running submission"
msgstr "Saisie entamée"
-#: backoffice/submission.py:356
+#: backoffice/submission.py:359
msgid "Submission to complete"
msgstr "Prédemande"
-#: backoffice/submission.py:411
+#: backoffice/submission.py:414
#, python-format
msgid "#%(id)s, %(time)s"
msgstr "n°%(id)s, %(time)s"
-#: blocks.py:154 formdef.py:1061
+#: blocks.py:154 formdef.py:1089
msgid "Unknown datasources"
msgstr "Sources de données inconnues"
-#: blocks.py:164 formdef.py:1080 workflows.py:614
+#: blocks.py:164 formdef.py:1109 workflows.py:639
msgid "Missing name"
msgstr "Nom manquant"
-#: blocks.py:172 formdef.py:1088
+#: blocks.py:172 formdef.py:1117
msgid "Unexpected root node"
msgstr "Élément racine inattendu"
-#: blocks.py:187 formdef.py:864 formdef.py:1109
+#: blocks.py:187 formdef.py:870 formdef.py:1138
msgid "Unknown field type"
msgstr "Type de champ inconnu"
@@ -3968,8 +3989,8 @@ msgid "Delete Card"
msgstr "Supprimer la fiche"
#: categories.py:113 categories.py:114 categories.py:115
-#: qommon/publisher.py:1036 qommon/publisher.py:1037 qommon/publisher.py:1038
-#: qommon/publisher.py:1039 qommon/publisher.py:1040 qommon/publisher.py:1041
+#: qommon/publisher.py:935 qommon/publisher.py:936 qommon/publisher.py:937
+#: qommon/publisher.py:938 qommon/publisher.py:939 qommon/publisher.py:940
msgid "General"
msgstr "Général"
@@ -4006,24 +4027,24 @@ msgstr "URL du JSONP"
msgid "GeoJSON URL"
msgstr "URL du GeoJSON"
-#: data_sources.py:445
+#: data_sources.py:477
#, python-format
msgid "Could not find element by id \"%s\""
msgstr "Impossible de trouver l’élément avec l’identifiant « %s »"
-#: data_sources.py:511 wf/wscall.py:219
+#: data_sources.py:543 wf/wscall.py:219
msgid "JSON"
msgstr "JSON"
-#: data_sources.py:512
+#: data_sources.py:544
msgid "JSONP"
msgstr "JSONP"
-#: data_sources.py:513
+#: data_sources.py:545
msgid "GeoJSON"
msgstr "GeoJSON"
-#: fields.py:60 workflows.py:1102 workflows.py:1147
+#: fields.py:60 workflows.py:1127 workflows.py:1172
msgid "String / Template"
msgstr "Texte / Gabarit"
@@ -4035,7 +4056,7 @@ msgstr "Champ utilisateur"
msgid "Email (builtin)"
msgstr "Courriel (builtin)"
-#: fields.py:111 workflows.py:2930
+#: fields.py:111 workflows.py:2956
msgid "Position"
msgstr "Position"
@@ -4080,7 +4101,7 @@ msgstr "Résumé de la demande"
msgid "Management Listings"
msgstr "Tableaux de traitement"
-#: fields.py:582 wf/attachment.py:171 workflows.py:2382
+#: fields.py:582 wf/attachment.py:172 workflows.py:2408
msgid "Required"
msgstr "Obligatoire"
@@ -4088,7 +4109,7 @@ msgstr "Obligatoire"
msgid "This is used as suffix for variable names."
msgstr "Utilisé comme suffixe pour les noms de variable."
-#: fields.py:587 wf/attachment.py:182 workflows.py:2368
+#: fields.py:587 wf/attachment.py:183 workflows.py:2394
msgid "Hint"
msgstr "Remarque"
@@ -4118,8 +4139,8 @@ msgstr ""
msgid "Subtitle"
msgstr "Sous-titre"
-#: fields.py:726 qommon/substitution.py:139 workflows.py:2295 workflows.py:2319
-#: workflows.py:2359
+#: fields.py:726 qommon/substitution.py:139 workflows.py:2321 workflows.py:2345
+#: workflows.py:2385
msgid "Comment"
msgstr "Commentaire"
@@ -4171,11 +4192,11 @@ msgstr "Case à cocher (choix unique)"
msgid "File Upload"
msgstr "Fichier"
-#: fields.py:1085 wf/attachment.py:208
+#: fields.py:1085 wf/attachment.py:209
msgid "File type suggestion"
msgstr "Suggestion du type de fichier"
-#: fields.py:1088 wf/attachment.py:212
+#: fields.py:1088 wf/attachment.py:213
msgid "Max file size"
msgstr "Taille maximale du fichier"
@@ -4302,7 +4323,7 @@ msgstr "Tableau"
msgid "Rows"
msgstr "Lignes"
-#: fields.py:2072 fields.py:2247 qommon/form.py:1509 qommon/form.py:1602
+#: fields.py:2072 fields.py:2247 qommon/form.py:1518 qommon/form.py:1611
msgid "Add row"
msgstr "Ajouter une ligne"
@@ -4470,114 +4491,114 @@ msgstr "Libellé du bouton « ajouter »"
msgid "Original Submitter"
msgstr "Expéditeur original"
-#: formdata.py:356
+#: formdata.py:357
msgid "Mail"
msgstr "Courrier"
-#: formdata.py:358
+#: formdata.py:359
msgid "Phone"
msgstr "Téléphone"
-#: formdata.py:359
+#: formdata.py:360
msgid "Counter"
msgstr "Guichet"
-#: formdata.py:360
+#: formdata.py:361
msgid "Fax"
msgstr "Télécopie"
-#: formdata.py:361 formdata.py:364
+#: formdata.py:362 formdata.py:365
msgid "Web"
msgstr "Web"
-#: formdata.py:603
+#: formdata.py:604
msgid "Failed to compute previous status"
msgstr "Erreur au calcul du statut précédent"
-#: formdata.py:890
+#: formdata.py:894
#, python-format
msgid "Form Field: %s"
msgstr "Champ du formulaire : %s"
-#: formdata.py:893
+#: formdata.py:897
msgid "Form Submitter Field"
msgstr "Champ de l’expéditeur du formulaire"
-#: formdata.py:1005
+#: formdata.py:1009
#, python-format
msgid "%(name)s #%(id)s"
msgstr "%(name)s - n°%(id)s"
-#: formdata.py:1213
+#: formdata.py:1217
msgid "Parent"
msgstr "Demande/fiche parente"
-#: formdata.py:1243 formdata.py:1246
+#: formdata.py:1247 formdata.py:1250
msgid "Evolution"
msgstr "Historique"
-#: formdata.py:1255
+#: formdata.py:1259
#, python-format
msgid "Could not find linked \"%(object_name)s\" object by id %(object_id)s"
msgstr ""
"Impossible de trouver « %(object_name)s » lié par l’identifiant %(object_id)s"
-#: formdata.py:1270
+#: formdata.py:1274
#, python-format
msgid "Linked object def by id %(object_id)s"
msgstr "Objet lié par l’identifiant %(object_id)s"
-#: formdata.py:1271 formdata.py:1281
+#: formdata.py:1275 formdata.py:1285
#, python-format
msgid "%s - not found"
msgstr "%s - non trouvé"
-#: formdata.py:1279
+#: formdata.py:1283
#, python-format
msgid "Linked \"%(object_name)s\" object by id %(object_id)s"
msgstr "Objet « %(object_name)s » lié par l’identifiant %(object_id)s"
-#: formdata.py:1318
+#: formdata.py:1322
msgid "Form Receipt Date"
msgstr "Date de réception du formulaire"
-#: formdata.py:1319
+#: formdata.py:1323
msgid "Form Receipt Time"
msgstr "Heure de réception du formulaire"
-#: formdata.py:1320
+#: formdata.py:1324
msgid "Form Number"
msgstr "Numéro du formulaire"
-#: formdata.py:1321
+#: formdata.py:1325
msgid "Form Details"
msgstr "Détails (données) du formulaire"
-#: formdata.py:1322
+#: formdata.py:1326
msgid "Form URL"
msgstr "URL du formulaire"
-#: formdata.py:1323
+#: formdata.py:1327
msgid "Form URL (backoffice)"
msgstr "URL du formulaire dans le backoffice"
-#: formdata.py:1324
+#: formdata.py:1328
msgid "Form Status URL"
msgstr "URL de status du formulaire"
-#: formdata.py:1325
+#: formdata.py:1329
msgid "Form Tracking Code"
msgstr "Code de suivi du formulaire"
-#: formdata.py:1326
+#: formdata.py:1330
msgid "Form Submitter Name"
msgstr "Nom de l’expéditeur du formulaire"
-#: formdata.py:1327
+#: formdata.py:1331
msgid "Form Submitter Email"
msgstr "Courriel de l’expéditeur du formulaire"
-#: formdef.py:562
+#: formdef.py:568
msgid ""
"There were errors processing the form and you cannot go to the next page. Do "
"check below that you filled all fields correctly."
@@ -4585,27 +4606,27 @@ msgstr ""
"Vous ne pouvez pas accéder à la page suivante. Vérifiez que vous avez rempli "
"tous les champs correctement."
-#: formdef.py:1068
+#: formdef.py:1096
msgid "Duplicated field identifiers"
msgstr "Identifiants de champ en double"
-#: formdef.py:1233
+#: formdef.py:1268
msgid "User name:"
msgstr "Nom de l’usager :"
-#: formdef.py:1317 forms/common.py:438
+#: formdef.py:1352 forms/common.py:439
msgid "User name"
msgstr "Nom de l’usager"
-#: formdef.py:1509
+#: formdef.py:1546
msgid "Notification of creation to user"
msgstr "Notification de création à l’utilisateur"
-#: formdef.py:1512 formdef.py:1553
+#: formdef.py:1549 formdef.py:1590
msgid "New form ({{ form_name }})"
msgstr "Nouvelle demande ({{ form_name }})"
-#: formdef.py:1513
+#: formdef.py:1550
msgid ""
"Hello,\n"
"\n"
@@ -4633,15 +4654,15 @@ msgstr ""
"{{ form_details }}\n"
"{% endif %}\n"
-#: formdef.py:1528
+#: formdef.py:1565
msgid "Notification of change to user"
msgstr "Notification de changement à l’utilisateur"
-#: formdef.py:1530 formdef.py:1570
+#: formdef.py:1567 formdef.py:1607
msgid "Form status change ({{ form_name }})"
msgstr "Changement de statut de la demande ({{ form_name }})"
-#: formdef.py:1531
+#: formdef.py:1568
msgid ""
"Hello,\n"
"\n"
@@ -4677,11 +4698,11 @@ msgstr ""
"{{ form_evolution }}\n"
"{% endif %}\n"
-#: formdef.py:1550
+#: formdef.py:1587
msgid "Notification of creation to receiver"
msgstr "Notification de création au destinataire"
-#: formdef.py:1554
+#: formdef.py:1591
msgid ""
"Hello,\n"
"\n"
@@ -4706,11 +4727,11 @@ msgstr ""
"{{ form_details }}\n"
"{% endif %}\n"
-#: formdef.py:1568
+#: formdef.py:1605
msgid "Notification of change to receiver"
msgstr "Notification de changement au destinataire"
-#: formdef.py:1571
+#: formdef.py:1608
msgid ""
"Hello,\n"
"\n"
@@ -4746,12 +4767,12 @@ msgstr ""
"{{ form_evolution }}\n"
"{% endif %}\n"
-#: formdef.py:1588
+#: formdef.py:1625
msgid "Form Name"
msgstr "Nom du formulaire"
#: forms/actions.py:34 qommon/admin/menu.py:125 qommon/admin/menu.py:128
-#: qommon/template.py:193 workflows.py:2928
+#: qommon/template.py:193 workflows.py:2954
msgid "Error"
msgstr "Erreur"
@@ -4771,31 +4792,31 @@ msgstr "Votre dossier a été pris en charge par :"
msgid "Your case is handled by:"
msgstr "Votre dossier est pris en charge par :"
-#: forms/common.py:434
+#: forms/common.py:435
msgid "Summary"
msgstr "Résumé"
-#: forms/common.py:520 wf/backoffice_fields.py:67 wf/backoffice_fields.py:85
+#: forms/common.py:521 wf/backoffice_fields.py:67 wf/backoffice_fields.py:85
msgid "Backoffice Data"
msgstr "Données de traitement"
-#: forms/common.py:573
+#: forms/common.py:574
msgid "less than a minute ago"
msgstr "il y a moins d’une minute"
-#: forms/common.py:575
+#: forms/common.py:576
#, python-format
msgid "less than %s minutes ago"
msgstr "il y a moins de %s minutes"
-#: forms/common.py:579
+#: forms/common.py:580
#, python-format
msgid "Be warned forms of this user are also being looked at by: %s."
msgstr ""
"Attention, les formulaires de cet utilisateur sont également consultés par : "
"%s."
-#: forms/common.py:586
+#: forms/common.py:587
msgid "(unlock actions)"
msgstr "(débloquer les actions)"
@@ -4824,116 +4845,116 @@ msgstr "Édition"
msgid "Validating"
msgstr "Validation"
-#: forms/root.py:347
+#: forms/root.py:445
msgid "Save Changes"
msgstr "Enregistrer les changements"
-#: forms/root.py:351 qommon/admin/menu.py:109
+#: forms/root.py:449 qommon/admin/menu.py:109
msgid "Next"
msgstr "Suivant"
-#: forms/root.py:354 forms/root.py:1324 qommon/admin/menu.py:108
+#: forms/root.py:452 forms/root.py:1390 qommon/admin/menu.py:108
msgid "Previous"
msgstr "Précédent"
-#: forms/root.py:460 forms/root.py:1327
+#: forms/root.py:515 forms/root.py:1393
msgid "Discard"
msgstr "Abandonner"
-#: forms/root.py:464 forms/root.py:1331
+#: forms/root.py:519 forms/root.py:1397
msgid "Save Draft"
msgstr "Sauvegarder en tant que brouillon"
-#: forms/root.py:469
+#: forms/root.py:524
msgid "leave this field blank to prove your humanity"
msgstr "Laissez ce champ vide pour prouver votre humanité"
-#: forms/root.py:513 forms/root.py:1478
+#: forms/root.py:568 forms/root.py:1544
msgid "Tracking code"
msgstr "Code de suivi"
-#: forms/root.py:536
+#: forms/root.py:591
msgid "Discard Draft"
msgstr "Supprimer le brouillon"
-#: forms/root.py:606
+#: forms/root.py:662
msgid "You need a stronger authentication level to fill this form."
msgstr ""
"Vous devez vous connecter avec une authentification plus forte pour accéder "
"à ce formulaire."
-#: forms/root.py:611
+#: forms/root.py:667
#, python-format
msgid "Login with %s"
msgstr "Connexion avec %s"
-#: forms/root.py:690
+#: forms/root.py:746
msgid "Sorry, your session have been lost."
msgstr "Désolé, votre session a été perdue."
-#: forms/root.py:879
+#: forms/root.py:935
msgid "Honey pot should be left untouched."
msgstr "Le pot de miel ne doit pas être touché."
-#: forms/root.py:1480
+#: forms/root.py:1546
msgid "ex: RPQDFVCD"
msgstr "ex : RPQDFVCD"
-#: forms/root.py:1481
+#: forms/root.py:1547
msgid "Load"
msgstr "Valider"
-#: forms/root.py:1538 forms/root.py:1547 root.py:175
+#: forms/root.py:1604 forms/root.py:1613 root.py:175
msgid "Register"
msgstr "S’inscrire"
-#: forms/root.py:1540
+#: forms/root.py:1606
msgid "Logout"
msgstr "Déconnexion"
-#: forms/root.py:1544 qommon/ident/idp.py:137 qommon/ident/password.py:218
+#: forms/root.py:1610 qommon/ident/idp.py:137 qommon/ident/password.py:218
#: qommon/ident/password.py:219 root.py:124
msgid "Login"
msgstr "S’identifier"
-#: forms/root.py:1556
+#: forms/root.py:1622
msgid "Your Current Drafts"
msgstr "Vos brouillons en cours"
-#: forms/root.py:1574
+#: forms/root.py:1640
#, python-format
msgid "Your forms with status \"%s\""
msgstr "Vos formulaires avec le statut « %s »"
-#: forms/root.py:1629
+#: forms/root.py:1695
msgid "already completed"
msgstr "déjà complétée"
-#: forms/root.py:1630
+#: forms/root.py:1696
msgid "review"
msgstr "relire"
-#: forms/root.py:1646
+#: forms/root.py:1712
msgid "authentication required"
msgstr "identification requise"
-#: forms/root.py:1684
+#: forms/root.py:1750
msgid "All forms"
msgstr "Tous les formulaires"
-#: forms/root.py:1717
+#: forms/root.py:1783
msgid "Welcome text on home page for logged users"
msgstr "Texte de bienvenue pour les utilisateurs identifiés"
-#: forms/root.py:1720
+#: forms/root.py:1786
msgid "Welcome text on home page for unlogged users"
msgstr "Texte de bienvenue pour les utilisateurs non-identifiés"
-#: forms/root.py:1723
+#: forms/root.py:1789
msgid "Explanation text before the CAPTCHA"
msgstr "Texte d’explication avant le CAPTCHA"
-#: forms/root.py:1724
+#: forms/root.py:1790
msgid ""
"Verification
\n"
"\n"
@@ -4948,11 +4969,11 @@ msgstr ""
"Il s’agit de prouver que vous êtes un humain et non un robot.\n"
"
"
-#: forms/root.py:1732
+#: forms/root.py:1798
msgid "Message when a form has been recorded"
msgstr "Message quand un formulaire a été enregistré"
-#: forms/root.py:1734
+#: forms/root.py:1800
msgid ""
"The form has been recorded on {{ form_receipt_datetime }} with the number "
"{{ form_number }}."
@@ -4960,7 +4981,7 @@ msgstr ""
"Le formulaire a été enregistré le {{ form_receipt_datetime }} avec le numéro "
"{{ form_number }}."
-#: forms/root.py:1737
+#: forms/root.py:1803
msgid ""
"Message when a form has been recorded, and the form is set to only allow one "
"per user"
@@ -4968,39 +4989,39 @@ msgstr ""
"Message quand un formulaire a été enregistré, et que le formulaire est créé "
"pour n’autoriser qu’un seul exemplaire par utilisateur"
-#: forms/root.py:1739
+#: forms/root.py:1805
msgid "The form has been recorded on {{ form_receipt_datetime }}."
msgstr "Le formulaire a été enregistré le {{ form_receipt_datetime }}."
-#: forms/root.py:1742
+#: forms/root.py:1808
msgid "Message when a form is displayed before validation"
msgstr "Message quand un formulaire est affiché pour validation"
-#: forms/root.py:1744
+#: forms/root.py:1810
msgid "Check values then click submit."
msgstr "Vérifiez le contenu du formulaire puis cliquez sur « Valider »."
-#: forms/root.py:1747
+#: forms/root.py:1813
msgid "Message in tracking code popup dialog"
msgstr "Message dans la fenêtre popup du code de suivi"
-#: forms/root.py:1749
+#: forms/root.py:1815
msgid "You can get a reminder of the tracking code by email."
msgstr "Obtenir un rappel du code de suivi par courriel."
-#: forms/root.py:1752
+#: forms/root.py:1818
msgid "Short text in the tracking code box"
msgstr "Text court dans la boîte du code de suivi"
-#: forms/root.py:1757 qommon/admin/emails.py:173 qommon/admin/texts.py:86
+#: forms/root.py:1823 qommon/admin/emails.py:173 qommon/admin/texts.py:86
msgid "Miscellaneous"
msgstr "Divers"
-#: forms/root.py:1758
+#: forms/root.py:1824
msgid "Tracking Code reminder"
msgstr "Rappel du code de suivi"
-#: forms/root.py:1759
+#: forms/root.py:1825
msgid ""
"Hello,\n"
"\n"
@@ -5280,11 +5301,11 @@ msgstr "champ obligatoire"
msgid "This field is required."
msgstr "Ce champ est obligatoire."
-#: qommon/form.py:314
+#: qommon/form.py:315
msgid "invalid value selected"
msgstr "valeur choisie invalide"
-#: qommon/form.py:330
+#: qommon/form.py:331
msgid ""
"The form you have submitted is invalid. Most likely it has been "
"successfully submitted once already. Please review the form data and submit "
@@ -5294,230 +5315,230 @@ msgstr ""
"est qu’il ait déjà été transmis une fois. Vérifiez les données du "
"formulaire avant de le soumettre à nouveau."
-#: qommon/form.py:334
+#: qommon/form.py:335
msgid "There were errors processing your form. See below for details."
msgstr ""
"Il y a eu un problème à la soumission du formulaire. Regardez ci-dessous "
"pour le détail."
-#: qommon/form.py:595
+#: qommon/form.py:596
#, python-format
msgid "Usable units of time: %s."
msgstr "Unités de temps utilisables : %s."
-#: qommon/form.py:617
+#: qommon/form.py:624
#, python-format
msgid "too many characters (limit is %d)"
msgstr "trop de caractères (la limite est à %d)"
-#: qommon/form.py:709
+#: qommon/form.py:716
msgid "Use previous file."
msgstr "Garder le fichier actuel."
-#: qommon/form.py:711
+#: qommon/form.py:718
msgid "Or upload a new one"
msgstr "Ou en télécharger un nouveau."
-#: qommon/form.py:823 root.py:309
+#: qommon/form.py:832 root.py:309
msgid "failed to store file (system error)"
msgstr "erreur système à l’enregistrement du fichier"
-#: qommon/form.py:838
+#: qommon/form.py:847
msgid "unknown storage system (system error)"
msgstr "système de stockage inconnu (erreur système)"
-#: qommon/form.py:870
+#: qommon/form.py:879
#, python-format
msgid "over file size limit (%s)"
msgstr "dépasse la taille limite (%s)"
-#: qommon/form.py:887
+#: qommon/form.py:896
msgid "invalid file type"
msgstr "type de fichier invalide"
-#: qommon/form.py:897
+#: qommon/form.py:906
msgid "forbidden file type"
msgstr "type de fichier interdit"
-#: qommon/form.py:921 qommon/form.py:923 qommon/form.py:925
+#: qommon/form.py:930 qommon/form.py:932 qommon/form.py:934
msgid "must be a valid email address"
msgstr "doit être une adresse électronique valide"
-#: qommon/form.py:932 qommon/form.py:938 qommon/form.py:946 qommon/form.py:948
+#: qommon/form.py:941 qommon/form.py:947 qommon/form.py:955 qommon/form.py:957
msgid "invalid address domain"
msgstr "domaine de l’adresse invalide"
-#: qommon/form.py:963
+#: qommon/form.py:972
msgid "Digits"
msgstr "Chiffres"
-#: qommon/form.py:968
+#: qommon/form.py:977
msgid "Phone Number"
msgstr "Numéro de téléphone"
-#: qommon/form.py:973
+#: qommon/form.py:982
msgid "Phone Number (France)"
msgstr "Numéro de téléphone (France)"
-#: qommon/form.py:978
+#: qommon/form.py:987
msgid "Zip Code (France)"
msgstr "Code postal (France)"
-#: qommon/form.py:983
+#: qommon/form.py:992
msgid "SIREN Code (France)"
msgstr "Code SIREN (France)"
-#: qommon/form.py:988
+#: qommon/form.py:997
msgid "SIRET Code (France)"
msgstr "Code SIRET (France)"
-#: qommon/form.py:993
+#: qommon/form.py:1002
msgid "NIR (France)"
msgstr "Numéro de sécurité sociale / NIR (France)"
-#: qommon/form.py:997
+#: qommon/form.py:1006
msgid "IBAN"
msgstr "IBAN"
-#: qommon/form.py:1000
+#: qommon/form.py:1009
msgid "Regular Expression"
msgstr "Expression rationnelle"
-#: qommon/form.py:1001
+#: qommon/form.py:1010
msgid "Django Condition"
msgstr "Condition (Django)"
-#: qommon/form.py:1105 qommon/form.py:1257
+#: qommon/form.py:1114 qommon/form.py:1266
msgid "invalid value"
msgstr "valeur invalide"
-#: qommon/form.py:1165 qommon/form.py:1169
+#: qommon/form.py:1174 qommon/form.py:1178
msgid "invalid date"
msgstr "date invalide"
-#: qommon/form.py:1172
+#: qommon/form.py:1181
#, python-format
msgid "invalid date: date must be on or after %s"
msgstr "date invalide : la date doit être postérieure ou égale à %s"
-#: qommon/form.py:1175
+#: qommon/form.py:1184
#, python-format
msgid "invalid date; date must be on or before %s"
msgstr "date invalide : la date doit être antérieure ou égale à %s"
-#: qommon/form.py:1221
+#: qommon/form.py:1230
msgid "invalid time"
msgstr "heure invalide"
-#: qommon/form.py:1270
+#: qommon/form.py:1279
msgid "invalid regular expression"
msgstr "expression rationnelle invalide"
-#: qommon/form.py:1334
+#: qommon/form.py:1343
#, python-format
msgid "You must select at most %d answers."
msgstr "Vous devez sélectionner au plus %d réponses."
-#: qommon/form.py:1387
+#: qommon/form.py:1396
msgid "wrong format"
msgstr "format invalide"
-#: qommon/form.py:1397
+#: qommon/form.py:1406
msgid "must start with http:// or https:// and have a domain name"
msgstr "doit commencer par http:// ou https:// et avoir un nom de domaine"
-#: qommon/form.py:1408
+#: qommon/form.py:1417
msgid "must only consist of letters, numbers, or underscore"
msgstr "uniquement des lettres, des chiffres et le tiret bas (_)"
-#: qommon/form.py:1417
+#: qommon/form.py:1426
msgid "Accepted units: MB (megabytes), kB (kilobytes), for example: 3 MB"
msgstr "Unités acceptées : Mo (mégaoctet), ko (kilooctet), par exemple : 3 Mo"
-#: qommon/form.py:1440
+#: qommon/form.py:1449
msgid "invalid file size"
msgstr "taille de fichier invalide"
-#: qommon/form.py:1461 qommon/form.py:1463
+#: qommon/form.py:1470 qommon/form.py:1472
msgid "plus"
msgstr "plus"
-#: qommon/form.py:1461 qommon/form.py:1463
+#: qommon/form.py:1470 qommon/form.py:1472
msgid "minus"
msgstr "moins"
-#: qommon/form.py:1463
+#: qommon/form.py:1472
msgid "times"
msgstr "fois"
-#: qommon/form.py:1472
+#: qommon/form.py:1481
#, python-format
msgid "What is the result of %(a)d %(op)s %(b)d?"
msgstr "Quel est le résultat de %(a)d %(op)s %(b)d ?"
-#: qommon/form.py:1476
+#: qommon/form.py:1485
msgid ""
"Please answer this simple mathematical question as proof you are not a bot."
msgstr ""
"Répondez à cette simple question mathématique pour montrer que vous n’êtes "
"pas un robot."
-#: qommon/form.py:1488
+#: qommon/form.py:1497
msgid "wrong answer"
msgstr "mauvaise réponse"
-#: qommon/form.py:1560
+#: qommon/form.py:1569
#, python-format
msgid "Too many elements (maximum: %s)"
msgstr "Trop d’éléments (maximum : %s)"
-#: qommon/form.py:2237
+#: qommon/form.py:2247
msgid "Confirmation"
msgstr "Confirmation"
-#: qommon/form.py:2283
+#: qommon/form.py:2293
msgid "Very weak"
msgstr "Très faible"
-#: qommon/form.py:2284
+#: qommon/form.py:2294
msgid "Weak"
msgstr "Faible"
-#: qommon/form.py:2285
+#: qommon/form.py:2295
msgid "Moderate"
msgstr "Moyenne"
-#: qommon/form.py:2286
+#: qommon/form.py:2296
msgid "Good"
msgstr "Bonne"
-#: qommon/form.py:2287
+#: qommon/form.py:2297
msgid "Strong"
msgstr "Forte"
-#: qommon/form.py:2288
+#: qommon/form.py:2298
msgid "Very strong"
msgstr "Très forte"
-#: qommon/form.py:2289
+#: qommon/form.py:2299
msgid "Password strength:"
msgstr "Robustesse du mot de passe :"
-#: qommon/form.py:2290
+#: qommon/form.py:2300
msgid "Too short"
msgstr "Trop court"
-#: qommon/form.py:2308 qommon/ident/password.py:97
+#: qommon/form.py:2318 qommon/ident/password.py:97
#, python-format
msgid "Password is too short. It must be at least %d characters."
msgstr "Le mot de passe est trop court. Il doit faire au moins %d caractères."
-#: qommon/form.py:2312 qommon/ident/password.py:100
+#: qommon/form.py:2322 qommon/ident/password.py:100
#, python-format
msgid "Password is too long. It must be at most %d characters."
msgstr "Le mot de passe est trop long. Il doit faire au plus %d caractères."
-#: qommon/form.py:2317 qommon/ident/password.py:106
+#: qommon/form.py:2327 qommon/ident/password.py:106
#, python-format
msgid "Password must contain an uppercase character."
msgid_plural "Password must contain at least %(count)d uppercase characters."
@@ -5525,7 +5546,7 @@ msgstr[0] "Le mot de passe doit contenir un caractère majuscule."
msgstr[1] ""
"Le mot de passe doit contenir au moins %(count)d caractères majuscules."
-#: qommon/form.py:2324 qommon/ident/password.py:114
+#: qommon/form.py:2334 qommon/ident/password.py:114
#, python-format
msgid "Password must contain a lowercase character."
msgid_plural "Password must contain at least %(count)d lowercase characters."
@@ -5533,14 +5554,14 @@ msgstr[0] "Le mot de passe doit contenir un caractère minuscule."
msgstr[1] ""
"Le mot de passe doit contenir au moins %(count)d caractères minuscules."
-#: qommon/form.py:2331 qommon/ident/password.py:122
+#: qommon/form.py:2341 qommon/ident/password.py:122
#, python-format
msgid "Password must contain a digit."
msgid_plural "Password must contain at least %(count)d digits."
msgstr[0] "Le mot de passe doit contenir un chiffre."
msgstr[1] "Le mot de passe doit contenir au moins %(count)d chiffres."
-#: qommon/form.py:2338 qommon/ident/password.py:130
+#: qommon/form.py:2348 qommon/ident/password.py:130
#, python-format
msgid "Password must contain a special character."
msgid_plural "Password must contain at least %(count)d special characters."
@@ -5548,24 +5569,24 @@ msgstr[0] "Le mot de passe doit contenir un caractère spécial."
msgstr[1] ""
"Le mot de passe doit contenir au moins %(count)d caractères spéciaux."
-#: qommon/form.py:2345 qommon/myspace.py:159
+#: qommon/form.py:2355 qommon/myspace.py:158
msgid "Passwords do not match"
msgstr "Les mots de passe ne sont pas identiques"
-#: qommon/form.py:2417
+#: qommon/form.py:2427
msgid "Other:"
msgstr "Autre :"
-#: qommon/form.py:2496
+#: qommon/form.py:2506
msgid "Python"
msgstr "Python"
-#: qommon/form.py:2518
+#: qommon/form.py:2528
msgid "invalid usage, Python expression cannot contain {{"
msgstr ""
"utilisation invalide, les expressions Python ne peuvent pas contenir {{"
-#: qommon/form.py:2522
+#: qommon/form.py:2532
#, python-format
msgid "syntax error in Python expression: %s"
msgstr "erreur de syntaxe dans l’expression Python: %s"
@@ -5671,7 +5692,7 @@ msgid_plural "%(total)s seconds"
msgstr[0] "%(total)s seconde"
msgstr[1] "%(total)s secondes"
-#: qommon/ident/franceconnect.py:43 qommon/publisher.py:901
+#: qommon/ident/franceconnect.py:43 qommon/publisher.py:800
msgid "FranceConnect"
msgstr "FranceConnect"
@@ -6238,7 +6259,7 @@ msgstr "Votre demande a été annulée"
msgid "Continue to home page"
msgstr "Continuer vers la page d’accueil"
-#: qommon/ident/password.py:419 qommon/myspace.py:142
+#: qommon/ident/password.py:419 qommon/myspace.py:141
msgid "New Password"
msgstr "Nouveau mot de passe"
@@ -6476,17 +6497,17 @@ msgstr "Modération du compte"
msgid "Reply by email"
msgstr "Réponse par email"
-#: qommon/ident/password.py:1254 qommon/ident/password.py:1387 workflows.py:837
+#: qommon/ident/password.py:1254 qommon/ident/password.py:1387 workflows.py:862
msgid "Accept"
msgstr "Accepter"
-#: qommon/ident/password.py:1256 qommon/ident/password.py:1389 workflows.py:845
+#: qommon/ident/password.py:1256 qommon/ident/password.py:1389 workflows.py:870
msgid "Reject"
msgstr "Refuser"
#: qommon/ident/password.py:1293 qommon/ident/password.py:1319
-#: wf/aggregation_email.py:48 wf/form.py:103 wf/notification.py:76
-#: workflows.py:2604 workflows.py:2816 workflows.py:2937
+#: wf/aggregation_email.py:48 wf/form.py:104 wf/notification.py:76
+#: workflows.py:2630 workflows.py:2842 workflows.py:2963
msgid "To"
msgstr "À"
@@ -7011,75 +7032,75 @@ msgstr "Fichiers vidéo"
msgid "Image files"
msgstr "Fichiers image"
-#: qommon/myspace.py:51 qommon/myspace.py:59
+#: qommon/myspace.py:50 qommon/myspace.py:58
msgid "My Space"
msgstr "Mon espace"
-#: qommon/myspace.py:65
+#: qommon/myspace.py:64
msgid "back office"
msgstr "backoffice"
-#: qommon/myspace.py:73
+#: qommon/myspace.py:72
msgid "My Profile"
msgstr "Mon profil"
-#: qommon/myspace.py:90
+#: qommon/myspace.py:89
msgid "Empty profile"
msgstr "Profil vide"
-#: qommon/myspace.py:92
+#: qommon/myspace.py:91
msgid "Edit My Profile"
msgstr "Modifier mon profil"
-#: qommon/myspace.py:95
+#: qommon/myspace.py:94
msgid "Change My Password"
msgstr "Modifier mon mot de passe"
-#: qommon/myspace.py:97
+#: qommon/myspace.py:96
msgid "Remove My Account"
msgstr "Supprimer mon compte"
-#: qommon/myspace.py:110
+#: qommon/myspace.py:109
msgid "Apply Changes"
msgstr "Enregistrer les changements"
-#: qommon/myspace.py:120
+#: qommon/myspace.py:119
msgid "Edit Profile"
msgstr "Modification du profil"
-#: qommon/myspace.py:144
+#: qommon/myspace.py:143
msgid "New Password (confirm)"
msgstr "Nouveau mot de passe (confirmation)"
-#: qommon/myspace.py:147 qommon/myspace.py:169
+#: qommon/myspace.py:146 qommon/myspace.py:168
msgid "Change Password"
msgstr "Changement de mot de passe"
-#: qommon/myspace.py:179
+#: qommon/myspace.py:178
msgid "Are you really sure you want to remove your account?"
msgstr "Êtes-vous vraiment sûr·e de vouloir supprimer votre compte ?"
-#: qommon/myspace.py:180
+#: qommon/myspace.py:179
msgid "Remove my account"
msgstr "Supprimer mon compte"
-#: qommon/myspace.py:196
+#: qommon/myspace.py:195
msgid "Removing Account"
msgstr "Suppression de compte"
-#: qommon/myspace.py:200
+#: qommon/myspace.py:199
msgid "Text on top of the profile page"
msgstr "Texte en haut de la page de profil"
-#: qommon/publisher.py:271
+#: qommon/publisher.py:269
msgid "This feature is not yet implemented."
msgstr "Cette fonctionnalité n’a pas encore été implémentée."
-#: qommon/publisher.py:272
+#: qommon/publisher.py:270
msgid "Sorry"
msgstr "Désolé"
-#: qommon/publisher.py:301
+#: qommon/publisher.py:299
msgid ""
"The server encountered an internal error and was unable to complete your "
"request."
@@ -7087,11 +7108,11 @@ msgstr ""
"Une erreur s’est produite sur le serveur; votre requête n’a ainsi pas pu "
"complètement être traîtée."
-#: qommon/publisher.py:302
+#: qommon/publisher.py:300
msgid "Internal Server Error"
msgstr "Erreur interne du serveur"
-#: qommon/publisher.py:863
+#: qommon/publisher.py:762
msgid ""
"Map data © OpenStreetMap "
"contributors, CC-BY-"
@@ -7101,31 +7122,31 @@ msgstr ""
"org'>OpenStreetMap, CC-BY-SA"
-#: qommon/publisher.py:900
+#: qommon/publisher.py:799
msgid "Belgian eID"
msgstr "Carte d’identité électronique — eID"
-#: qommon/publisher.py:1037
+#: qommon/publisher.py:936
msgid "Current Theme Name"
msgstr "Nom du thème actuel"
-#: qommon/publisher.py:1038
+#: qommon/publisher.py:937
msgid "Site URL"
msgstr "URL du site"
-#: qommon/publisher.py:1039
+#: qommon/publisher.py:938
msgid "Site URL (backoffice)"
msgstr "URL du backoffice"
-#: qommon/publisher.py:1040
+#: qommon/publisher.py:939
msgid "Current Date"
msgstr "Date actuelle"
-#: qommon/publisher.py:1041
+#: qommon/publisher.py:940
msgid "Current Date & Time"
msgstr "Date et heure actuelles"
-#: qommon/saml2.py:158 qommon/saml2.py:203 qommon/saml2.py:393
+#: qommon/saml2.py:158 qommon/saml2.py:203 qommon/saml2.py:387
msgid "SAML 2.0 support not yet configured."
msgstr "La prise en charge SAML 2.0 n’est pas encore configurée."
@@ -7133,7 +7154,7 @@ msgstr "La prise en charge SAML 2.0 n’est pas encore configurée."
msgid "Invalid authentication response"
msgstr "Réponse d’authentification invalide"
-#: qommon/saml2.py:226 qommon/saml2.py:640
+#: qommon/saml2.py:226 qommon/saml2.py:634
msgid "Failure to communicate with identity provider"
msgstr "Impossibilité de communiquer avec le fournisseur d’identités."
@@ -7166,15 +7187,15 @@ msgstr "Erreur d’authentification : pas de réponse reçue"
msgid "Unknown error"
msgstr "Erreur inconnue"
-#: qommon/saml2.py:381
+#: qommon/saml2.py:375
msgid "No SAML Response"
msgstr "Pas de réponse SAML"
-#: qommon/saml2.py:387
+#: qommon/saml2.py:381
msgid "No SAML Response in query string"
msgstr "Pas de réponse SAML dans la query string"
-#: qommon/saml2.py:630
+#: qommon/saml2.py:624
msgid "Could not send logout request to the identity provider"
msgstr ""
"Impossible d’envoyer une requête de déconnexion au fournisseur d’identités"
@@ -7425,7 +7446,7 @@ msgstr "Corriger"
msgid "unknown user"
msgstr "Utilisateur inconnu"
-#: snapshots.py:112
+#: snapshots.py:115
#, python-format
msgid "Restored snapshot %(id)s (%(timestamp)s)"
msgstr "Restauration de la sauvegarde %(id)s (%(timestamp)s)"
@@ -7528,7 +7549,36 @@ msgstr "Non configurée"
msgid "There are no data sources defined."
msgstr "Il n’y a pas de source de données définie."
-#: templates/wcs/backoffice/mail-template.html:4 workflows.py:2619
+#: templates/wcs/backoffice/logged-error.html:10
+msgid "First occurence:"
+msgstr "Première occurrence :"
+
+#: templates/wcs/backoffice/logged-error.html:11
+msgid "Latest occurence:"
+msgstr "Dernière occurrence :"
+
+#: templates/wcs/backoffice/logged-error.html:14
+#: templates/wcs/backoffice/logged-error.html:29
+msgid ":"
+msgstr " :"
+
+#: templates/wcs/backoffice/logged-error.html:17
+msgid "Workflow:"
+msgstr "Workflow :"
+
+#: templates/wcs/backoffice/logged-error.html:22
+msgid "Action:"
+msgstr "Action :"
+
+#: templates/wcs/backoffice/logged-error.html:35
+msgid "Data:"
+msgstr "Données :"
+
+#: templates/wcs/backoffice/logged-error.html:36
+msgid "inspector"
+msgstr "inspecteur"
+
+#: templates/wcs/backoffice/mail-template.html:4 workflows.py:2645
msgid "Mail Template"
msgstr "Modèle de courriel"
@@ -7698,15 +7748,15 @@ msgstr "Courriel de l’utilisateur connecté"
msgid "Daily Summary Email"
msgstr "Courriel récapitulatif quotidien"
-#: wf/aggregation_email.py:40 wf/redirect_to_url.py:33 workflows.py:2521
-#: workflows.py:2585
+#: wf/aggregation_email.py:40 wf/redirect_to_url.py:33 workflows.py:2547
+#: workflows.py:2611
#, python-format
msgid "to %s"
msgstr "vers %s"
-#: wf/aggregation_email.py:42 wf/attachment.py:111 wf/external_workflow.py:114
-#: wf/jump.py:154 wf/resubmit.py:47 workflows.py:2314 workflows.py:2446
-#: workflows.py:2525 workflows.py:2587 workflows.py:2999
+#: wf/aggregation_email.py:42 wf/attachment.py:112 wf/external_workflow.py:114
+#: wf/jump.py:154 wf/resubmit.py:47 workflows.py:2340 workflows.py:2472
+#: workflows.py:2551 workflows.py:2613 workflows.py:3025
msgid "not completed"
msgstr "pas complétée"
@@ -7718,55 +7768,55 @@ msgstr "Nouvelles arrivées"
msgid "Anonymisation"
msgstr "Anonymisation"
-#: wf/attachment.py:73 wf/wscall.py:219
+#: wf/attachment.py:74 wf/wscall.py:219
msgid "Attachment"
msgstr "Fichier joint"
-#: wf/attachment.py:115 wf/attachment.py:123 wf/attachment.py:173
-#: wf/attachment.py:178
+#: wf/attachment.py:116 wf/attachment.py:124 wf/attachment.py:174
+#: wf/attachment.py:179
msgid "Upload File"
msgstr "Transférer un fichier"
-#: wf/attachment.py:131
+#: wf/attachment.py:132
msgid "Missing file"
msgstr "Fichier manquant"
-#: wf/attachment.py:164 wf/export_to_model.py:360 wf/resubmit.py:121
-#: workflows.py:2370 workflows.py:2479 workflows.py:3016
+#: wf/attachment.py:165 wf/export_to_model.py:360 wf/resubmit.py:121
+#: workflows.py:2396 workflows.py:2505 workflows.py:3042
msgid "By"
msgstr "Par"
-#: wf/attachment.py:175
+#: wf/attachment.py:176
msgid "Display Title"
msgstr "Afficher le titre"
-#: wf/attachment.py:177 wf/export_to_model.py:374 wf/resubmit.py:127
-#: workflows.py:2364 workflows.py:3026
+#: wf/attachment.py:178 wf/export_to_model.py:374 wf/resubmit.py:127
+#: workflows.py:2390 workflows.py:3052
msgid "Button Label"
msgstr "Texte du bouton"
-#: wf/attachment.py:180
+#: wf/attachment.py:181
msgid "Display Button"
msgstr "Afficher le bouton"
-#: wf/attachment.py:185 wf/export_to_model.py:383 wf/resubmit.py:136
-#: workflows.py:2385 workflows.py:2490 workflows.py:3029
+#: wf/attachment.py:186 wf/export_to_model.py:383 wf/resubmit.py:136
+#: workflows.py:2411 workflows.py:2516 workflows.py:3055
msgid "Information Text for Backoffice"
msgstr "Texte d’information pour le backoffice"
-#: wf/attachment.py:191 wf/export_to_model.py:335 wf/wscall.py:235
+#: wf/attachment.py:192 wf/export_to_model.py:335 wf/wscall.py:235
msgid "Store in a backoffice file field"
msgstr "Enregistrer dans les données de traitement"
-#: wf/attachment.py:197
+#: wf/attachment.py:198
msgid "This is used to get attachment in expressions."
msgstr "Utilisé pour obtenir le fichier attaché dans des expressions."
-#: wf/attachment.py:200
+#: wf/attachment.py:201
msgid "Include in form history"
msgstr "Inclure dans l’historique du formulaire"
-#: wf/attachment.py:204
+#: wf/attachment.py:205
msgid "Push to portfolio"
msgstr "Envoyer dans le porte-document"
@@ -8045,20 +8095,20 @@ msgstr "action « %(trigger_name)s » sur %(object_name)s"
msgid "No trigger with id \"%s\" found in workflow"
msgstr "Pas de déclencheur avec l’identifiant « %s » trouvé dans le workflow"
-#: wf/form.py:55
+#: wf/form.py:56
#, python-format
msgid "Form action in workflow \"%s\""
msgstr "Action « formulaire » dans le workflow « %s »"
-#: wf/form.py:112
+#: wf/form.py:113
msgid "This is used as prefix for form fields variable names."
msgstr "Utilisé comme préfixe des noms de variable des champs du formulaire."
-#: wf/form.py:114
+#: wf/form.py:115
msgid "Edit Fields"
msgstr "Modifier les champs"
-#: wf/form.py:231
+#: wf/form.py:213
msgid "Form:"
msgstr "Formulaire :"
@@ -8082,7 +8132,7 @@ msgstr "Écraser la géolocalisation existante"
msgid "Automatic Jump"
msgstr "Saut automatique"
-#: wf/jump.py:157 workflows.py:2523
+#: wf/jump.py:157 workflows.py:2549
msgid "broken"
msgstr "cassé"
@@ -8351,139 +8401,139 @@ msgstr "Erreur lors de l’appel au webservice « %s »"
msgid "Error calling webservice"
msgstr "Erreur lors de l’appel au webservice"
-#: workflows.py:262
+#: workflows.py:287
#, python-format
msgid "Options of workflow \"%s\""
msgstr "Options du workflow « %s »"
-#: workflows.py:295
+#: workflows.py:320
#, python-format
msgid "Backoffice fields of workflow \"%s\""
msgstr "Données de traitement du workflow « %s »"
-#: workflows.py:327 workflows.py:335 workflows.py:741
+#: workflows.py:352 workflows.py:360 workflows.py:766
msgid "Recipient"
msgstr "Destinataire"
-#: workflows.py:394
+#: workflows.py:419
msgid "Reindexing forms after workflow change"
msgstr "Ré-indexation des demandes après modification du workflow"
-#: workflows.py:622
+#: workflows.py:647
msgid "Not a workflow"
msgstr "N’est pas un workflow"
-#: workflows.py:682 workflows.py:2266
+#: workflows.py:707 workflows.py:2292
msgid "role|User"
msgstr "role|Usager"
-#: workflows.py:695
+#: workflows.py:720
msgid "Add Function"
msgstr "Ajouter une fonction"
-#: workflows.py:696
+#: workflows.py:721
msgid "Add Function or Role"
msgstr "Ajouter une fonction ou un rôle"
-#: workflows.py:742
+#: workflows.py:767
msgid "Just Submitted"
msgstr "Juste envoyé"
-#: workflows.py:746
+#: workflows.py:771
msgid "Rejected"
msgstr "Rejeté"
-#: workflows.py:748
+#: workflows.py:773
msgid "Accepted"
msgstr "Accepté"
-#: workflows.py:750
+#: workflows.py:775
msgid "Finished"
msgstr "Terminé"
-#: workflows.py:853
+#: workflows.py:878
msgid "Finish"
msgstr "Terminer"
-#: workflows.py:1016
+#: workflows.py:1041
#, python-format
msgid "Unknown referenced role (%s)"
msgstr "Référence à un rôle inconnu (%s)"
-#: workflows.py:1054
+#: workflows.py:1079
#, python-format
msgid "Manual by %s"
msgstr "Manuel par %s"
-#: workflows.py:1057
+#: workflows.py:1082
msgid "Manual (not assigned)"
msgstr "Manuel (non assigné)"
-#: workflows.py:1098
+#: workflows.py:1123
msgid "Creation"
msgstr "Création"
-#: workflows.py:1099 workflows.py:1155
+#: workflows.py:1124 workflows.py:1180
msgid "First arrival in status"
msgstr "Premier passage dans le statut"
-#: workflows.py:1100 workflows.py:1161
+#: workflows.py:1125 workflows.py:1186
msgid "Latest arrival in status"
msgstr "Dernier passage dans le statut"
-#: workflows.py:1101
+#: workflows.py:1126
msgid "Arrival in final status"
msgstr "Arrivée dans un statut final"
-#: workflows.py:1103 workflows.py:1141
+#: workflows.py:1128 workflows.py:1166
msgid "Python expression"
msgstr "Expression Python"
-#: workflows.py:1124
+#: workflows.py:1149
#, python-format
msgid "Automatic, %(timeout)s, relative to: %(anchor)s"
msgstr "Automatique, %(timeout)s, relative à : %(anchor)s"
-#: workflows.py:1126
+#: workflows.py:1151
#, python-format
msgid "%s days"
msgstr "%s jours"
-#: workflows.py:1128
+#: workflows.py:1153
msgid "Automatic (not configured)"
msgstr "Automatique (non configurée)"
-#: workflows.py:1133
+#: workflows.py:1158
msgid "Reference Date"
msgstr "Date de référence"
-#: workflows.py:1137
+#: workflows.py:1162
msgid "Python Expression to get reference date"
msgstr "Expression Python pour la date de référence"
-#: workflows.py:1139
+#: workflows.py:1164
msgid "This should produce a date; it will only apply to open forms."
msgstr ""
"Doit donner une date; cela s’appliquera uniquement aux demandes ouvertes."
-#: workflows.py:1143
+#: workflows.py:1168
msgid "String / Template with reference date"
msgstr "Texte / Gabarit avec la date de référence"
-#: workflows.py:1145
+#: workflows.py:1170
msgid "This should be a date; it will only apply to open forms."
msgstr ""
"Doit donner une date; cela s’appliquera uniquement aux demandes ouvertes."
-#: workflows.py:1149
+#: workflows.py:1174
msgid "Current Status"
msgstr "Statut actuel"
-#: workflows.py:1164
+#: workflows.py:1189
msgid "Delay (in days)"
msgstr "Délai (en jours)"
-#: workflows.py:1168
+#: workflows.py:1193
msgid ""
"\n"
" Number of days relative to the reference date. If the\n"
@@ -8498,45 +8548,45 @@ msgstr ""
" délai négatif est accepté pour déclencher l’action avant \n"
" la date."
-#: workflows.py:1335
+#: workflows.py:1360
#, python-format
msgid "External call (%s)"
msgstr "Appel externe (%s)"
-#: workflows.py:1337
+#: workflows.py:1362
msgid "External call (not configured)"
msgstr "Appel externe (non configuré)"
-#: workflows.py:1800
+#: workflows.py:1825
msgid "conditional"
msgstr "condition"
-#: workflows.py:1857
+#: workflows.py:1882
msgid "Condition of execution of the action"
msgstr "Condition d’exécution de l’action"
-#: workflows.py:1864
+#: workflows.py:1889
msgid "Attachments"
msgstr "Fichiers attachés"
-#: workflows.py:1915
+#: workflows.py:1940
#, python-format
msgid "Unknown (%s)"
msgstr "Inconnu (%s)"
-#: workflows.py:1984
+#: workflows.py:2009
msgid "Failed to compute template"
msgstr "Erreur au calcul du gabarit"
-#: workflows.py:1986
+#: workflows.py:2011
msgid "Failed to compute Python expression"
msgstr "Erreur au calcul de l’expression Python"
-#: workflows.py:2035 workflows.py:2218
+#: workflows.py:2060 workflows.py:2244
msgid "Previously Marked Status"
msgstr "Statut précédemment marqué"
-#: workflows.py:2044
+#: workflows.py:2069
#, python-format
msgid ""
"reference to invalid status %(target)s in status %(status)s, action "
@@ -8545,36 +8595,36 @@ msgstr ""
"référence à un statut invalide (n° %(target)s) dans l’action "
"« %(status_item)s » du statut « %(status)s »"
-#: workflows.py:2060
+#: workflows.py:2085
msgid "by"
msgstr "par"
-#: workflows.py:2062
+#: workflows.py:2087
msgid "(to last marker)"
msgstr "(vers le dernier marqueur)"
-#: workflows.py:2064 workflows.py:2433
+#: workflows.py:2089 workflows.py:2459
msgid "(and set marker)"
msgstr "(et poser un marqueur)"
-#: workflows.py:2127
+#: workflows.py:2152
#, python-format
msgid "Unknown referenced mail template (%s)"
msgstr "Référence à un modèle de courriel inconnu (%s)"
-#: workflows.py:2229
+#: workflows.py:2255
msgid "Set marker to jump back to current status"
msgstr "Poser un marqueur qui permettra de revenir au statut actuel"
-#: workflows.py:2326 workflows.py:2363
+#: workflows.py:2352 workflows.py:2389
msgid "Add Comment"
msgstr "Ajouter le commentaire"
-#: workflows.py:2365
+#: workflows.py:2391
msgid "(empty to disable the button)"
msgstr "(vide pour ne pas afficher de bouton)"
-#: workflows.py:2379
+#: workflows.py:2405
msgid ""
"This will make the comment available in a variable named comment_ + "
"identifier."
@@ -8582,45 +8632,45 @@ msgstr ""
"Cela rendra le commentaire disponible dans une variable nommée comment_ + "
"identifiant."
-#: workflows.py:2410
+#: workflows.py:2436
msgid "Manual Jump"
msgstr "Saut manuel"
-#: workflows.py:2427
+#: workflows.py:2453
msgid "computed label"
msgstr "libellé calculé"
-#: workflows.py:2435
+#: workflows.py:2461
#, python-format
msgid "\"%(label)s\" by %(by)s%(more)s"
msgstr "« %(label)s » par %(by)s%(more)s"
-#: workflows.py:2441
+#: workflows.py:2467
#, python-format
msgid "\"%(label)s\"%(more)s"
msgstr "« %(label)s »%(more)s"
-#: workflows.py:2486
+#: workflows.py:2512
msgid "Require confirmation"
msgstr "Demander une confirmation"
-#: workflows.py:2498
+#: workflows.py:2524
msgid "Ignore form errors"
msgstr "Ne pas effectuer de validation des champs"
-#: workflows.py:2514
+#: workflows.py:2540
msgid "On Submit Jump"
msgstr "Saut à la soumission"
-#: workflows.py:2571
+#: workflows.py:2597
msgid "computed value"
msgstr "valeur calculée"
-#: workflows.py:2632
+#: workflows.py:2658
msgid "Custom From Address"
msgstr "Adresse d’expéditeur personnalisée"
-#: workflows.py:2656
+#: workflows.py:2682
#, python-format
msgid ""
"reference to invalid mail template %(mail_template)s in status %(status)s"
@@ -8628,72 +8678,72 @@ msgstr ""
"référence à un modèle de courriel invalide (%(mail_template)s dans le statut "
"« %(status)s »)"
-#: workflows.py:2818
+#: workflows.py:2844
msgid "Add Number"
msgstr "Ajouter un numéro"
-#: workflows.py:2858
+#: workflows.py:2884
msgid "Alert"
msgstr "Alerte"
-#: workflows.py:2872
+#: workflows.py:2898
msgid "top of page"
msgstr "haut de la page"
-#: workflows.py:2874
+#: workflows.py:2900
msgid "bottom of page"
msgstr "bas de la page"
-#: workflows.py:2876
+#: workflows.py:2902
msgid "with actions"
msgstr "accompagnant les actions"
-#: workflows.py:2878
+#: workflows.py:2904
#, python-format
msgid "for %s"
msgstr "pour %s"
-#: workflows.py:2922
+#: workflows.py:2948
msgid "Level"
msgstr "Niveau"
-#: workflows.py:2925
+#: workflows.py:2951
msgid "Success"
msgstr "Succès"
-#: workflows.py:2927
+#: workflows.py:2953
msgid "Warning"
msgstr "Avertissement"
-#: workflows.py:2932
+#: workflows.py:2958
msgid "Top of page"
msgstr "Haut de la page"
-#: workflows.py:2933
+#: workflows.py:2959
msgid "Bottom of page"
msgstr "Bas de la page"
-#: workflows.py:2958
+#: workflows.py:2984
msgid "Status Page Redirection"
msgstr "Redirection vers la page de statut"
-#: workflows.py:2972
+#: workflows.py:2998
msgid "Redirect to backoffice page"
msgstr "Redirection vers la page de backoffice"
-#: workflows.py:2983
+#: workflows.py:3009
msgid "Edition"
msgstr "Édition"
-#: workflows.py:3004
+#: workflows.py:3030
msgid "Edit Form"
msgstr "Modifier le formulaire"
-#: workflows.py:3022
+#: workflows.py:3048
msgid "Status After Edit"
msgstr "Statut après modification"
-#: workflows.py:3023
+#: workflows.py:3049
msgid "Don't select any if you don't want status change processing"
msgstr "N’en sélectionnez aucun si vous ne voulez pas de changement de statut"