Version 0.1.54 0.1.54
authorThierry Florac <tflorac@ulthar.net>
Wed, 02 Oct 2019 10:54:19 +0200
changeset 1359 a28a08bb2d4e
parent 1358 c682811fa1ea
child 1360 aeda74fe562f
Version 0.1.54
buildout.cfg
docs/HISTORY.txt
setup.py
src/pyams_content.egg-info/PKG-INFO
src/pyams_content/locales/fr/LC_MESSAGES/pyams_content.mo
src/pyams_content/locales/fr/LC_MESSAGES/pyams_content.po
src/pyams_content/locales/pyams_content.pot
--- a/buildout.cfg	Tue Oct 01 12:04:20 2019 +0200
+++ b/buildout.cfg	Wed Oct 02 10:54:19 2019 +0200
@@ -85,4 +85,4 @@
 eggs = pyams_content [test]
 
 [versions]
-pyams_content = 0.1.53
+pyams_content = 0.1.54
--- a/docs/HISTORY.txt	Tue Oct 01 12:04:20 2019 +0200
+++ b/docs/HISTORY.txt	Wed Oct 02 10:54:19 2019 +0200
@@ -1,6 +1,12 @@
 History
 =======
 
+0.1.54
+------
+ - added contributor restrictions to allow contributors to manage contents owned by other
+   principals
+ - updated required permission in typed shared contents properties edit form
+
 0.1.53
 ------
  - added interfaces and subscribers to be able to provide additional information to an internal
--- a/setup.py	Tue Oct 01 12:04:20 2019 +0200
+++ b/setup.py	Wed Oct 02 10:54:19 2019 +0200
@@ -24,7 +24,7 @@
 README = os.path.join(DOCS, 'README.txt')
 HISTORY = os.path.join(DOCS, 'HISTORY.txt')
 
-version = '0.1.53'
+version = '0.1.54'
 long_description = open(README).read() + '\n\n' + open(HISTORY).read()
 
 tests_require = []
--- a/src/pyams_content.egg-info/PKG-INFO	Tue Oct 01 12:04:20 2019 +0200
+++ b/src/pyams_content.egg-info/PKG-INFO	Wed Oct 02 10:54:19 2019 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: pyams-content
-Version: 0.1.53
+Version: 0.1.54
 Summary: PyAMS base content interfaces and classes
 Home-page: http://hg.ztfy.org/pyams/pyams_content
 Author: Thierry Florac
@@ -72,6 +72,12 @@
         History
         =======
         
+        0.1.54
+        ------
+         - added contributor restrictions to allow contributors to manage contents owned by other
+           principals
+         - updated required permission in typed shared contents properties edit form
+        
         0.1.53
         ------
          - added interfaces and subscribers to be able to provide additional information to an internal
Binary file src/pyams_content/locales/fr/LC_MESSAGES/pyams_content.mo has changed
--- a/src/pyams_content/locales/fr/LC_MESSAGES/pyams_content.po	Tue Oct 01 12:04:20 2019 +0200
+++ b/src/pyams_content/locales/fr/LC_MESSAGES/pyams_content.po	Wed Oct 02 10:54:19 2019 +0200
@@ -5,7 +5,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE 1.0\n"
-"POT-Creation-Date: 2019-09-25 17:04+0200\n"
+"POT-Creation-Date: 2019-10-01 11:55+0200\n"
 "PO-Revision-Date: 2015-09-10 10:42+0200\n"
 "Last-Translator: Thierry Florac <tflorac@ulthar.net>\n"
 "Language-Team: French\n"
@@ -44,9 +44,9 @@
 msgid "Comment content"
 msgstr "Commenter un contenu"
 
-#: src/pyams_content/__init__.py:52 src/pyams_content/workflow/__init__.py:464
-#: src/pyams_content/workflow/__init__.py:486
-#: src/pyams_content/workflow/basic.py:296
+#: src/pyams_content/__init__.py:52 src/pyams_content/workflow/__init__.py:490
+#: src/pyams_content/workflow/__init__.py:512
+#: src/pyams_content/workflow/basic.py:308
 msgid "Publish content"
 msgstr "Publier le contenu"
 
@@ -1076,7 +1076,7 @@
 
 #: src/pyams_content/component/paragraph/interfaces/header.py:33
 #: src/pyams_content/component/paragraph/interfaces/header.py:40
-#: src/pyams_content/shared/common/interfaces/__init__.py:153
+#: src/pyams_content/shared/common/interfaces/__init__.py:160
 #: src/pyams_content/shared/site/interfaces.py:81
 msgid "Header"
 msgstr "Chapô"
@@ -1377,7 +1377,7 @@
 
 #: src/pyams_content/component/paragraph/interfaces/__init__.py:101
 #: src/pyams_content/shared/common/zmi/types/manager.py:148
-#: src/pyams_content/shared/common/zmi/types/__init__.py:235
+#: src/pyams_content/shared/common/zmi/types/__init__.py:241
 msgid "Default paragraphs"
 msgstr "Types de blocs par défaut"
 
@@ -1778,7 +1778,7 @@
 #: src/pyams_content/component/paragraph/zmi/__init__.py:262
 #: src/pyams_content/component/paragraph/zmi/__init__.py:275
 #: src/pyams_content/features/review/zmi/__init__.py:84
-#: src/pyams_content/shared/common/zmi/__init__.py:272
+#: src/pyams_content/shared/common/zmi/__init__.py:299
 #: src/pyams_content/shared/common/zmi/owner.py:73
 #: src/pyams_content/shared/common/zmi/workflow.py:119
 #: src/pyams_content/shared/common/zmi/workflow.py:206
@@ -3204,14 +3204,14 @@
 msgstr "Description du moteur de recherche"
 
 #: src/pyams_content/features/search/interfaces.py:53
-#: src/pyams_content/shared/common/interfaces/__init__.py:51
-#: src/pyams_content/shared/common/interfaces/__init__.py:198
+#: src/pyams_content/shared/common/interfaces/__init__.py:53
+#: src/pyams_content/shared/common/interfaces/__init__.py:209
 msgid "Managers"
 msgstr "Responsables"
 
 #: src/pyams_content/features/search/interfaces.py:54
-#: src/pyams_content/shared/common/interfaces/__init__.py:52
-#: src/pyams_content/shared/common/interfaces/__init__.py:199
+#: src/pyams_content/shared/common/interfaces/__init__.py:54
+#: src/pyams_content/shared/common/interfaces/__init__.py:210
 msgid ""
 "Managers can handle main operations in tool's workflow, like publish or "
 "retire contents"
@@ -3221,24 +3221,24 @@
 "restrictions qui leur sont imposées"
 
 #: src/pyams_content/features/search/interfaces.py:59
-#: src/pyams_content/shared/common/interfaces/__init__.py:62
-#: src/pyams_content/shared/common/interfaces/__init__.py:210
+#: src/pyams_content/shared/common/interfaces/__init__.py:65
+#: src/pyams_content/shared/common/interfaces/__init__.py:221
 msgid "Designers"
 msgstr "Designers"
 
 #: src/pyams_content/features/search/interfaces.py:60
-#: src/pyams_content/shared/common/interfaces/__init__.py:63
-#: src/pyams_content/shared/common/interfaces/__init__.py:211
+#: src/pyams_content/shared/common/interfaces/__init__.py:66
+#: src/pyams_content/shared/common/interfaces/__init__.py:222
 msgid "Designers are users which are allowed to manage presentation templates"
 msgstr "Les designers sont autorisés à configurer les modèles de présentation"
 
 #: src/pyams_content/features/search/interfaces.py:64
-#: src/pyams_content/shared/common/interfaces/__init__.py:221
+#: src/pyams_content/shared/common/interfaces/__init__.py:233
 msgid "Guests"
 msgstr "Invités"
 
 #: src/pyams_content/features/search/interfaces.py:65
-#: src/pyams_content/shared/common/interfaces/__init__.py:222
+#: src/pyams_content/shared/common/interfaces/__init__.py:234
 msgid ""
 "Guests are users which are allowed to view contents with restricted access"
 msgstr ""
@@ -4906,7 +4906,7 @@
 msgstr "Article (dans un blog)"
 
 #: src/pyams_content/shared/blog/interfaces.py:67
-#: src/pyams_content/shared/common/interfaces/__init__.py:159
+#: src/pyams_content/shared/common/interfaces/__init__.py:167
 #: src/pyams_content/shared/site/interfaces.py:85
 #: src/pyams_content/shared/site/interfaces.py:130
 msgid "Meta-description"
@@ -4924,7 +4924,7 @@
 "(s'il existe pour ce contenu) sera utilisé."
 
 #: src/pyams_content/shared/blog/interfaces.py:73
-#: src/pyams_content/shared/common/interfaces/__init__.py:171
+#: src/pyams_content/shared/common/interfaces/__init__.py:182
 #: src/pyams_content/shared/site/interfaces.py:91
 #: src/pyams_content/shared/site/interfaces.py:136
 #: src/pyams_content/shared/site/zmi/folder.py:74
@@ -4932,7 +4932,7 @@
 msgstr "Bloc-notes"
 
 #: src/pyams_content/shared/blog/interfaces.py:74
-#: src/pyams_content/shared/common/interfaces/__init__.py:172
+#: src/pyams_content/shared/common/interfaces/__init__.py:183
 #: src/pyams_content/shared/site/interfaces.py:92
 #: src/pyams_content/shared/site/interfaces.py:137
 #: src/pyams_content/shared/site/zmi/folder.py:75
@@ -5060,9 +5060,9 @@
 "displayed instead of content type"
 msgstr ""
 "Certains modes de rendu peuvent afficher une étiquette au dessus de chaque "
-"résultat pour indiquer leur gabarit ; si cette option est sélectionnée, c'est le "
-"libellé de ce type qui sera affiché (lorsqu'il correspond au type du contenu) "
-"au lieu du nom du gabarit"
+"résultat pour indiquer leur gabarit ; si cette option est sélectionnée, "
+"c'est le libellé de ce type qui sera affiché (lorsqu'il correspond au type "
+"du contenu) au lieu du nom du gabarit"
 
 #: src/pyams_content/shared/common/interfaces/types.py:85
 msgid "Field names"
@@ -5089,11 +5089,11 @@
 "Les webmestres peuvent modifier et gérer tous les contenus, y compris ceux "
 "qui sont publiés et hormis ceux qui sont archivés"
 
-#: src/pyams_content/shared/common/interfaces/__init__.py:45
+#: src/pyams_content/shared/common/interfaces/__init__.py:46
 msgid "Pilots"
 msgstr "Pilotes"
 
-#: src/pyams_content/shared/common/interfaces/__init__.py:46
+#: src/pyams_content/shared/common/interfaces/__init__.py:47
 msgid ""
 "Pilots can handle tool configuration, manage access rules, grant users roles "
 "and manage managers restrictions"
@@ -5102,28 +5102,28 @@
 "et les contributeurs, et limitent si nécessaire l'intervention des "
 "responsables à certains contenus"
 
-#: src/pyams_content/shared/common/interfaces/__init__.py:57
-#: src/pyams_content/shared/common/interfaces/__init__.py:204
+#: src/pyams_content/shared/common/interfaces/__init__.py:59
+#: src/pyams_content/shared/common/interfaces/__init__.py:215
 msgid "Contributors"
 msgstr "Contributeurs"
 
-#: src/pyams_content/shared/common/interfaces/__init__.py:58
+#: src/pyams_content/shared/common/interfaces/__init__.py:60
 msgid "Contributors are users which are allowed to create new contents"
 msgstr "Les contributeurs sont autorisés à créer de nouveaux contenus"
 
-#: src/pyams_content/shared/common/interfaces/__init__.py:89
+#: src/pyams_content/shared/common/interfaces/__init__.py:93
 msgid "Workflow name"
 msgstr "Nom du workflow"
 
-#: src/pyams_content/shared/common/interfaces/__init__.py:90
+#: src/pyams_content/shared/common/interfaces/__init__.py:94
 msgid "Name of workflow utility used to manage tool contents"
 msgstr "Nom du workflow qui gère le cycle de vie des contenus de cet outil"
 
-#: src/pyams_content/shared/common/interfaces/__init__.py:121
+#: src/pyams_content/shared/common/interfaces/__init__.py:126
 msgid "Content URL"
 msgstr "URL du contenu"
 
-#: src/pyams_content/shared/common/interfaces/__init__.py:122
+#: src/pyams_content/shared/common/interfaces/__init__.py:127
 msgid ""
 "URL used to access this content; this is important for SEO and should "
 "include most important words describing content; spaces and underscores will "
@@ -5137,11 +5137,11 @@
 "d'union, les lettres accentuées par leur équivalent sans accent, et les mots "
 "de moins de trois lettres sont supprimés."
 
-#: src/pyams_content/shared/common/interfaces/__init__.py:129
+#: src/pyams_content/shared/common/interfaces/__init__.py:136
 msgid "Version creator"
 msgstr "À l'origine de cette version"
 
-#: src/pyams_content/shared/common/interfaces/__init__.py:130
+#: src/pyams_content/shared/common/interfaces/__init__.py:137
 msgid ""
 "Name of content's version creator. The creator of the first version is also "
 "it's owner."
@@ -5149,43 +5149,43 @@
 "Nom du créateur de cette version. Le créateur de la première version d'un "
 "contenu est aussi son propriétaire."
 
-#: src/pyams_content/shared/common/interfaces/__init__.py:134
+#: src/pyams_content/shared/common/interfaces/__init__.py:141
 msgid "First owner"
 msgstr "Premier propriétaire"
 
-#: src/pyams_content/shared/common/interfaces/__init__.py:135
+#: src/pyams_content/shared/common/interfaces/__init__.py:142
 msgid "Name of content's first version owner"
 msgstr "Nom de l'utilisateur ayant créé la première version"
 
-#: src/pyams_content/shared/common/interfaces/__init__.py:139
+#: src/pyams_content/shared/common/interfaces/__init__.py:146
 msgid "Version creation"
 msgstr "Date de création"
 
-#: src/pyams_content/shared/common/interfaces/__init__.py:142
+#: src/pyams_content/shared/common/interfaces/__init__.py:149
 msgid "Version modifiers"
 msgstr "Intervenants"
 
-#: src/pyams_content/shared/common/interfaces/__init__.py:143
+#: src/pyams_content/shared/common/interfaces/__init__.py:150
 msgid "List of principals who modified this content"
 msgstr "Liste des utilisateurs qui sont intervenus sur cette version"
 
-#: src/pyams_content/shared/common/interfaces/__init__.py:146
+#: src/pyams_content/shared/common/interfaces/__init__.py:153
 msgid "Last modifier"
 msgstr "Dernier intervenant"
 
-#: src/pyams_content/shared/common/interfaces/__init__.py:147
+#: src/pyams_content/shared/common/interfaces/__init__.py:154
 msgid "Last principal who modified this content"
 msgstr "Dernier utilisateur étant intervenu sur ce contenu"
 
-#: src/pyams_content/shared/common/interfaces/__init__.py:150
+#: src/pyams_content/shared/common/interfaces/__init__.py:157
 msgid "Last update"
 msgstr "Dernière modification"
 
-#: src/pyams_content/shared/common/interfaces/__init__.py:154
+#: src/pyams_content/shared/common/interfaces/__init__.py:161
 msgid "Content's header is generally displayed in page header"
 msgstr "Le chapô du contenu est généralement affiché en tête de page"
 
-#: src/pyams_content/shared/common/interfaces/__init__.py:160
+#: src/pyams_content/shared/common/interfaces/__init__.py:168
 msgid ""
 "The content's description is 'hidden' into HTML's page headers; but it can "
 "be seen, for example, in some search engines results as content's "
@@ -5196,19 +5196,19 @@
 "des moteurs de recherche ; si la description n'est pas renseignée, le chapô "
 "(s'il existe pour ce contenu) sera utilisé."
 
-#: src/pyams_content/shared/common/interfaces/__init__.py:167
+#: src/pyams_content/shared/common/interfaces/__init__.py:178
 msgid "Keywords"
 msgstr "Mots-clés"
 
-#: src/pyams_content/shared/common/interfaces/__init__.py:168
+#: src/pyams_content/shared/common/interfaces/__init__.py:179
 msgid "They will be included into HTML pages metadata"
 msgstr "Ces mots-clés seront intégrés dans les métadonnées des pages HTML"
 
-#: src/pyams_content/shared/common/interfaces/__init__.py:191
+#: src/pyams_content/shared/common/interfaces/__init__.py:202
 msgid "Content owner"
 msgstr "Propriétaire"
 
-#: src/pyams_content/shared/common/interfaces/__init__.py:192
+#: src/pyams_content/shared/common/interfaces/__init__.py:203
 msgid ""
 "The owner is the creator of content's first version, except if it was "
 "transferred afterwards to another owner"
@@ -5217,7 +5217,7 @@
 "lorsque cette propriété a été transférée à un autre utilisateur après coup. "
 "Les contenus archivés ne sont plus transférables."
 
-#: src/pyams_content/shared/common/interfaces/__init__.py:205
+#: src/pyams_content/shared/common/interfaces/__init__.py:216
 msgid ""
 "Contributors are users which are allowed to update this content in addition "
 "to it's owner"
@@ -5225,11 +5225,11 @@
 "Les contributeurs sont autorisés, en plus du propriétaire, à modifier ce "
 "contenu"
 
-#: src/pyams_content/shared/common/interfaces/__init__.py:215
+#: src/pyams_content/shared/common/interfaces/__init__.py:227
 msgid "Readers"
 msgstr "Relecteurs"
 
-#: src/pyams_content/shared/common/interfaces/__init__.py:216
+#: src/pyams_content/shared/common/interfaces/__init__.py:228
 msgid ""
 "Readers are users which are asked to verify and comment contents before they "
 "are published"
@@ -5237,16 +5237,16 @@
 "Les relecteurs sont des utilisateurs qui sont sollicités pour vérifier et "
 "commenter un contenu avant sa publication"
 
-#: src/pyams_content/shared/common/interfaces/__init__.py:249
+#: src/pyams_content/shared/common/interfaces/__init__.py:262
 msgid "Principal ID"
 msgstr "ID utilisateur"
 
-#: src/pyams_content/shared/common/interfaces/__init__.py:288
-#: src/pyams_content/shared/common/interfaces/__init__.py:313
+#: src/pyams_content/shared/common/interfaces/__init__.py:301
+#: src/pyams_content/shared/common/interfaces/__init__.py:334
 msgid "Publication checks"
 msgstr "Activer le tunnel de publication"
 
-#: src/pyams_content/shared/common/interfaces/__init__.py:289
+#: src/pyams_content/shared/common/interfaces/__init__.py:302
 msgid ""
 "If 'yes', this contributor will have to confirm that contents have been "
 "previewed and checked before asking for publication"
@@ -5254,7 +5254,17 @@
 "Si 'oui', ce contributeur devra confirmer qu'il a bien prévisualisé et "
 "audité chaque contenu avant de pouvoir effectuer une demande de publication"
 
-#: src/pyams_content/shared/common/interfaces/__init__.py:314
+#: src/pyams_content/shared/common/interfaces/__init__.py:308
+msgid "Substitute for"
+msgstr "Suppléant de"
+
+#: src/pyams_content/shared/common/interfaces/__init__.py:309
+msgid "Contributor will have access to contents owned by these principals"
+msgstr ""
+"Le contributeur aura accès, en plus de ses propres contenus, aux contenus "
+"dont ces utilisateurs sont propriétaires"
+
+#: src/pyams_content/shared/common/interfaces/__init__.py:335
 msgid ""
 "If 'yes', this manager will have to confirm that contents have been "
 "previewed and checked before publishing a content"
@@ -5262,11 +5272,11 @@
 "Si 'oui', ce responsable devra confirmer qu'il a bien prévisualisé et audité "
 "chaque contenu avant de pouvoir effectuer une publication"
 
-#: src/pyams_content/shared/common/interfaces/__init__.py:319
+#: src/pyams_content/shared/common/interfaces/__init__.py:341
 msgid "Restricted contents"
 msgstr "Accès restreints"
 
-#: src/pyams_content/shared/common/interfaces/__init__.py:320
+#: src/pyams_content/shared/common/interfaces/__init__.py:342
 msgid ""
 "If 'yes', this manager will get restricted access to manage contents based "
 "on selected settings"
@@ -5274,11 +5284,11 @@
 "Si 'oui', ce responsable n'aura qu'un accès restreint à certains contenus en "
 "fonction de paramètres spécifiques"
 
-#: src/pyams_content/shared/common/interfaces/__init__.py:325
+#: src/pyams_content/shared/common/interfaces/__init__.py:347
 msgid "Selected owners"
 msgstr "Propriétaires"
 
-#: src/pyams_content/shared/common/interfaces/__init__.py:326
+#: src/pyams_content/shared/common/interfaces/__init__.py:348
 msgid "Manager will have access to contents owned by these principals"
 msgstr ""
 "Le responsable n'aura accès qu'aux contenus dont ces utilisateurs sont "
@@ -5606,30 +5616,30 @@
 "autorisé à gérer. Si vous indiquez plusieurs critères, il pourra gérer les "
 "contenus pour lesquels au moins l'un des critères correspond."
 
-#: src/pyams_content/shared/common/zmi/__init__.py:262
+#: src/pyams_content/shared/common/zmi/__init__.py:289
 msgid "Duplicate content..."
 msgstr "Dupliquer le contenu"
 
-#: src/pyams_content/shared/common/zmi/__init__.py:282
+#: src/pyams_content/shared/common/zmi/__init__.py:309
 msgid "Duplicate content"
 msgstr "Dupliquer ce contenu"
 
-#: src/pyams_content/shared/common/zmi/__init__.py:83
+#: src/pyams_content/shared/common/zmi/__init__.py:85
 msgid "This title can be modified afterwards"
 msgstr "Pourra être modifié ultérieurement"
 
-#: src/pyams_content/shared/common/zmi/__init__.py:273
+#: src/pyams_content/shared/common/zmi/__init__.py:300
 msgid "Duplicate this content"
 msgstr "Dupliquer ce contenu"
 
-#: src/pyams_content/shared/common/zmi/__init__.py:329
+#: src/pyams_content/shared/common/zmi/__init__.py:357
 #, python-format
 msgid "Clone created from version {source} of {oid} (in « {state} » state)"
 msgstr ""
 "Duplication de la version {source} du contenu {oid} (alors en statut "
 "« {state} »)"
 
-#: src/pyams_content/shared/common/zmi/__init__.py:374
+#: src/pyams_content/shared/common/zmi/__init__.py:403
 msgid "Created or modified in this version"
 msgstr "Créé ou modifié dans cette version"
 
@@ -5692,7 +5702,7 @@
 msgstr "Demander la publication"
 
 #: src/pyams_content/shared/common/zmi/workflow.py:207
-#: src/pyams_content/workflow/__init__.py:394
+#: src/pyams_content/workflow/__init__.py:420
 msgid "Cancel publication request"
 msgstr "Annuler la demande de publication"
 
@@ -5701,13 +5711,13 @@
 msgstr "Refuser la demande de publication"
 
 #: src/pyams_content/shared/common/zmi/workflow.py:301
-#: src/pyams_content/workflow/basic.py:304
+#: src/pyams_content/workflow/basic.py:316
 msgid "Publish"
 msgstr "Publier"
 
 #: src/pyams_content/shared/common/zmi/workflow.py:406
-#: src/pyams_content/workflow/__init__.py:472
-#: src/pyams_content/workflow/basic.py:282
+#: src/pyams_content/workflow/__init__.py:498
+#: src/pyams_content/workflow/basic.py:294
 msgid "Cancel publication"
 msgstr "Annuler la publication"
 
@@ -5724,7 +5734,7 @@
 msgstr "Retirer"
 
 #: src/pyams_content/shared/common/zmi/workflow.py:585
-#: src/pyams_content/workflow/__init__.py:549
+#: src/pyams_content/workflow/__init__.py:575
 msgid "Request archive"
 msgstr "Demander l'archivage"
 
@@ -5737,19 +5747,19 @@
 msgstr "Archiver"
 
 #: src/pyams_content/shared/common/zmi/workflow.py:709
-#: src/pyams_content/workflow/__init__.py:614
-#: src/pyams_content/workflow/__init__.py:626
-#: src/pyams_content/workflow/__init__.py:638
-#: src/pyams_content/workflow/__init__.py:650
-#: src/pyams_content/workflow/__init__.py:662
-#: src/pyams_content/workflow/basic.py:333
+#: src/pyams_content/workflow/__init__.py:640
+#: src/pyams_content/workflow/__init__.py:652
+#: src/pyams_content/workflow/__init__.py:664
+#: src/pyams_content/workflow/__init__.py:676
+#: src/pyams_content/workflow/__init__.py:688
 #: src/pyams_content/workflow/basic.py:345
+#: src/pyams_content/workflow/basic.py:357
 msgid "Create new version"
 msgstr "Créer une nouvelle version"
 
 #: src/pyams_content/shared/common/zmi/workflow.py:760
-#: src/pyams_content/workflow/__init__.py:674
-#: src/pyams_content/workflow/basic.py:357
+#: src/pyams_content/workflow/__init__.py:700
+#: src/pyams_content/workflow/basic.py:369
 msgid "Delete version"
 msgstr "Supprimer cette version"
 
@@ -5799,10 +5809,10 @@
 msgstr "Vous devez avoir audité ce contenu avant de pouvoir le publier !!"
 
 #: src/pyams_content/shared/common/zmi/workflow.py:80
-#: src/pyams_content/workflow/__init__.py:768
-#: src/pyams_content/workflow/__init__.py:735
-#: src/pyams_content/workflow/basic.py:427
-#: src/pyams_content/workflow/basic.py:398
+#: src/pyams_content/workflow/__init__.py:794
+#: src/pyams_content/workflow/__init__.py:761
+#: src/pyams_content/workflow/basic.py:439
+#: src/pyams_content/workflow/basic.py:410
 #, python-format
 msgid "{state} {date}"
 msgstr "{state} {date}"
@@ -5947,7 +5957,7 @@
 msgstr "Libellé du type"
 
 #: src/pyams_content/shared/common/zmi/types/manager.py:164
-#: src/pyams_content/shared/common/zmi/types/__init__.py:251
+#: src/pyams_content/shared/common/zmi/types/__init__.py:257
 msgid "Default associations"
 msgstr "Liens et pièces jointes par défaut"
 
@@ -5967,51 +5977,51 @@
 msgid "Click to see subtypes"
 msgstr "Montrer ou caher les sous-types"
 
-#: src/pyams_content/shared/common/zmi/types/__init__.py:78
+#: src/pyams_content/shared/common/zmi/types/__init__.py:79
 msgid "Add data type"
 msgstr "Ajouter un type"
 
-#: src/pyams_content/shared/common/zmi/types/__init__.py:90
+#: src/pyams_content/shared/common/zmi/types/__init__.py:92
 msgid "Add new data type"
 msgstr "Ajout d'un type de contenu"
 
-#: src/pyams_content/shared/common/zmi/types/__init__.py:133
+#: src/pyams_content/shared/common/zmi/types/__init__.py:136
 msgid "Data type properties"
 msgstr "Propriétés du type de contenu"
 
-#: src/pyams_content/shared/common/zmi/types/__init__.py:214
+#: src/pyams_content/shared/common/zmi/types/__init__.py:219
 msgid "Subtype label"
 msgstr "Libellé du sous-type"
 
-#: src/pyams_content/shared/common/zmi/types/__init__.py:295
+#: src/pyams_content/shared/common/zmi/types/__init__.py:302
 msgid "Add subtype"
 msgstr "Ajouter un sous-type"
 
-#: src/pyams_content/shared/common/zmi/types/__init__.py:307
+#: src/pyams_content/shared/common/zmi/types/__init__.py:314
 msgid "Add new subtype"
 msgstr "Ajout d'un sous-type de contenu"
 
-#: src/pyams_content/shared/common/zmi/types/__init__.py:354
+#: src/pyams_content/shared/common/zmi/types/__init__.py:362
 msgid "Data subtype properties"
 msgstr "Propriétés du fichier standard"
 
-#: src/pyams_content/shared/common/zmi/types/__init__.py:396
+#: src/pyams_content/shared/common/zmi/types/__init__.py:404
 msgid "Select content type..."
 msgstr "Sélectionnez un type de contenu..."
 
-#: src/pyams_content/shared/common/zmi/types/__init__.py:123
+#: src/pyams_content/shared/common/zmi/types/__init__.py:125
 msgid "Specified type name is already used!"
 msgstr "Le nom indiqué pour ce type de contenu est déjà utilisé !"
 
-#: src/pyams_content/shared/common/zmi/types/__init__.py:330
+#: src/pyams_content/shared/common/zmi/types/__init__.py:337
 msgid "Subtype was correctly added."
 msgstr "Le sous-type a été ajouté."
 
-#: src/pyams_content/shared/common/zmi/types/__init__.py:344
+#: src/pyams_content/shared/common/zmi/types/__init__.py:351
 msgid "Specified subtype name is already used!"
 msgstr "Le nom indiqué pour ce sous-type de contenu est déjà utilisé !"
 
-#: src/pyams_content/shared/common/zmi/types/__init__.py:425
+#: src/pyams_content/shared/common/zmi/types/__init__.py:433
 #, python-format
 msgid "Custom properties for type « {0} »"
 msgstr "Propriétés spécifiques au type « {0} »"
@@ -6408,8 +6418,8 @@
 #: src/pyams_content/shared/site/zmi/container.py:101
 #: src/pyams_content/shared/site/zmi/container.py:108
 #: src/pyams_content/shared/site/zmi/container.py:98
-#: src/pyams_content/workflow/__init__.py:77
-#: src/pyams_content/workflow/basic.py:58
+#: src/pyams_content/workflow/__init__.py:82
+#: src/pyams_content/workflow/basic.py:60
 msgid "Published"
 msgstr "Publié"
 
@@ -6446,7 +6456,7 @@
 msgstr "Cliquer pour afficher ou cache les sous-niveaux"
 
 #: src/pyams_content/shared/site/zmi/container.py:95
-#: src/pyams_content/workflow/__init__.py:79
+#: src/pyams_content/workflow/__init__.py:84
 msgid "Retired"
 msgstr "Retiré"
 
@@ -6797,106 +6807,106 @@
 msgid "Add new logos paragraph"
 msgstr "Ajout d'une sélection de logos"
 
-#: src/pyams_content/workflow/__init__.py:72
-#: src/pyams_content/workflow/basic.py:56
+#: src/pyams_content/workflow/__init__.py:77
+#: src/pyams_content/workflow/basic.py:58
 msgid "Draft"
 msgstr "Brouillon"
 
-#: src/pyams_content/workflow/__init__.py:73
+#: src/pyams_content/workflow/__init__.py:78
 msgid "Proposed"
 msgstr "Publication demandée"
 
-#: src/pyams_content/workflow/__init__.py:74
+#: src/pyams_content/workflow/__init__.py:79
 msgid "Canceled"
 msgstr "Annulé"
 
-#: src/pyams_content/workflow/__init__.py:75
+#: src/pyams_content/workflow/__init__.py:80
 msgid "Refused"
 msgstr "Refusé"
 
-#: src/pyams_content/workflow/__init__.py:76
-#: src/pyams_content/workflow/basic.py:57
-msgid "Published (waiting)"
-msgstr "Publié (en attente)"
-
-#: src/pyams_content/workflow/__init__.py:78
-msgid "Retiring"
-msgstr "Retrait demandé"
-
-#: src/pyams_content/workflow/__init__.py:80
-msgid "Archiving"
-msgstr "Archivage demandé"
-
 #: src/pyams_content/workflow/__init__.py:81
 #: src/pyams_content/workflow/basic.py:59
+msgid "Published (waiting)"
+msgstr "Publié (en attente)"
+
+#: src/pyams_content/workflow/__init__.py:83
+msgid "Retiring"
+msgstr "Retrait demandé"
+
+#: src/pyams_content/workflow/__init__.py:85
+msgid "Archiving"
+msgstr "Archivage demandé"
+
+#: src/pyams_content/workflow/__init__.py:86
+#: src/pyams_content/workflow/basic.py:61
 msgid "Archived"
 msgstr "Archivé"
 
-#: src/pyams_content/workflow/__init__.py:82
-#: src/pyams_content/workflow/basic.py:60
+#: src/pyams_content/workflow/__init__.py:87
+#: src/pyams_content/workflow/basic.py:62
 msgid "Deleted"
 msgstr "Supprimé"
 
-#: src/pyams_content/workflow/__init__.py:88
-#: src/pyams_content/workflow/basic.py:66
+#: src/pyams_content/workflow/__init__.py:93
+#: src/pyams_content/workflow/basic.py:68
 msgid "draft created"
 msgstr "brouillon créé"
 
-#: src/pyams_content/workflow/__init__.py:89
+#: src/pyams_content/workflow/__init__.py:94
 msgid "publication requested"
 msgstr "publication demandée"
 
-#: src/pyams_content/workflow/__init__.py:90
-#: src/pyams_content/workflow/basic.py:67
-msgid "published (waiting)"
-msgstr "publié (en attente)"
-
-#: src/pyams_content/workflow/__init__.py:91
-#: src/pyams_content/workflow/basic.py:68
-msgid "published"
-msgstr "publié"
-
-#: src/pyams_content/workflow/__init__.py:92
-msgid "retiring requested"
-msgstr "retrait demandé"
-
-#: src/pyams_content/workflow/__init__.py:93
-msgid "retired"
-msgstr "retiré"
-
-#: src/pyams_content/workflow/__init__.py:94
-msgid "archiving requested"
-msgstr "archivage demandé"
-
 #: src/pyams_content/workflow/__init__.py:95
 #: src/pyams_content/workflow/basic.py:69
+msgid "published (waiting)"
+msgstr "publié (en attente)"
+
+#: src/pyams_content/workflow/__init__.py:96
+#: src/pyams_content/workflow/basic.py:70
+msgid "published"
+msgstr "publié"
+
+#: src/pyams_content/workflow/__init__.py:97
+msgid "retiring requested"
+msgstr "retrait demandé"
+
+#: src/pyams_content/workflow/__init__.py:98
+msgid "retired"
+msgstr "retiré"
+
+#: src/pyams_content/workflow/__init__.py:99
+msgid "archiving requested"
+msgstr "archivage demandé"
+
+#: src/pyams_content/workflow/__init__.py:100
+#: src/pyams_content/workflow/basic.py:71
 msgid "archived"
 msgstr "archivé"
 
-#: src/pyams_content/workflow/__init__.py:358
-#: src/pyams_content/workflow/basic.py:266
+#: src/pyams_content/workflow/__init__.py:384
+#: src/pyams_content/workflow/basic.py:278
 msgid "Initialize"
 msgstr "Création"
 
-#: src/pyams_content/workflow/__init__.py:361
-#: src/pyams_content/workflow/basic.py:269
+#: src/pyams_content/workflow/__init__.py:387
+#: src/pyams_content/workflow/basic.py:281
 msgid "Draft creation"
 msgstr "Création du brouillon"
 
-#: src/pyams_content/workflow/__init__.py:364
-#: src/pyams_content/workflow/__init__.py:379
+#: src/pyams_content/workflow/__init__.py:390
+#: src/pyams_content/workflow/__init__.py:405
 msgid "Propose publication"
 msgstr "Demander la publication"
 
-#: src/pyams_content/workflow/__init__.py:371
-#: src/pyams_content/workflow/__init__.py:386
+#: src/pyams_content/workflow/__init__.py:397
+#: src/pyams_content/workflow/__init__.py:412
 msgid "Publication request"
 msgstr "Demande de publication"
 
-#: src/pyams_content/workflow/__init__.py:372
-#: src/pyams_content/workflow/__init__.py:387
-#: src/pyams_content/workflow/__init__.py:508
-#: src/pyams_content/workflow/__init__.py:556
+#: src/pyams_content/workflow/__init__.py:398
+#: src/pyams_content/workflow/__init__.py:413
+#: src/pyams_content/workflow/__init__.py:534
+#: src/pyams_content/workflow/__init__.py:582
 msgid ""
 "content managers authorized to take charge of your content are going to be "
 "notified of your request."
@@ -6904,244 +6914,244 @@
 "les responsables habilités à prendre en charge votre demande vont être "
 "sollicités."
 
-#: src/pyams_content/workflow/__init__.py:375
-#: src/pyams_content/workflow/__init__.py:390
+#: src/pyams_content/workflow/__init__.py:401
+#: src/pyams_content/workflow/__init__.py:416
 #, python-format
 msgid "submitted a publication request for content « {0} »"
 msgstr "a demandé la publication du contenu « {0} »"
 
-#: src/pyams_content/workflow/__init__.py:402
+#: src/pyams_content/workflow/__init__.py:428
 msgid "Publication request canceled"
 msgstr "Annulation de la demande de publication"
 
-#: src/pyams_content/workflow/__init__.py:404
+#: src/pyams_content/workflow/__init__.py:430
 #, python-format
 msgid "cancelled the publication request for content « {0} »"
 msgstr "a annulé la demande de publication du contenu « {0} »"
 
-#: src/pyams_content/workflow/__init__.py:408
+#: src/pyams_content/workflow/__init__.py:434
 msgid "Reset canceled publication to draft"
 msgstr "Retour automatique en statut 'brouillon'"
 
-#: src/pyams_content/workflow/__init__.py:412
-#: src/pyams_content/workflow/__init__.py:442
+#: src/pyams_content/workflow/__init__.py:438
+#: src/pyams_content/workflow/__init__.py:468
 msgid "State reset to 'draft' (automatic)"
 msgstr "Retour automatique en statut 'brouillon'"
 
-#: src/pyams_content/workflow/__init__.py:416
+#: src/pyams_content/workflow/__init__.py:442
 msgid "Reset canceled publication to retired"
 msgstr "Retour automatique en statut 'retiré'"
 
-#: src/pyams_content/workflow/__init__.py:420
+#: src/pyams_content/workflow/__init__.py:446
 msgid "State reset to 'retired' (automatic)"
 msgstr "Retour automatique en statut 'retiré'"
 
-#: src/pyams_content/workflow/__init__.py:424
+#: src/pyams_content/workflow/__init__.py:450
 msgid "Refuse publication"
 msgstr "Refuser la publication"
 
-#: src/pyams_content/workflow/__init__.py:432
+#: src/pyams_content/workflow/__init__.py:458
 msgid "Publication refused"
 msgstr "Refus de publication"
 
-#: src/pyams_content/workflow/__init__.py:434
+#: src/pyams_content/workflow/__init__.py:460
 #, python-format
 msgid "refused the publication request for content « {0} »"
 msgstr "a refusé la publication du contenu « {0} »"
 
-#: src/pyams_content/workflow/__init__.py:438
+#: src/pyams_content/workflow/__init__.py:464
 msgid "Reset refused publication to draft"
 msgstr "Publication refusée"
 
-#: src/pyams_content/workflow/__init__.py:446
+#: src/pyams_content/workflow/__init__.py:472
 msgid "Reset refused publication to retired"
 msgstr "Publication refusée"
 
-#: src/pyams_content/workflow/__init__.py:450
+#: src/pyams_content/workflow/__init__.py:476
 msgid "State reset to 'refused' (automatic)"
 msgstr "Retour automatique en status 'refusé'"
 
-#: src/pyams_content/workflow/__init__.py:454
-#: src/pyams_content/workflow/basic.py:272
+#: src/pyams_content/workflow/__init__.py:480
+#: src/pyams_content/workflow/basic.py:284
 msgid "Pre-publish content"
 msgstr "Pré-publier le contenu"
 
-#: src/pyams_content/workflow/__init__.py:459
-#: src/pyams_content/workflow/basic.py:277
+#: src/pyams_content/workflow/__init__.py:485
+#: src/pyams_content/workflow/basic.py:289
 msgid "Content pre-published"
 msgstr "Contenu pré-publié"
 
-#: src/pyams_content/workflow/__init__.py:461
-#: src/pyams_content/workflow/basic.py:279
+#: src/pyams_content/workflow/__init__.py:487
+#: src/pyams_content/workflow/basic.py:291
 #, python-format
 msgid "pre-published the content « {0} »"
 msgstr "a pré-publié le contenu « {0} »"
 
-#: src/pyams_content/workflow/__init__.py:469
 #: src/pyams_content/workflow/__init__.py:495
-#: src/pyams_content/workflow/basic.py:301
+#: src/pyams_content/workflow/__init__.py:521
 #: src/pyams_content/workflow/basic.py:313
+#: src/pyams_content/workflow/basic.py:325
 msgid "Content published"
 msgstr "Publication"
 
-#: src/pyams_content/workflow/__init__.py:480
-#: src/pyams_content/workflow/basic.py:290
+#: src/pyams_content/workflow/__init__.py:506
+#: src/pyams_content/workflow/basic.py:302
 msgid "Publication canceled"
 msgstr "Publication annulée"
 
-#: src/pyams_content/workflow/__init__.py:482
-#: src/pyams_content/workflow/basic.py:292
+#: src/pyams_content/workflow/__init__.py:508
+#: src/pyams_content/workflow/basic.py:304
 #, python-format
 msgid "cancelled the publication for content « {0} »"
 msgstr "a annulé la publication du contenu « {0} »"
 
-#: src/pyams_content/workflow/__init__.py:497
-#: src/pyams_content/workflow/basic.py:315
+#: src/pyams_content/workflow/__init__.py:523
+#: src/pyams_content/workflow/basic.py:327
 #, python-format
 msgid "published the content « {0} »"
 msgstr "a publié le contenu « {0} »"
 
-#: src/pyams_content/workflow/__init__.py:501
+#: src/pyams_content/workflow/__init__.py:527
 msgid "Request retiring"
 msgstr "Demander le retrait"
 
-#: src/pyams_content/workflow/__init__.py:507
+#: src/pyams_content/workflow/__init__.py:533
 msgid "Retire request"
 msgstr "Demande de retrait"
 
-#: src/pyams_content/workflow/__init__.py:511
+#: src/pyams_content/workflow/__init__.py:537
 #, python-format
 msgid "submitted a retire request for content « {0} »"
 msgstr "a demandé le retrait du contenu « {0} »"
 
-#: src/pyams_content/workflow/__init__.py:515
+#: src/pyams_content/workflow/__init__.py:541
 msgid "Retired content"
 msgstr "Contenu retiré"
 
-#: src/pyams_content/workflow/__init__.py:519
+#: src/pyams_content/workflow/__init__.py:545
 msgid "Content retired after passed expiration date"
 msgstr "Retrait automatique après la date de fin de publication"
 
-#: src/pyams_content/workflow/__init__.py:522
+#: src/pyams_content/workflow/__init__.py:548
 msgid "Cancel retiring request"
 msgstr "Annuler la demande de retrait"
 
-#: src/pyams_content/workflow/__init__.py:529
+#: src/pyams_content/workflow/__init__.py:555
 msgid "Retire request canceled"
 msgstr "Annulation de la demande de retrait"
 
-#: src/pyams_content/workflow/__init__.py:531
+#: src/pyams_content/workflow/__init__.py:557
 #, python-format
 msgid "cancelled the retiring request for content « {0} »"
 msgstr "a annulé la demande de retrait du contenu « {0} »"
 
-#: src/pyams_content/workflow/__init__.py:535
+#: src/pyams_content/workflow/__init__.py:561
 msgid "Retire content"
 msgstr "Retirer"
 
-#: src/pyams_content/workflow/__init__.py:543
+#: src/pyams_content/workflow/__init__.py:569
 msgid "Content retired"
 msgstr "Retrait"
 
-#: src/pyams_content/workflow/__init__.py:545
+#: src/pyams_content/workflow/__init__.py:571
 #, python-format
 msgid "retired content « {0} »"
 msgstr "a retiré le contenu « {0} »"
 
-#: src/pyams_content/workflow/__init__.py:555
+#: src/pyams_content/workflow/__init__.py:581
 msgid "Archive request"
 msgstr "Demande d'archivage"
 
-#: src/pyams_content/workflow/__init__.py:559
+#: src/pyams_content/workflow/__init__.py:585
 #, python-format
 msgid "submitted an archive request for content « {0} »"
 msgstr "a demandé l'archivage du contenu « {0} »"
 
-#: src/pyams_content/workflow/__init__.py:563
+#: src/pyams_content/workflow/__init__.py:589
 msgid "Cancel archiving request"
 msgstr "Annuler la demande d'archivage"
 
-#: src/pyams_content/workflow/__init__.py:570
+#: src/pyams_content/workflow/__init__.py:596
 msgid "Archive request canceled"
 msgstr "Annulation de la demande d'archivage"
 
-#: src/pyams_content/workflow/__init__.py:572
+#: src/pyams_content/workflow/__init__.py:598
 #, python-format
 msgid "cancelled the archive request for content « {0} »"
 msgstr "a annulé la demande d'archivage du contenu « {0} »"
 
-#: src/pyams_content/workflow/__init__.py:576
-#: src/pyams_content/workflow/basic.py:319
+#: src/pyams_content/workflow/__init__.py:602
+#: src/pyams_content/workflow/basic.py:331
 msgid "Archive content"
 msgstr "Archiver"
 
-#: src/pyams_content/workflow/__init__.py:584
-#: src/pyams_content/workflow/basic.py:327
+#: src/pyams_content/workflow/__init__.py:610
+#: src/pyams_content/workflow/basic.py:339
 msgid "Content archived"
 msgstr "Archivage"
 
-#: src/pyams_content/workflow/__init__.py:586
-#: src/pyams_content/workflow/basic.py:329
+#: src/pyams_content/workflow/__init__.py:612
+#: src/pyams_content/workflow/basic.py:341
 #, python-format
 msgid "archived content « {0} »"
 msgstr "a archivé le contenu « {0} »"
 
-#: src/pyams_content/workflow/__init__.py:590
+#: src/pyams_content/workflow/__init__.py:616
 msgid "Archive published content"
 msgstr "Archivage automatique d'un contenu publié"
 
-#: src/pyams_content/workflow/__init__.py:594
-#: src/pyams_content/workflow/__init__.py:602
-#: src/pyams_content/workflow/__init__.py:610
+#: src/pyams_content/workflow/__init__.py:620
+#: src/pyams_content/workflow/__init__.py:628
+#: src/pyams_content/workflow/__init__.py:636
 msgid "Content archived after version publication"
 msgstr "Archivage automatique après publication"
 
-#: src/pyams_content/workflow/__init__.py:598
+#: src/pyams_content/workflow/__init__.py:624
 msgid "Archive retiring content"
 msgstr "Archivage automatique d'un contenu en attente de retrait"
 
-#: src/pyams_content/workflow/__init__.py:606
+#: src/pyams_content/workflow/__init__.py:632
 msgid "Archive retired content"
 msgstr "Archivage automatique d'un contenu retiré"
 
-#: src/pyams_content/workflow/__init__.py:622
-#: src/pyams_content/workflow/__init__.py:634
-#: src/pyams_content/workflow/__init__.py:646
-#: src/pyams_content/workflow/__init__.py:658
-#: src/pyams_content/workflow/__init__.py:670
-#: src/pyams_content/workflow/basic.py:341
+#: src/pyams_content/workflow/__init__.py:648
+#: src/pyams_content/workflow/__init__.py:660
+#: src/pyams_content/workflow/__init__.py:672
+#: src/pyams_content/workflow/__init__.py:684
+#: src/pyams_content/workflow/__init__.py:696
 #: src/pyams_content/workflow/basic.py:353
+#: src/pyams_content/workflow/basic.py:365
 msgid "New version created"
 msgstr "Création d'une nouvelle version"
 
-#: src/pyams_content/workflow/__init__.py:682
-#: src/pyams_content/workflow/basic.py:365
+#: src/pyams_content/workflow/__init__.py:708
+#: src/pyams_content/workflow/basic.py:377
 msgid "Version deleted"
 msgstr "Version supprimée"
 
-#: src/pyams_content/workflow/__init__.py:738
-#: src/pyams_content/workflow/__init__.py:760
-#: src/pyams_content/workflow/basic.py:401
-#: src/pyams_content/workflow/basic.py:423
-msgid "Unknown state"
-msgstr "(statut inconnu)"
-
 #: src/pyams_content/workflow/__init__.py:764
+#: src/pyams_content/workflow/__init__.py:786
+#: src/pyams_content/workflow/basic.py:413
+#: src/pyams_content/workflow/basic.py:435
+msgid "Unknown state"
+msgstr "(statut inconnu)"
+
+#: src/pyams_content/workflow/__init__.py:790
 msgid "publication request cancelled"
 msgstr "demande de publication annulée"
 
-#: src/pyams_content/workflow/__init__.py:766
-#: src/pyams_content/workflow/basic.py:425
+#: src/pyams_content/workflow/__init__.py:792
+#: src/pyams_content/workflow/basic.py:437
 msgid "publication refused"
 msgstr "publication refusée"
 
-#: src/pyams_content/workflow/__init__.py:758
-#: src/pyams_content/workflow/basic.py:421
+#: src/pyams_content/workflow/__init__.py:784
+#: src/pyams_content/workflow/basic.py:433
 msgid "new version created"
 msgstr "nouvelle version en préparation"
 
-#: src/pyams_content/workflow/__init__.py:297
-#: src/pyams_content/workflow/basic.py:210
+#: src/pyams_content/workflow/__init__.py:323
+#: src/pyams_content/workflow/basic.py:222
 #, python-format
 msgid "Published version {0}"
 msgstr "Version {0} publiée"
--- a/src/pyams_content/locales/pyams_content.pot	Tue Oct 01 12:04:20 2019 +0200
+++ b/src/pyams_content/locales/pyams_content.pot	Wed Oct 02 10:54:19 2019 +0200
@@ -6,7 +6,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE 1.0\n"
-"POT-Creation-Date: 2019-09-25 17:04+0200\n"
+"POT-Creation-Date: 2019-10-01 11:55+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -45,9 +45,9 @@
 msgstr ""
 
 #: ./src/pyams_content/__init__.py:52
-#: ./src/pyams_content/workflow/__init__.py:464
-#: ./src/pyams_content/workflow/__init__.py:486
-#: ./src/pyams_content/workflow/basic.py:296
+#: ./src/pyams_content/workflow/__init__.py:490
+#: ./src/pyams_content/workflow/__init__.py:512
+#: ./src/pyams_content/workflow/basic.py:308
 msgid "Publish content"
 msgstr ""
 
@@ -1017,7 +1017,7 @@
 
 #: ./src/pyams_content/component/paragraph/interfaces/header.py:33
 #: ./src/pyams_content/component/paragraph/interfaces/header.py:40
-#: ./src/pyams_content/shared/common/interfaces/__init__.py:153
+#: ./src/pyams_content/shared/common/interfaces/__init__.py:160
 #: ./src/pyams_content/shared/site/interfaces.py:81
 msgid "Header"
 msgstr ""
@@ -1306,7 +1306,7 @@
 
 #: ./src/pyams_content/component/paragraph/interfaces/__init__.py:101
 #: ./src/pyams_content/shared/common/zmi/types/manager.py:148
-#: ./src/pyams_content/shared/common/zmi/types/__init__.py:235
+#: ./src/pyams_content/shared/common/zmi/types/__init__.py:241
 msgid "Default paragraphs"
 msgstr ""
 
@@ -1673,7 +1673,7 @@
 #: ./src/pyams_content/component/paragraph/zmi/__init__.py:262
 #: ./src/pyams_content/component/paragraph/zmi/__init__.py:275
 #: ./src/pyams_content/features/review/zmi/__init__.py:84
-#: ./src/pyams_content/shared/common/zmi/__init__.py:272
+#: ./src/pyams_content/shared/common/zmi/__init__.py:299
 #: ./src/pyams_content/shared/common/zmi/owner.py:73
 #: ./src/pyams_content/shared/common/zmi/workflow.py:119
 #: ./src/pyams_content/shared/common/zmi/workflow.py:206
@@ -2952,38 +2952,38 @@
 msgstr ""
 
 #: ./src/pyams_content/features/search/interfaces.py:53
-#: ./src/pyams_content/shared/common/interfaces/__init__.py:51
-#: ./src/pyams_content/shared/common/interfaces/__init__.py:198
+#: ./src/pyams_content/shared/common/interfaces/__init__.py:53
+#: ./src/pyams_content/shared/common/interfaces/__init__.py:209
 msgid "Managers"
 msgstr ""
 
 #: ./src/pyams_content/features/search/interfaces.py:54
-#: ./src/pyams_content/shared/common/interfaces/__init__.py:52
-#: ./src/pyams_content/shared/common/interfaces/__init__.py:199
+#: ./src/pyams_content/shared/common/interfaces/__init__.py:54
+#: ./src/pyams_content/shared/common/interfaces/__init__.py:210
 msgid ""
 "Managers can handle main operations in tool's workflow, like publish or "
 "retire contents"
 msgstr ""
 
 #: ./src/pyams_content/features/search/interfaces.py:59
-#: ./src/pyams_content/shared/common/interfaces/__init__.py:62
-#: ./src/pyams_content/shared/common/interfaces/__init__.py:210
+#: ./src/pyams_content/shared/common/interfaces/__init__.py:65
+#: ./src/pyams_content/shared/common/interfaces/__init__.py:221
 msgid "Designers"
 msgstr ""
 
 #: ./src/pyams_content/features/search/interfaces.py:60
-#: ./src/pyams_content/shared/common/interfaces/__init__.py:63
-#: ./src/pyams_content/shared/common/interfaces/__init__.py:211
+#: ./src/pyams_content/shared/common/interfaces/__init__.py:66
+#: ./src/pyams_content/shared/common/interfaces/__init__.py:222
 msgid "Designers are users which are allowed to manage presentation templates"
 msgstr ""
 
 #: ./src/pyams_content/features/search/interfaces.py:64
-#: ./src/pyams_content/shared/common/interfaces/__init__.py:221
+#: ./src/pyams_content/shared/common/interfaces/__init__.py:233
 msgid "Guests"
 msgstr ""
 
 #: ./src/pyams_content/features/search/interfaces.py:65
-#: ./src/pyams_content/shared/common/interfaces/__init__.py:222
+#: ./src/pyams_content/shared/common/interfaces/__init__.py:234
 msgid ""
 "Guests are users which are allowed to view contents with restricted access"
 msgstr ""
@@ -4510,7 +4510,7 @@
 msgstr ""
 
 #: ./src/pyams_content/shared/blog/interfaces.py:67
-#: ./src/pyams_content/shared/common/interfaces/__init__.py:159
+#: ./src/pyams_content/shared/common/interfaces/__init__.py:167
 #: ./src/pyams_content/shared/site/interfaces.py:85
 #: ./src/pyams_content/shared/site/interfaces.py:130
 msgid "Meta-description"
@@ -4524,7 +4524,7 @@
 msgstr ""
 
 #: ./src/pyams_content/shared/blog/interfaces.py:73
-#: ./src/pyams_content/shared/common/interfaces/__init__.py:171
+#: ./src/pyams_content/shared/common/interfaces/__init__.py:182
 #: ./src/pyams_content/shared/site/interfaces.py:91
 #: ./src/pyams_content/shared/site/interfaces.py:136
 #: ./src/pyams_content/shared/site/zmi/folder.py:74
@@ -4532,7 +4532,7 @@
 msgstr ""
 
 #: ./src/pyams_content/shared/blog/interfaces.py:74
-#: ./src/pyams_content/shared/common/interfaces/__init__.py:172
+#: ./src/pyams_content/shared/common/interfaces/__init__.py:183
 #: ./src/pyams_content/shared/site/interfaces.py:92
 #: ./src/pyams_content/shared/site/interfaces.py:137
 #: ./src/pyams_content/shared/site/zmi/folder.py:75
@@ -4677,167 +4677,175 @@
 msgid "Webmasters can handle all contents, including published ones"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/interfaces/__init__.py:45
+#: ./src/pyams_content/shared/common/interfaces/__init__.py:46
 msgid "Pilots"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/interfaces/__init__.py:46
+#: ./src/pyams_content/shared/common/interfaces/__init__.py:47
 msgid ""
 "Pilots can handle tool configuration, manage access rules, grant users roles "
 "and manage managers restrictions"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/interfaces/__init__.py:57
-#: ./src/pyams_content/shared/common/interfaces/__init__.py:204
+#: ./src/pyams_content/shared/common/interfaces/__init__.py:59
+#: ./src/pyams_content/shared/common/interfaces/__init__.py:215
 msgid "Contributors"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/interfaces/__init__.py:58
+#: ./src/pyams_content/shared/common/interfaces/__init__.py:60
 msgid "Contributors are users which are allowed to create new contents"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/interfaces/__init__.py:89
+#: ./src/pyams_content/shared/common/interfaces/__init__.py:93
 msgid "Workflow name"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/interfaces/__init__.py:90
+#: ./src/pyams_content/shared/common/interfaces/__init__.py:94
 msgid "Name of workflow utility used to manage tool contents"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/interfaces/__init__.py:121
+#: ./src/pyams_content/shared/common/interfaces/__init__.py:126
 msgid "Content URL"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/interfaces/__init__.py:122
+#: ./src/pyams_content/shared/common/interfaces/__init__.py:127
 msgid ""
 "URL used to access this content; this is important for SEO and should include"
 " most important words describing content; spaces and underscores will be "
 "automatically replaced by hyphens"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/interfaces/__init__.py:129
+#: ./src/pyams_content/shared/common/interfaces/__init__.py:136
 msgid "Version creator"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/interfaces/__init__.py:130
+#: ./src/pyams_content/shared/common/interfaces/__init__.py:137
 msgid ""
 "Name of content's version creator. The creator of the first version is also "
 "it's owner."
 msgstr ""
 
-#: ./src/pyams_content/shared/common/interfaces/__init__.py:134
+#: ./src/pyams_content/shared/common/interfaces/__init__.py:141
 msgid "First owner"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/interfaces/__init__.py:135
-msgid "Name of content's first version owner"
-msgstr ""
-
-#: ./src/pyams_content/shared/common/interfaces/__init__.py:139
-msgid "Version creation"
-msgstr ""
-
 #: ./src/pyams_content/shared/common/interfaces/__init__.py:142
-msgid "Version modifiers"
-msgstr ""
-
-#: ./src/pyams_content/shared/common/interfaces/__init__.py:143
-msgid "List of principals who modified this content"
+msgid "Name of content's first version owner"
 msgstr ""
 
 #: ./src/pyams_content/shared/common/interfaces/__init__.py:146
-msgid "Last modifier"
-msgstr ""
-
-#: ./src/pyams_content/shared/common/interfaces/__init__.py:147
-msgid "Last principal who modified this content"
+msgid "Version creation"
+msgstr ""
+
+#: ./src/pyams_content/shared/common/interfaces/__init__.py:149
+msgid "Version modifiers"
 msgstr ""
 
 #: ./src/pyams_content/shared/common/interfaces/__init__.py:150
-msgid "Last update"
+msgid "List of principals who modified this content"
+msgstr ""
+
+#: ./src/pyams_content/shared/common/interfaces/__init__.py:153
+msgid "Last modifier"
 msgstr ""
 
 #: ./src/pyams_content/shared/common/interfaces/__init__.py:154
+msgid "Last principal who modified this content"
+msgstr ""
+
+#: ./src/pyams_content/shared/common/interfaces/__init__.py:157
+msgid "Last update"
+msgstr ""
+
+#: ./src/pyams_content/shared/common/interfaces/__init__.py:161
 msgid "Content's header is generally displayed in page header"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/interfaces/__init__.py:160
+#: ./src/pyams_content/shared/common/interfaces/__init__.py:168
 msgid ""
 "The content's description is 'hidden' into HTML's page headers; but it can be"
 " seen, for example, in some search engines results as content's description; "
 "if description is empty, content's header will be used."
 msgstr ""
 
-#: ./src/pyams_content/shared/common/interfaces/__init__.py:167
+#: ./src/pyams_content/shared/common/interfaces/__init__.py:178
 msgid "Keywords"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/interfaces/__init__.py:168
+#: ./src/pyams_content/shared/common/interfaces/__init__.py:179
 msgid "They will be included into HTML pages metadata"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/interfaces/__init__.py:191
+#: ./src/pyams_content/shared/common/interfaces/__init__.py:202
 msgid "Content owner"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/interfaces/__init__.py:192
+#: ./src/pyams_content/shared/common/interfaces/__init__.py:203
 msgid ""
 "The owner is the creator of content's first version, except if it was "
 "transferred afterwards to another owner"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/interfaces/__init__.py:205
-msgid ""
-"Contributors are users which are allowed to update this content in addition "
-"to it's owner"
-msgstr ""
-
-#: ./src/pyams_content/shared/common/interfaces/__init__.py:215
-msgid "Readers"
-msgstr ""
-
 #: ./src/pyams_content/shared/common/interfaces/__init__.py:216
 msgid ""
+"Contributors are users which are allowed to update this content in addition "
+"to it's owner"
+msgstr ""
+
+#: ./src/pyams_content/shared/common/interfaces/__init__.py:227
+msgid "Readers"
+msgstr ""
+
+#: ./src/pyams_content/shared/common/interfaces/__init__.py:228
+msgid ""
 "Readers are users which are asked to verify and comment contents before they "
 "are published"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/interfaces/__init__.py:249
+#: ./src/pyams_content/shared/common/interfaces/__init__.py:262
 msgid "Principal ID"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/interfaces/__init__.py:288
-#: ./src/pyams_content/shared/common/interfaces/__init__.py:313
+#: ./src/pyams_content/shared/common/interfaces/__init__.py:301
+#: ./src/pyams_content/shared/common/interfaces/__init__.py:334
 msgid "Publication checks"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/interfaces/__init__.py:289
+#: ./src/pyams_content/shared/common/interfaces/__init__.py:302
 msgid ""
 "If 'yes', this contributor will have to confirm that contents have been "
 "previewed and checked before asking for publication"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/interfaces/__init__.py:314
+#: ./src/pyams_content/shared/common/interfaces/__init__.py:308
+msgid "Substitute for"
+msgstr ""
+
+#: ./src/pyams_content/shared/common/interfaces/__init__.py:309
+msgid "Contributor will have access to contents owned by these principals"
+msgstr ""
+
+#: ./src/pyams_content/shared/common/interfaces/__init__.py:335
 msgid ""
 "If 'yes', this manager will have to confirm that contents have been previewed"
 " and checked before publishing a content"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/interfaces/__init__.py:319
+#: ./src/pyams_content/shared/common/interfaces/__init__.py:341
 msgid "Restricted contents"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/interfaces/__init__.py:320
+#: ./src/pyams_content/shared/common/interfaces/__init__.py:342
 msgid ""
 "If 'yes', this manager will get restricted access to manage contents based on"
 " selected settings"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/interfaces/__init__.py:325
+#: ./src/pyams_content/shared/common/interfaces/__init__.py:347
 msgid "Selected owners"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/interfaces/__init__.py:326
+#: ./src/pyams_content/shared/common/interfaces/__init__.py:348
 msgid "Manager will have access to contents owned by these principals"
 msgstr ""
 
@@ -5137,28 +5145,28 @@
 "which at least one criteria is matching."
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/__init__.py:262
+#: ./src/pyams_content/shared/common/zmi/__init__.py:289
 msgid "Duplicate content..."
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/__init__.py:282
+#: ./src/pyams_content/shared/common/zmi/__init__.py:309
 msgid "Duplicate content"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/__init__.py:83
+#: ./src/pyams_content/shared/common/zmi/__init__.py:85
 msgid "This title can be modified afterwards"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/__init__.py:273
+#: ./src/pyams_content/shared/common/zmi/__init__.py:300
 msgid "Duplicate this content"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/__init__.py:329
+#: ./src/pyams_content/shared/common/zmi/__init__.py:357
 #, python-format
 msgid "Clone created from version {source} of {oid} (in « {state} » state)"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/__init__.py:374
+#: ./src/pyams_content/shared/common/zmi/__init__.py:403
 msgid "Created or modified in this version"
 msgstr ""
 
@@ -5217,7 +5225,7 @@
 msgstr ""
 
 #: ./src/pyams_content/shared/common/zmi/workflow.py:207
-#: ./src/pyams_content/workflow/__init__.py:394
+#: ./src/pyams_content/workflow/__init__.py:420
 msgid "Cancel publication request"
 msgstr ""
 
@@ -5226,13 +5234,13 @@
 msgstr ""
 
 #: ./src/pyams_content/shared/common/zmi/workflow.py:301
-#: ./src/pyams_content/workflow/basic.py:304
+#: ./src/pyams_content/workflow/basic.py:316
 msgid "Publish"
 msgstr ""
 
 #: ./src/pyams_content/shared/common/zmi/workflow.py:406
-#: ./src/pyams_content/workflow/__init__.py:472
-#: ./src/pyams_content/workflow/basic.py:282
+#: ./src/pyams_content/workflow/__init__.py:498
+#: ./src/pyams_content/workflow/basic.py:294
 msgid "Cancel publication"
 msgstr ""
 
@@ -5249,7 +5257,7 @@
 msgstr ""
 
 #: ./src/pyams_content/shared/common/zmi/workflow.py:585
-#: ./src/pyams_content/workflow/__init__.py:549
+#: ./src/pyams_content/workflow/__init__.py:575
 msgid "Request archive"
 msgstr ""
 
@@ -5262,19 +5270,19 @@
 msgstr ""
 
 #: ./src/pyams_content/shared/common/zmi/workflow.py:709
-#: ./src/pyams_content/workflow/__init__.py:614
-#: ./src/pyams_content/workflow/__init__.py:626
-#: ./src/pyams_content/workflow/__init__.py:638
-#: ./src/pyams_content/workflow/__init__.py:650
-#: ./src/pyams_content/workflow/__init__.py:662
-#: ./src/pyams_content/workflow/basic.py:333
+#: ./src/pyams_content/workflow/__init__.py:640
+#: ./src/pyams_content/workflow/__init__.py:652
+#: ./src/pyams_content/workflow/__init__.py:664
+#: ./src/pyams_content/workflow/__init__.py:676
+#: ./src/pyams_content/workflow/__init__.py:688
 #: ./src/pyams_content/workflow/basic.py:345
+#: ./src/pyams_content/workflow/basic.py:357
 msgid "Create new version"
 msgstr ""
 
 #: ./src/pyams_content/shared/common/zmi/workflow.py:760
-#: ./src/pyams_content/workflow/__init__.py:674
-#: ./src/pyams_content/workflow/basic.py:357
+#: ./src/pyams_content/workflow/__init__.py:700
+#: ./src/pyams_content/workflow/basic.py:369
 msgid "Delete version"
 msgstr ""
 
@@ -5322,10 +5330,10 @@
 msgstr ""
 
 #: ./src/pyams_content/shared/common/zmi/workflow.py:80
-#: ./src/pyams_content/workflow/__init__.py:768
-#: ./src/pyams_content/workflow/__init__.py:735
-#: ./src/pyams_content/workflow/basic.py:427
-#: ./src/pyams_content/workflow/basic.py:398
+#: ./src/pyams_content/workflow/__init__.py:794
+#: ./src/pyams_content/workflow/__init__.py:761
+#: ./src/pyams_content/workflow/basic.py:439
+#: ./src/pyams_content/workflow/basic.py:410
 #, python-format
 msgid "{state} {date}"
 msgstr ""
@@ -5460,7 +5468,7 @@
 msgstr ""
 
 #: ./src/pyams_content/shared/common/zmi/types/manager.py:164
-#: ./src/pyams_content/shared/common/zmi/types/__init__.py:251
+#: ./src/pyams_content/shared/common/zmi/types/__init__.py:257
 msgid "Default associations"
 msgstr ""
 
@@ -5480,51 +5488,51 @@
 msgid "Click to see subtypes"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/types/__init__.py:78
+#: ./src/pyams_content/shared/common/zmi/types/__init__.py:79
 msgid "Add data type"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/types/__init__.py:90
+#: ./src/pyams_content/shared/common/zmi/types/__init__.py:92
 msgid "Add new data type"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/types/__init__.py:133
+#: ./src/pyams_content/shared/common/zmi/types/__init__.py:136
 msgid "Data type properties"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/types/__init__.py:214
+#: ./src/pyams_content/shared/common/zmi/types/__init__.py:219
 msgid "Subtype label"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/types/__init__.py:295
+#: ./src/pyams_content/shared/common/zmi/types/__init__.py:302
 msgid "Add subtype"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/types/__init__.py:307
+#: ./src/pyams_content/shared/common/zmi/types/__init__.py:314
 msgid "Add new subtype"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/types/__init__.py:354
+#: ./src/pyams_content/shared/common/zmi/types/__init__.py:362
 msgid "Data subtype properties"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/types/__init__.py:396
+#: ./src/pyams_content/shared/common/zmi/types/__init__.py:404
 msgid "Select content type..."
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/types/__init__.py:123
+#: ./src/pyams_content/shared/common/zmi/types/__init__.py:125
 msgid "Specified type name is already used!"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/types/__init__.py:330
+#: ./src/pyams_content/shared/common/zmi/types/__init__.py:337
 msgid "Subtype was correctly added."
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/types/__init__.py:344
+#: ./src/pyams_content/shared/common/zmi/types/__init__.py:351
 msgid "Specified subtype name is already used!"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/types/__init__.py:425
+#: ./src/pyams_content/shared/common/zmi/types/__init__.py:433
 #, python-format
 msgid "Custom properties for type « {0} »"
 msgstr ""
@@ -5856,8 +5864,8 @@
 #: ./src/pyams_content/shared/site/zmi/container.py:101
 #: ./src/pyams_content/shared/site/zmi/container.py:108
 #: ./src/pyams_content/shared/site/zmi/container.py:98
-#: ./src/pyams_content/workflow/__init__.py:77
-#: ./src/pyams_content/workflow/basic.py:58
+#: ./src/pyams_content/workflow/__init__.py:82
+#: ./src/pyams_content/workflow/basic.py:60
 msgid "Published"
 msgstr ""
 
@@ -5894,7 +5902,7 @@
 msgstr ""
 
 #: ./src/pyams_content/shared/site/zmi/container.py:95
-#: ./src/pyams_content/workflow/__init__.py:79
+#: ./src/pyams_content/workflow/__init__.py:84
 msgid "Retired"
 msgstr ""
 
@@ -6237,349 +6245,349 @@
 msgid "Add new logos paragraph"
 msgstr ""
 
-#: ./src/pyams_content/workflow/__init__.py:72
-#: ./src/pyams_content/workflow/basic.py:56
+#: ./src/pyams_content/workflow/__init__.py:77
+#: ./src/pyams_content/workflow/basic.py:58
 msgid "Draft"
 msgstr ""
 
-#: ./src/pyams_content/workflow/__init__.py:73
-msgid "Proposed"
-msgstr ""
-
-#: ./src/pyams_content/workflow/__init__.py:74
-msgid "Canceled"
-msgstr ""
-
-#: ./src/pyams_content/workflow/__init__.py:75
-msgid "Refused"
-msgstr ""
-
-#: ./src/pyams_content/workflow/__init__.py:76
-#: ./src/pyams_content/workflow/basic.py:57
-msgid "Published (waiting)"
-msgstr ""
-
 #: ./src/pyams_content/workflow/__init__.py:78
-msgid "Retiring"
+msgid "Proposed"
+msgstr ""
+
+#: ./src/pyams_content/workflow/__init__.py:79
+msgid "Canceled"
 msgstr ""
 
 #: ./src/pyams_content/workflow/__init__.py:80
-msgid "Archiving"
+msgid "Refused"
 msgstr ""
 
 #: ./src/pyams_content/workflow/__init__.py:81
 #: ./src/pyams_content/workflow/basic.py:59
+msgid "Published (waiting)"
+msgstr ""
+
+#: ./src/pyams_content/workflow/__init__.py:83
+msgid "Retiring"
+msgstr ""
+
+#: ./src/pyams_content/workflow/__init__.py:85
+msgid "Archiving"
+msgstr ""
+
+#: ./src/pyams_content/workflow/__init__.py:86
+#: ./src/pyams_content/workflow/basic.py:61
 msgid "Archived"
 msgstr ""
 
-#: ./src/pyams_content/workflow/__init__.py:82
-#: ./src/pyams_content/workflow/basic.py:60
+#: ./src/pyams_content/workflow/__init__.py:87
+#: ./src/pyams_content/workflow/basic.py:62
 msgid "Deleted"
 msgstr ""
 
-#: ./src/pyams_content/workflow/__init__.py:88
-#: ./src/pyams_content/workflow/basic.py:66
-msgid "draft created"
-msgstr ""
-
-#: ./src/pyams_content/workflow/__init__.py:89
-msgid "publication requested"
-msgstr ""
-
-#: ./src/pyams_content/workflow/__init__.py:90
-#: ./src/pyams_content/workflow/basic.py:67
-msgid "published (waiting)"
-msgstr ""
-
-#: ./src/pyams_content/workflow/__init__.py:91
-#: ./src/pyams_content/workflow/basic.py:68
-msgid "published"
-msgstr ""
-
-#: ./src/pyams_content/workflow/__init__.py:92
-msgid "retiring requested"
-msgstr ""
-
 #: ./src/pyams_content/workflow/__init__.py:93
-msgid "retired"
+#: ./src/pyams_content/workflow/basic.py:68
+msgid "draft created"
 msgstr ""
 
 #: ./src/pyams_content/workflow/__init__.py:94
-msgid "archiving requested"
+msgid "publication requested"
 msgstr ""
 
 #: ./src/pyams_content/workflow/__init__.py:95
 #: ./src/pyams_content/workflow/basic.py:69
+msgid "published (waiting)"
+msgstr ""
+
+#: ./src/pyams_content/workflow/__init__.py:96
+#: ./src/pyams_content/workflow/basic.py:70
+msgid "published"
+msgstr ""
+
+#: ./src/pyams_content/workflow/__init__.py:97
+msgid "retiring requested"
+msgstr ""
+
+#: ./src/pyams_content/workflow/__init__.py:98
+msgid "retired"
+msgstr ""
+
+#: ./src/pyams_content/workflow/__init__.py:99
+msgid "archiving requested"
+msgstr ""
+
+#: ./src/pyams_content/workflow/__init__.py:100
+#: ./src/pyams_content/workflow/basic.py:71
 msgid "archived"
 msgstr ""
 
-#: ./src/pyams_content/workflow/__init__.py:358
-#: ./src/pyams_content/workflow/basic.py:266
+#: ./src/pyams_content/workflow/__init__.py:384
+#: ./src/pyams_content/workflow/basic.py:278
 msgid "Initialize"
 msgstr ""
 
-#: ./src/pyams_content/workflow/__init__.py:361
-#: ./src/pyams_content/workflow/basic.py:269
+#: ./src/pyams_content/workflow/__init__.py:387
+#: ./src/pyams_content/workflow/basic.py:281
 msgid "Draft creation"
 msgstr ""
 
-#: ./src/pyams_content/workflow/__init__.py:364
-#: ./src/pyams_content/workflow/__init__.py:379
+#: ./src/pyams_content/workflow/__init__.py:390
+#: ./src/pyams_content/workflow/__init__.py:405
 msgid "Propose publication"
 msgstr ""
 
-#: ./src/pyams_content/workflow/__init__.py:371
-#: ./src/pyams_content/workflow/__init__.py:386
+#: ./src/pyams_content/workflow/__init__.py:397
+#: ./src/pyams_content/workflow/__init__.py:412
 msgid "Publication request"
 msgstr ""
 
-#: ./src/pyams_content/workflow/__init__.py:372
-#: ./src/pyams_content/workflow/__init__.py:387
-#: ./src/pyams_content/workflow/__init__.py:508
-#: ./src/pyams_content/workflow/__init__.py:556
+#: ./src/pyams_content/workflow/__init__.py:398
+#: ./src/pyams_content/workflow/__init__.py:413
+#: ./src/pyams_content/workflow/__init__.py:534
+#: ./src/pyams_content/workflow/__init__.py:582
 msgid ""
 "content managers authorized to take charge of your content are going to be "
 "notified of your request."
 msgstr ""
 
-#: ./src/pyams_content/workflow/__init__.py:375
-#: ./src/pyams_content/workflow/__init__.py:390
+#: ./src/pyams_content/workflow/__init__.py:401
+#: ./src/pyams_content/workflow/__init__.py:416
 #, python-format
 msgid "submitted a publication request for content « {0} »"
 msgstr ""
 
-#: ./src/pyams_content/workflow/__init__.py:402
+#: ./src/pyams_content/workflow/__init__.py:428
 msgid "Publication request canceled"
 msgstr ""
 
-#: ./src/pyams_content/workflow/__init__.py:404
+#: ./src/pyams_content/workflow/__init__.py:430
 #, python-format
 msgid "cancelled the publication request for content « {0} »"
 msgstr ""
 
-#: ./src/pyams_content/workflow/__init__.py:408
-msgid "Reset canceled publication to draft"
-msgstr ""
-
-#: ./src/pyams_content/workflow/__init__.py:412
-#: ./src/pyams_content/workflow/__init__.py:442
-msgid "State reset to 'draft' (automatic)"
-msgstr ""
-
-#: ./src/pyams_content/workflow/__init__.py:416
-msgid "Reset canceled publication to retired"
-msgstr ""
-
-#: ./src/pyams_content/workflow/__init__.py:420
-msgid "State reset to 'retired' (automatic)"
-msgstr ""
-
-#: ./src/pyams_content/workflow/__init__.py:424
-msgid "Refuse publication"
-msgstr ""
-
-#: ./src/pyams_content/workflow/__init__.py:432
-msgid "Publication refused"
-msgstr ""
-
 #: ./src/pyams_content/workflow/__init__.py:434
-#, python-format
-msgid "refused the publication request for content « {0} »"
+msgid "Reset canceled publication to draft"
 msgstr ""
 
 #: ./src/pyams_content/workflow/__init__.py:438
-msgid "Reset refused publication to draft"
+#: ./src/pyams_content/workflow/__init__.py:468
+msgid "State reset to 'draft' (automatic)"
+msgstr ""
+
+#: ./src/pyams_content/workflow/__init__.py:442
+msgid "Reset canceled publication to retired"
 msgstr ""
 
 #: ./src/pyams_content/workflow/__init__.py:446
-msgid "Reset refused publication to retired"
+msgid "State reset to 'retired' (automatic)"
 msgstr ""
 
 #: ./src/pyams_content/workflow/__init__.py:450
+msgid "Refuse publication"
+msgstr ""
+
+#: ./src/pyams_content/workflow/__init__.py:458
+msgid "Publication refused"
+msgstr ""
+
+#: ./src/pyams_content/workflow/__init__.py:460
+#, python-format
+msgid "refused the publication request for content « {0} »"
+msgstr ""
+
+#: ./src/pyams_content/workflow/__init__.py:464
+msgid "Reset refused publication to draft"
+msgstr ""
+
+#: ./src/pyams_content/workflow/__init__.py:472
+msgid "Reset refused publication to retired"
+msgstr ""
+
+#: ./src/pyams_content/workflow/__init__.py:476
 msgid "State reset to 'refused' (automatic)"
 msgstr ""
 
-#: ./src/pyams_content/workflow/__init__.py:454
-#: ./src/pyams_content/workflow/basic.py:272
-msgid "Pre-publish content"
-msgstr ""
-
-#: ./src/pyams_content/workflow/__init__.py:459
-#: ./src/pyams_content/workflow/basic.py:277
-msgid "Content pre-published"
-msgstr ""
-
-#: ./src/pyams_content/workflow/__init__.py:461
-#: ./src/pyams_content/workflow/basic.py:279
-#, python-format
-msgid "pre-published the content « {0} »"
-msgstr ""
-
-#: ./src/pyams_content/workflow/__init__.py:469
-#: ./src/pyams_content/workflow/__init__.py:495
-#: ./src/pyams_content/workflow/basic.py:301
-#: ./src/pyams_content/workflow/basic.py:313
-msgid "Content published"
-msgstr ""
-
 #: ./src/pyams_content/workflow/__init__.py:480
-#: ./src/pyams_content/workflow/basic.py:290
+#: ./src/pyams_content/workflow/basic.py:284
+msgid "Pre-publish content"
+msgstr ""
+
+#: ./src/pyams_content/workflow/__init__.py:485
+#: ./src/pyams_content/workflow/basic.py:289
+msgid "Content pre-published"
+msgstr ""
+
+#: ./src/pyams_content/workflow/__init__.py:487
+#: ./src/pyams_content/workflow/basic.py:291
+#, python-format
+msgid "pre-published the content « {0} »"
+msgstr ""
+
+#: ./src/pyams_content/workflow/__init__.py:495
+#: ./src/pyams_content/workflow/__init__.py:521
+#: ./src/pyams_content/workflow/basic.py:313
+#: ./src/pyams_content/workflow/basic.py:325
+msgid "Content published"
+msgstr ""
+
+#: ./src/pyams_content/workflow/__init__.py:506
+#: ./src/pyams_content/workflow/basic.py:302
 msgid "Publication canceled"
 msgstr ""
 
-#: ./src/pyams_content/workflow/__init__.py:482
-#: ./src/pyams_content/workflow/basic.py:292
+#: ./src/pyams_content/workflow/__init__.py:508
+#: ./src/pyams_content/workflow/basic.py:304
 #, python-format
 msgid "cancelled the publication for content « {0} »"
 msgstr ""
 
-#: ./src/pyams_content/workflow/__init__.py:497
-#: ./src/pyams_content/workflow/basic.py:315
+#: ./src/pyams_content/workflow/__init__.py:523
+#: ./src/pyams_content/workflow/basic.py:327
 #, python-format
 msgid "published the content « {0} »"
 msgstr ""
 
-#: ./src/pyams_content/workflow/__init__.py:501
+#: ./src/pyams_content/workflow/__init__.py:527
 msgid "Request retiring"
 msgstr ""
 
-#: ./src/pyams_content/workflow/__init__.py:507
+#: ./src/pyams_content/workflow/__init__.py:533
 msgid "Retire request"
 msgstr ""
 
-#: ./src/pyams_content/workflow/__init__.py:511
+#: ./src/pyams_content/workflow/__init__.py:537
 #, python-format
 msgid "submitted a retire request for content « {0} »"
 msgstr ""
 
-#: ./src/pyams_content/workflow/__init__.py:515
+#: ./src/pyams_content/workflow/__init__.py:541
 msgid "Retired content"
 msgstr ""
 
-#: ./src/pyams_content/workflow/__init__.py:519
-msgid "Content retired after passed expiration date"
-msgstr ""
-
-#: ./src/pyams_content/workflow/__init__.py:522
-msgid "Cancel retiring request"
-msgstr ""
-
-#: ./src/pyams_content/workflow/__init__.py:529
-msgid "Retire request canceled"
-msgstr ""
-
-#: ./src/pyams_content/workflow/__init__.py:531
-#, python-format
-msgid "cancelled the retiring request for content « {0} »"
-msgstr ""
-
-#: ./src/pyams_content/workflow/__init__.py:535
-msgid "Retire content"
-msgstr ""
-
-#: ./src/pyams_content/workflow/__init__.py:543
-msgid "Content retired"
-msgstr ""
-
 #: ./src/pyams_content/workflow/__init__.py:545
-#, python-format
-msgid "retired content « {0} »"
+msgid "Content retired after passed expiration date"
+msgstr ""
+
+#: ./src/pyams_content/workflow/__init__.py:548
+msgid "Cancel retiring request"
 msgstr ""
 
 #: ./src/pyams_content/workflow/__init__.py:555
+msgid "Retire request canceled"
+msgstr ""
+
+#: ./src/pyams_content/workflow/__init__.py:557
+#, python-format
+msgid "cancelled the retiring request for content « {0} »"
+msgstr ""
+
+#: ./src/pyams_content/workflow/__init__.py:561
+msgid "Retire content"
+msgstr ""
+
+#: ./src/pyams_content/workflow/__init__.py:569
+msgid "Content retired"
+msgstr ""
+
+#: ./src/pyams_content/workflow/__init__.py:571
+#, python-format
+msgid "retired content « {0} »"
+msgstr ""
+
+#: ./src/pyams_content/workflow/__init__.py:581
 msgid "Archive request"
 msgstr ""
 
-#: ./src/pyams_content/workflow/__init__.py:559
+#: ./src/pyams_content/workflow/__init__.py:585
 #, python-format
 msgid "submitted an archive request for content « {0} »"
 msgstr ""
 
-#: ./src/pyams_content/workflow/__init__.py:563
+#: ./src/pyams_content/workflow/__init__.py:589
 msgid "Cancel archiving request"
 msgstr ""
 
-#: ./src/pyams_content/workflow/__init__.py:570
+#: ./src/pyams_content/workflow/__init__.py:596
 msgid "Archive request canceled"
 msgstr ""
 
-#: ./src/pyams_content/workflow/__init__.py:572
-#, python-format
-msgid "cancelled the archive request for content « {0} »"
-msgstr ""
-
-#: ./src/pyams_content/workflow/__init__.py:576
-#: ./src/pyams_content/workflow/basic.py:319
-msgid "Archive content"
-msgstr ""
-
-#: ./src/pyams_content/workflow/__init__.py:584
-#: ./src/pyams_content/workflow/basic.py:327
-msgid "Content archived"
-msgstr ""
-
-#: ./src/pyams_content/workflow/__init__.py:586
-#: ./src/pyams_content/workflow/basic.py:329
-#, python-format
-msgid "archived content « {0} »"
-msgstr ""
-
-#: ./src/pyams_content/workflow/__init__.py:590
-msgid "Archive published content"
-msgstr ""
-
-#: ./src/pyams_content/workflow/__init__.py:594
-#: ./src/pyams_content/workflow/__init__.py:602
-#: ./src/pyams_content/workflow/__init__.py:610
-msgid "Content archived after version publication"
-msgstr ""
-
 #: ./src/pyams_content/workflow/__init__.py:598
+#, python-format
+msgid "cancelled the archive request for content « {0} »"
+msgstr ""
+
+#: ./src/pyams_content/workflow/__init__.py:602
+#: ./src/pyams_content/workflow/basic.py:331
+msgid "Archive content"
+msgstr ""
+
+#: ./src/pyams_content/workflow/__init__.py:610
+#: ./src/pyams_content/workflow/basic.py:339
+msgid "Content archived"
+msgstr ""
+
+#: ./src/pyams_content/workflow/__init__.py:612
+#: ./src/pyams_content/workflow/basic.py:341
+#, python-format
+msgid "archived content « {0} »"
+msgstr ""
+
+#: ./src/pyams_content/workflow/__init__.py:616
+msgid "Archive published content"
+msgstr ""
+
+#: ./src/pyams_content/workflow/__init__.py:620
+#: ./src/pyams_content/workflow/__init__.py:628
+#: ./src/pyams_content/workflow/__init__.py:636
+msgid "Content archived after version publication"
+msgstr ""
+
+#: ./src/pyams_content/workflow/__init__.py:624
 msgid "Archive retiring content"
 msgstr ""
 
-#: ./src/pyams_content/workflow/__init__.py:606
+#: ./src/pyams_content/workflow/__init__.py:632
 msgid "Archive retired content"
 msgstr ""
 
-#: ./src/pyams_content/workflow/__init__.py:622
-#: ./src/pyams_content/workflow/__init__.py:634
-#: ./src/pyams_content/workflow/__init__.py:646
-#: ./src/pyams_content/workflow/__init__.py:658
-#: ./src/pyams_content/workflow/__init__.py:670
-#: ./src/pyams_content/workflow/basic.py:341
+#: ./src/pyams_content/workflow/__init__.py:648
+#: ./src/pyams_content/workflow/__init__.py:660
+#: ./src/pyams_content/workflow/__init__.py:672
+#: ./src/pyams_content/workflow/__init__.py:684
+#: ./src/pyams_content/workflow/__init__.py:696
 #: ./src/pyams_content/workflow/basic.py:353
+#: ./src/pyams_content/workflow/basic.py:365
 msgid "New version created"
 msgstr ""
 
-#: ./src/pyams_content/workflow/__init__.py:682
-#: ./src/pyams_content/workflow/basic.py:365
+#: ./src/pyams_content/workflow/__init__.py:708
+#: ./src/pyams_content/workflow/basic.py:377
 msgid "Version deleted"
 msgstr ""
 
-#: ./src/pyams_content/workflow/__init__.py:738
-#: ./src/pyams_content/workflow/__init__.py:760
-#: ./src/pyams_content/workflow/basic.py:401
-#: ./src/pyams_content/workflow/basic.py:423
-msgid "Unknown state"
-msgstr ""
-
 #: ./src/pyams_content/workflow/__init__.py:764
+#: ./src/pyams_content/workflow/__init__.py:786
+#: ./src/pyams_content/workflow/basic.py:413
+#: ./src/pyams_content/workflow/basic.py:435
+msgid "Unknown state"
+msgstr ""
+
+#: ./src/pyams_content/workflow/__init__.py:790
 msgid "publication request cancelled"
 msgstr ""
 
-#: ./src/pyams_content/workflow/__init__.py:766
-#: ./src/pyams_content/workflow/basic.py:425
+#: ./src/pyams_content/workflow/__init__.py:792
+#: ./src/pyams_content/workflow/basic.py:437
 msgid "publication refused"
 msgstr ""
 
-#: ./src/pyams_content/workflow/__init__.py:758
-#: ./src/pyams_content/workflow/basic.py:421
+#: ./src/pyams_content/workflow/__init__.py:784
+#: ./src/pyams_content/workflow/basic.py:433
 msgid "new version created"
 msgstr ""
 
-#: ./src/pyams_content/workflow/__init__.py:297
-#: ./src/pyams_content/workflow/basic.py:210
+#: ./src/pyams_content/workflow/__init__.py:323
+#: ./src/pyams_content/workflow/basic.py:222
 #, python-format
 msgid "Published version {0}"
 msgstr ""