Version 0.1.10 0.1.10
authorThierry Florac <thierry.florac@onf.fr>
Fri, 26 Jan 2018 17:21:59 +0100
changeset 340 de5a2a9fdf22
parent 339 50c73e42883a
child 341 db9167237b09
Version 0.1.10
buildout.cfg
docs/HISTORY.txt
docs/README.txt
setup.py
src/pyams_content.egg-info/PKG-INFO
src/pyams_content.egg-info/SOURCES.txt
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
src/pyams_content/zmi/__init__.py
src/pyams_content/zmi/interfaces/__init__.py
--- a/buildout.cfg	Fri Jan 26 16:44:29 2018 +0100
+++ b/buildout.cfg	Fri Jan 26 17:21:59 2018 +0100
@@ -92,4 +92,4 @@
 eggs = pyams_content [test]
 
 [versions]
-pyams_content = 0.1.9
+pyams_content = 0.1.10
--- a/docs/HISTORY.txt	Fri Jan 26 16:44:29 2018 +0100
+++ b/docs/HISTORY.txt	Fri Jan 26 17:21:59 2018 +0100
@@ -1,6 +1,15 @@
 History
 =======
 
+0.1.10
+------
+ - added missing sequence target attributes to blog manager class
+ - added workflow adapters to content links
+ - updated review management interface
+ - updated workflow notifications messages
+ - updated site dashboard columns
+ - moved "pyams_content.zmi" package to "pyams_content.skin.zmi"
+
 0.1.9
 -----
  - added site management features
--- a/docs/README.txt	Fri Jan 26 16:44:29 2018 +0100
+++ b/docs/README.txt	Fri Jan 26 17:21:59 2018 +0100
@@ -0,0 +1,61 @@
+
+PyAMS content configuration directives
+======================================
+
+# Default application factory
+pyams.application_factory = pyams_utils.site.BaseSiteRoot
+
+# Default application name
+pyams.application_name = pyams
+
+# PyAMS mailer
+pyams_mail.mailers = onf.
+onf.name = onf
+onf.host = smtp.onf.fr
+onf.queue_path = /var/local/env/pyams/var/mail
+
+# PyAMS ØMQ TCP handlers
+pyams_scheduler.tcp_handler = 127.0.0.1:5555
+pyams_media.tcp_handler = 127.0.0.1:5556
+pyams_content.es.tcp_handler = 127.0.0.1:5557
+pyams_notify.tcp_handler = 127.0.0.1:8081
+pyams_notify_ws.cache_server = redis://127.0.0.1:6379
+
+
+# PyAMS content settings
+
+# Supported lexicon languages
+pyams_content.lexicon.languages = en:english fr:french
+
+# Shared tools manager name
+pyams_content.config.tools_name = tools
+
+# Shared tools configuration
+# All tools are created by the "pyams_upgrade" application script.
+# For each tool, two settings are available:
+# - a tool factory name, which is the complete class name of the tool manager class; PyAMS provides a default factory
+#   for each tool, that you can override to provide your own custom implementation; this setting can also be set to
+#   "NONE" or "--" if you don't want a given tool to be created.
+# - a tool name
+
+# News shared tool configuration
+pyams_content.config.news_tool_factory = pyams_content.shared.news.manager.NewsManager
+pyams_content.config.news_tool_name = news
+
+# Forms shared tool configuration
+pyams_content.config.forms_tool_factory = pyams_content.shared.form.manager.FormsManager
+pyams_content.config.forms_tool_name = forms
+
+# Views shared tool configuration
+pyams_content.config.views_tool_factory = pyams_content.shared.view.manager.ViewsManager
+pyams_content.config.views_tool_name = views
+
+# Image maps tool configuration
+pyams_content.config.imagemaps_tool_factory = pyams_content.shared.imagemap.manager.ImageMapsManager
+pyams_content.config.imagemaps_tool_name = imagemaps
+
+# Blog manager factory
+pyams_content.config.blog_factory = onf_website.shared.blog.manager.BlogManager
+
+# Site manager factory
+pyams_content.config.site_factory = onf_website.shared.site.manager.SiteManager
--- a/setup.py	Fri Jan 26 16:44:29 2018 +0100
+++ b/setup.py	Fri Jan 26 17:21:59 2018 +0100
@@ -22,7 +22,7 @@
 README = os.path.join(DOCS, 'README.txt')
 HISTORY = os.path.join(DOCS, 'HISTORY.txt')
 
-version = '0.1.9'
+version = '0.1.10'
 long_description = open(README).read() + '\n\n' + open(HISTORY).read()
 
 tests_require = []
--- a/src/pyams_content.egg-info/PKG-INFO	Fri Jan 26 16:44:29 2018 +0100
+++ b/src/pyams_content.egg-info/PKG-INFO	Fri Jan 26 17:21:59 2018 +0100
@@ -1,16 +1,87 @@
 Metadata-Version: 1.1
 Name: pyams-content
-Version: 0.1.9
+Version: 0.1.10
 Summary: PyAMS base content interfaces and classes
 Home-page: http://hg.ztfy.org/pyams/pyams_content
 Author: Thierry Florac
 Author-email: tflorac@ulthar.net
 License: ZPL
+Description-Content-Type: UNKNOWN
 Description: 
+        PyAMS content configuration directives
+        ======================================
+        
+        # Default application factory
+        pyams.application_factory = pyams_utils.site.BaseSiteRoot
+        
+        # Default application name
+        pyams.application_name = pyams
+        
+        # PyAMS mailer
+        pyams_mail.mailers = onf.
+        onf.name = onf
+        onf.host = smtp.onf.fr
+        onf.queue_path = /var/local/env/pyams/var/mail
+        
+        # PyAMS ØMQ TCP handlers
+        pyams_scheduler.tcp_handler = 127.0.0.1:5555
+        pyams_media.tcp_handler = 127.0.0.1:5556
+        pyams_content.es.tcp_handler = 127.0.0.1:5557
+        pyams_notify.tcp_handler = 127.0.0.1:8081
+        pyams_notify_ws.cache_server = redis://127.0.0.1:6379
+        
+        
+        # PyAMS content settings
+        
+        # Supported lexicon languages
+        pyams_content.lexicon.languages = en:english fr:french
+        
+        # Shared tools manager name
+        pyams_content.config.tools_name = tools
+        
+        # Shared tools configuration
+        # All tools are created by the "pyams_upgrade" application script.
+        # For each tool, two settings are available:
+        # - a tool factory name, which is the complete class name of the tool manager class; PyAMS provides a default factory
+        #   for each tool, that you can override to provide your own custom implementation; this setting can also be set to
+        #   "NONE" or "--" if you don't want a given tool to be created.
+        # - a tool name
+        
+        # News shared tool configuration
+        pyams_content.config.news_tool_factory = pyams_content.shared.news.manager.NewsManager
+        pyams_content.config.news_tool_name = news
+        
+        # Forms shared tool configuration
+        pyams_content.config.forms_tool_factory = pyams_content.shared.form.manager.FormsManager
+        pyams_content.config.forms_tool_name = forms
+        
+        # Views shared tool configuration
+        pyams_content.config.views_tool_factory = pyams_content.shared.view.manager.ViewsManager
+        pyams_content.config.views_tool_name = views
+        
+        # Image maps tool configuration
+        pyams_content.config.imagemaps_tool_factory = pyams_content.shared.imagemap.manager.ImageMapsManager
+        pyams_content.config.imagemaps_tool_name = imagemaps
+        
+        # Blog manager factory
+        pyams_content.config.blog_factory = onf_website.shared.blog.manager.BlogManager
+        
+        # Site manager factory
+        pyams_content.config.site_factory = onf_website.shared.site.manager.SiteManager
+        
         
         History
         =======
         
+        0.1.10
+        ------
+         - added missing sequence target attributes to blog manager class
+         - added workflow adapters to content links
+         - updated review management interface
+         - updated workflow notifications messages
+         - updated site dashboard columns
+         - moved "pyams_content.zmi" package to "pyams_content.skin.zmi"
+        
         0.1.9
         -----
          - added site management features
--- a/src/pyams_content.egg-info/SOURCES.txt	Fri Jan 26 16:44:29 2018 +0100
+++ b/src/pyams_content.egg-info/SOURCES.txt	Fri Jan 26 17:21:59 2018 +0100
@@ -244,18 +244,19 @@
 src/pyams_content/skin/resources/js/tinymce/onflinks/langs/fr.js
 src/pyams_content/skin/resources/js/tinymce/onflinks/langs/fr.min.js
 src/pyams_content/skin/resources/less/pyams_content.less
+src/pyams_content/skin/zmi/__init__.py
+src/pyams_content/skin/zmi/tinymce.py
+src/pyams_content/skin/zmi/interfaces/__init__.py
+src/pyams_content/skin/zmi/viewlet/__init__.py
+src/pyams_content/skin/zmi/viewlet/toplinks/__init__.py
+src/pyams_content/skin/zmi/viewlet/toplinks/templates/user-addings.pt
 src/pyams_content/tests/__init__.py
 src/pyams_content/tests/test_utilsdocs.py
 src/pyams_content/tests/test_utilsdocstrings.py
 src/pyams_content/workflow/__init__.py
+src/pyams_content/workflow/basic.py
 src/pyams_content/workflow/interfaces.py
 src/pyams_content/workflow/notify.py
 src/pyams_content/workflow/task.py
 src/pyams_content/workflow/zmi/__init__.py
-src/pyams_content/workflow/zmi/task.py
-src/pyams_content/zmi/__init__.py
-src/pyams_content/zmi/tinymce.py
-src/pyams_content/zmi/interfaces/__init__.py
-src/pyams_content/zmi/viewlet/__init__.py
-src/pyams_content/zmi/viewlet/toplinks/__init__.py
-src/pyams_content/zmi/viewlet/toplinks/templates/user-addings.pt
\ No newline at end of file
+src/pyams_content/workflow/zmi/task.py
\ No newline at end of file
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	Fri Jan 26 16:44:29 2018 +0100
+++ b/src/pyams_content/locales/fr/LC_MESSAGES/pyams_content.po	Fri Jan 26 17:21:59 2018 +0100
@@ -5,7 +5,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE 1.0\n"
-"POT-Creation-Date: 2017-12-07 09:27+0100\n"
+"POT-Creation-Date: 2018-01-24 16:18+0100\n"
 "PO-Revision-Date: 2015-09-10 10:42+0200\n"
 "Last-Translator: Thierry Florac <tflorac@ulthar.net>\n"
 "Language-Team: French\n"
@@ -40,7 +40,7 @@
 msgid "Comment content"
 msgstr "Commenter un contenu"
 
-#: src/pyams_content/__init__.py:49 src/pyams_content/workflow/__init__.py:368
+#: src/pyams_content/__init__.py:49 src/pyams_content/workflow/__init__.py:375
 msgid "Publish content"
 msgstr "Publier le contenu"
 
@@ -113,7 +113,7 @@
 #: src/pyams_content/shared/common/zmi/types.py:205
 #: src/pyams_content/shared/common/zmi/types.py:454
 #: src/pyams_content/shared/imagemap/zmi/container.py:169
-#: src/pyams_content/shared/site/zmi/container.py:527
+#: src/pyams_content/shared/site/zmi/container.py:574
 #: src/pyams_content/root/zmi/sites.py:195
 msgid "No provided object_name argument!"
 msgstr "Argument 'object_name' non fourni !"
@@ -247,13 +247,14 @@
 msgstr "À propos de l'auteur"
 
 #: src/pyams_content/component/gallery/interfaces/__init__.py:64
-msgid "PIF number"
-msgstr "Numéro PIF"
+msgid "Source ID"
+msgstr "ID source"
 
 #: src/pyams_content/component/gallery/interfaces/__init__.py:65
-msgid "Number used to identify media into national library database"
+msgid "Number used to identify media into it's original source"
 msgstr ""
-"Numéro utilisé pour identifier cette image dans la médiathèque nationale"
+"Identifiant ou référence de cette image dans la base de données dont elle "
+"est issue ; au besoin, préciser le nom de cette base"
 
 #: src/pyams_content/component/gallery/interfaces/__init__.py:68
 #: src/pyams_content/component/extfile/interfaces/__init__.py:97
@@ -290,7 +291,7 @@
 
 #: src/pyams_content/component/gallery/interfaces/__init__.py:89
 #: src/pyams_content/component/extfile/interfaces/__init__.py:36
-#: src/pyams_content/component/paragraph/zmi/container.py:222
+#: src/pyams_content/component/paragraph/zmi/container.py:221
 #: src/pyams_content/component/links/zmi/reverse.py:71
 #: src/pyams_content/shared/common/zmi/dashboard.py:109
 #: src/pyams_content/shared/common/zmi/templates/advanced-search.pt:188
@@ -589,21 +590,21 @@
 msgid "Switch paragraph visibility"
 msgstr "Cliquez pour rendre le paragraphe visible ou non"
 
-#: src/pyams_content/component/paragraph/zmi/container.py:238
+#: src/pyams_content/component/paragraph/zmi/container.py:237
 msgid "Show/hide all paragraphs"
 msgstr "Afficher/masquer tous les paragraphes"
 
-#: src/pyams_content/component/paragraph/zmi/container.py:284
-#: src/pyams_content/component/paragraph/zmi/container.py:293
+#: src/pyams_content/component/paragraph/zmi/container.py:283
+#: src/pyams_content/component/paragraph/zmi/container.py:292
 msgid "Paragraphs list"
 msgstr "Liste des paragraphes"
 
-#: src/pyams_content/component/paragraph/zmi/container.py:392
+#: src/pyams_content/component/paragraph/zmi/container.py:391
 #: src/pyams_content/component/association/zmi/__init__.py:102
 msgid "Associations..."
 msgstr "Associations"
 
-#: src/pyams_content/component/paragraph/zmi/container.py:404
+#: src/pyams_content/component/paragraph/zmi/container.py:403
 msgid "Paragraphs associations"
 msgstr "Associations par paragraphe"
 
@@ -611,11 +612,11 @@
 msgid "No currently defined paragraph."
 msgstr "Aucun paragraphe associé à ce contenu."
 
-#: src/pyams_content/component/paragraph/zmi/container.py:247
+#: src/pyams_content/component/paragraph/zmi/container.py:246
 msgid "Click to open/close all paragraphs editors"
 msgstr "Afficher/masquer tous les paragraphes"
 
-#: src/pyams_content/component/paragraph/zmi/container.py:260
+#: src/pyams_content/component/paragraph/zmi/container.py:259
 msgid "Click to open/close paragraph editor"
 msgstr "Afficher/masquer ce paragraphe"
 
@@ -939,7 +940,8 @@
 #: src/pyams_content/shared/common/__init__.py:253
 #, python-format
 msgid "title length should be between 40 and 66 characters ({length} actually)"
-msgstr "Le titre devrait être composé de 40 à 66 caractères ({length} actuellement)"
+msgstr ""
+"Le titre devrait être composé de 40 à 66 caractères ({length} actuellement)"
 
 #: src/pyams_content/shared/common/zmi/search.py:87
 #: src/pyams_content/root/zmi/search.py:85
@@ -959,14 +961,13 @@
 msgstr "Résultats de la recherche avancée"
 
 #: src/pyams_content/shared/common/zmi/search.py:150
-#: src/pyams_content/shared/common/zmi/dashboard.py:226
+#: src/pyams_content/shared/common/zmi/dashboard.py:231
 #: src/pyams_content/root/zmi/search.py:152
 msgid "Owner"
 msgstr "Propriétaire"
 
 #: src/pyams_content/shared/common/zmi/search.py:153
-#: src/pyams_content/shared/common/zmi/dashboard.py:150
-#: src/pyams_content/shared/site/zmi/container.py:345
+#: src/pyams_content/shared/common/zmi/dashboard.py:154
 msgid "Status"
 msgstr "Statut"
 
@@ -1072,17 +1073,17 @@
 msgstr "Le sous-type de contenu indiqué n'existe pas !"
 
 #: src/pyams_content/shared/common/zmi/workflow.py:115
-#: src/pyams_content/shared/common/zmi/workflow.py:202
-#: src/pyams_content/shared/common/zmi/workflow.py:247
-#: src/pyams_content/shared/common/zmi/workflow.py:306
-#: src/pyams_content/shared/common/zmi/workflow.py:395
-#: src/pyams_content/shared/common/zmi/workflow.py:456
-#: src/pyams_content/shared/common/zmi/workflow.py:501
-#: src/pyams_content/shared/common/zmi/workflow.py:547
-#: src/pyams_content/shared/common/zmi/workflow.py:595
-#: src/pyams_content/shared/common/zmi/workflow.py:640
-#: src/pyams_content/shared/common/zmi/workflow.py:686
-#: src/pyams_content/shared/common/zmi/workflow.py:739
+#: src/pyams_content/shared/common/zmi/workflow.py:206
+#: src/pyams_content/shared/common/zmi/workflow.py:251
+#: src/pyams_content/shared/common/zmi/workflow.py:310
+#: src/pyams_content/shared/common/zmi/workflow.py:403
+#: src/pyams_content/shared/common/zmi/workflow.py:464
+#: src/pyams_content/shared/common/zmi/workflow.py:509
+#: src/pyams_content/shared/common/zmi/workflow.py:555
+#: src/pyams_content/shared/common/zmi/workflow.py:603
+#: src/pyams_content/shared/common/zmi/workflow.py:648
+#: src/pyams_content/shared/common/zmi/workflow.py:694
+#: src/pyams_content/shared/common/zmi/workflow.py:747
 #: src/pyams_content/shared/common/zmi/__init__.py:272
 #: src/pyams_content/shared/common/zmi/owner.py:74
 #: src/pyams_content/features/review/zmi/__init__.py:90
@@ -1093,73 +1094,73 @@
 msgid "Request publication"
 msgstr "Demander la publication"
 
-#: src/pyams_content/shared/common/zmi/workflow.py:203
-#: src/pyams_content/workflow/__init__.py:310
+#: src/pyams_content/shared/common/zmi/workflow.py:207
+#: src/pyams_content/workflow/__init__.py:315
 msgid "Cancel publication request"
 msgstr "Annuler la demande de publication"
 
-#: src/pyams_content/shared/common/zmi/workflow.py:248
+#: src/pyams_content/shared/common/zmi/workflow.py:252
 msgid "Refuse publication request"
 msgstr "Refuser la demande de publication"
 
-#: src/pyams_content/shared/common/zmi/workflow.py:307
+#: src/pyams_content/shared/common/zmi/workflow.py:311
 msgid "Publish"
 msgstr "Publier"
 
-#: src/pyams_content/shared/common/zmi/workflow.py:396
+#: src/pyams_content/shared/common/zmi/workflow.py:404
 msgid "Request retire"
 msgstr "Demander le retrait"
 
-#: src/pyams_content/shared/common/zmi/workflow.py:457
+#: src/pyams_content/shared/common/zmi/workflow.py:465
 msgid "Cancel retire request"
 msgstr "Annuler la demande de retrait"
 
-#: src/pyams_content/shared/common/zmi/workflow.py:502
+#: src/pyams_content/shared/common/zmi/workflow.py:510
 msgid "Retire"
 msgstr "Retirer"
 
-#: src/pyams_content/shared/common/zmi/workflow.py:548
-#: src/pyams_content/workflow/__init__.py:429
+#: src/pyams_content/shared/common/zmi/workflow.py:556
+#: src/pyams_content/workflow/__init__.py:436
 msgid "Request archive"
 msgstr "Demander l'archivage"
 
-#: src/pyams_content/shared/common/zmi/workflow.py:596
+#: src/pyams_content/shared/common/zmi/workflow.py:604
 msgid "Cancel archive request"
 msgstr "Annuler la demande d'archivage"
 
-#: src/pyams_content/shared/common/zmi/workflow.py:641
+#: src/pyams_content/shared/common/zmi/workflow.py:649
 msgid "Archive"
 msgstr "Archiver"
 
-#: src/pyams_content/shared/common/zmi/workflow.py:687
-#: src/pyams_content/workflow/__init__.py:494
-#: src/pyams_content/workflow/__init__.py:506
-#: src/pyams_content/workflow/__init__.py:518
-#: src/pyams_content/workflow/__init__.py:530
-#: src/pyams_content/workflow/__init__.py:542
+#: src/pyams_content/shared/common/zmi/workflow.py:695
+#: src/pyams_content/workflow/__init__.py:501
+#: src/pyams_content/workflow/__init__.py:513
+#: src/pyams_content/workflow/__init__.py:525
+#: src/pyams_content/workflow/__init__.py:537
+#: src/pyams_content/workflow/__init__.py:549
 msgid "Create new version"
 msgstr "Créer une nouvelle version"
 
-#: src/pyams_content/shared/common/zmi/workflow.py:740
-#: src/pyams_content/workflow/__init__.py:554
+#: src/pyams_content/shared/common/zmi/workflow.py:748
+#: src/pyams_content/workflow/__init__.py:561
 msgid "Delete version"
 msgstr "Supprimer cette version"
 
-#: src/pyams_content/shared/common/zmi/workflow.py:173
-#: src/pyams_content/shared/common/zmi/workflow.py:365
+#: src/pyams_content/shared/common/zmi/workflow.py:177
+#: src/pyams_content/shared/common/zmi/workflow.py:373
 msgid "Publication start date is required"
 msgstr "La date de début de publication est obligatoire"
 
-#: src/pyams_content/shared/common/zmi/workflow.py:276
-#: src/pyams_content/shared/common/zmi/workflow.py:427
+#: src/pyams_content/shared/common/zmi/workflow.py:280
+#: src/pyams_content/shared/common/zmi/workflow.py:435
 msgid "A comment is required"
 msgstr "Le commentaire est obligatoire"
 
-#: src/pyams_content/shared/common/zmi/workflow.py:763
+#: src/pyams_content/shared/common/zmi/workflow.py:771
 msgid "Delete content"
 msgstr "Supprimer définitivement ce contenu"
 
-#: src/pyams_content/shared/common/zmi/workflow.py:772
+#: src/pyams_content/shared/common/zmi/workflow.py:780
 msgid "Delete definitively"
 msgstr "Supprimer définitivement"
 
@@ -1169,8 +1170,8 @@
 msgstr "{state} | par {principal}"
 
 #: src/pyams_content/shared/common/zmi/workflow.py:76
-#: src/pyams_content/workflow/__init__.py:610
-#: src/pyams_content/workflow/__init__.py:633
+#: src/pyams_content/workflow/__init__.py:617
+#: src/pyams_content/workflow/__init__.py:640
 #, python-format
 msgid "{state} {date}"
 msgstr "{state} {date}"
@@ -1231,8 +1232,7 @@
 msgstr "Commentaire associé"
 
 #: src/pyams_content/shared/common/zmi/summary.py:159
-#: src/pyams_content/shared/common/zmi/dashboard.py:193
-#: src/pyams_content/shared/site/zmi/container.py:365
+#: src/pyams_content/shared/common/zmi/dashboard.py:198
 msgid "Version"
 msgstr "Version"
 
@@ -1333,278 +1333,278 @@
 msgid "Unique ID"
 msgstr "N° IN"
 
-#: src/pyams_content/shared/common/zmi/dashboard.py:176
+#: src/pyams_content/shared/common/zmi/dashboard.py:181
 msgid "Status date"
 msgstr "En date du"
 
-#: src/pyams_content/shared/common/zmi/dashboard.py:208
+#: src/pyams_content/shared/common/zmi/dashboard.py:213
 msgid "Status principal"
 msgstr "Intervenant"
 
-#: src/pyams_content/shared/common/zmi/dashboard.py:245
+#: src/pyams_content/shared/common/zmi/dashboard.py:250
 msgid "Last modification"
 msgstr "Dernière modification"
 
-#: src/pyams_content/shared/common/zmi/dashboard.py:263
+#: src/pyams_content/shared/common/zmi/dashboard.py:273
 #: src/pyams_content/root/zmi/__init__.py:91
 msgid "Dashboard"
 msgstr "Tableau de bord"
 
-#: src/pyams_content/shared/common/zmi/dashboard.py:273
+#: src/pyams_content/shared/common/zmi/dashboard.py:283
 msgid "Contents dashboard"
 msgstr "Mon tableau de bord"
 
-#: src/pyams_content/shared/common/zmi/dashboard.py:319
+#: src/pyams_content/shared/common/zmi/dashboard.py:329
 #: src/pyams_content/root/zmi/__init__.py:140
 #, python-format
 msgid "MANAGER - {0} content waiting for your action"
 msgstr "RESPONSABLE - {0} contenu en attente de votre intervention"
 
-#: src/pyams_content/shared/common/zmi/dashboard.py:320
+#: src/pyams_content/shared/common/zmi/dashboard.py:330
 #: src/pyams_content/root/zmi/__init__.py:141
 #, python-format
 msgid "MANAGER - {0} contents waiting for your action"
 msgstr "RESPONSABLE - {0} contenus en attente de votre intervention"
 
-#: src/pyams_content/shared/common/zmi/dashboard.py:360
+#: src/pyams_content/shared/common/zmi/dashboard.py:370
 #: src/pyams_content/root/zmi/__init__.py:184
 #, python-format
 msgid "CONTRIBUTOR - {0} content waiting for action"
 msgstr "CONTRIBUTEUR - {0} contenu soumis à un responsable"
 
-#: src/pyams_content/shared/common/zmi/dashboard.py:361
+#: src/pyams_content/shared/common/zmi/dashboard.py:371
 #: src/pyams_content/root/zmi/__init__.py:185
 #, python-format
 msgid "CONTRIBUTOR - {0} contents waiting for action"
 msgstr "CONTRIBUTEUR - {0} contenus soumis à un responsable"
 
-#: src/pyams_content/shared/common/zmi/dashboard.py:392
+#: src/pyams_content/shared/common/zmi/dashboard.py:402
 #: src/pyams_content/root/zmi/__init__.py:219
 #, python-format
 msgid "CONTRIBUTOR - {0} modified content"
 msgstr "CONTRIBUTEUR - {0} contenu modifié"
 
-#: src/pyams_content/shared/common/zmi/dashboard.py:433
+#: src/pyams_content/shared/common/zmi/dashboard.py:443
 #: src/pyams_content/root/zmi/__init__.py:262
 msgid "My contents"
 msgstr "Mes contenus"
 
-#: src/pyams_content/shared/common/zmi/dashboard.py:448
+#: src/pyams_content/shared/common/zmi/dashboard.py:458
 #: src/pyams_content/shared/common/zmi/templates/dashboard.pt:8
 #: src/pyams_content/root/zmi/__init__.py:277
 #: src/pyams_content/root/zmi/templates/dashboard.pt:8
 msgid "My favorites"
 msgstr "Mes favoris"
 
-#: src/pyams_content/shared/common/zmi/dashboard.py:457
+#: src/pyams_content/shared/common/zmi/dashboard.py:467
 #: src/pyams_content/root/zmi/__init__.py:286
 #, python-format
 msgid "CONTRIBUTOR - {0} favorite"
 msgstr "CONTRIBUTEUR - {0} contenu favori"
 
-#: src/pyams_content/shared/common/zmi/dashboard.py:458
+#: src/pyams_content/shared/common/zmi/dashboard.py:468
 #: src/pyams_content/root/zmi/__init__.py:287
 #, python-format
 msgid "CONTRIBUTOR - {0} favorites"
 msgstr "CONTRIBUTEUR - {0} contenus favoris"
 
-#: src/pyams_content/shared/common/zmi/dashboard.py:470
+#: src/pyams_content/shared/common/zmi/dashboard.py:480
 #: src/pyams_content/shared/common/zmi/templates/header.pt:23
 msgid "Add/remove from favorites"
 msgstr "Ajouter/enlever des favoris"
 
-#: src/pyams_content/shared/common/zmi/dashboard.py:533
+#: src/pyams_content/shared/common/zmi/dashboard.py:543
 #: src/pyams_content/root/zmi/__init__.py:325
 msgid "Your favorites"
 msgstr "Mes favoris"
 
-#: src/pyams_content/shared/common/zmi/dashboard.py:546
+#: src/pyams_content/shared/common/zmi/dashboard.py:556
 #: src/pyams_content/root/zmi/__init__.py:338
 msgid "My preparations"
 msgstr "Mes préparations"
 
-#: src/pyams_content/shared/common/zmi/dashboard.py:555
+#: src/pyams_content/shared/common/zmi/dashboard.py:565
 #: src/pyams_content/root/zmi/__init__.py:347
 #, python-format
 msgid "CONTRIBUTOR - {0} prepared content"
 msgstr "CONTRIBUTEUR - {0} contenu en préparation"
 
-#: src/pyams_content/shared/common/zmi/dashboard.py:556
+#: src/pyams_content/shared/common/zmi/dashboard.py:566
 #: src/pyams_content/root/zmi/__init__.py:348
 #, python-format
 msgid "CONTRIBUTOR - {0} prepared contents"
 msgstr "CONTRIBUTEUR - {0} contenus en préparation"
 
-#: src/pyams_content/shared/common/zmi/dashboard.py:595
+#: src/pyams_content/shared/common/zmi/dashboard.py:605
 #: src/pyams_content/root/zmi/__init__.py:386
 msgid "Your prepared contents"
 msgstr "Mes contenus en préparation"
 
-#: src/pyams_content/shared/common/zmi/dashboard.py:608
+#: src/pyams_content/shared/common/zmi/dashboard.py:618
 #: src/pyams_content/root/zmi/__init__.py:399
 msgid "My submissions"
 msgstr "Mes demandes"
 
-#: src/pyams_content/shared/common/zmi/dashboard.py:617
+#: src/pyams_content/shared/common/zmi/dashboard.py:627
 #: src/pyams_content/root/zmi/__init__.py:408
 #, python-format
 msgid "CONTRIBUTOR - {0} submitted content"
 msgstr "CONTRIBUTEUR - {0} contenu soumis à un responsable"
 
-#: src/pyams_content/shared/common/zmi/dashboard.py:618
+#: src/pyams_content/shared/common/zmi/dashboard.py:628
 #: src/pyams_content/root/zmi/__init__.py:409
 #, python-format
 msgid "CONTRIBUTOR - {0} submitted contents"
 msgstr "CONTRIBUTEUR - {0} contenus soumis à un responsable"
 
-#: src/pyams_content/shared/common/zmi/dashboard.py:657
+#: src/pyams_content/shared/common/zmi/dashboard.py:667
 #: src/pyams_content/root/zmi/__init__.py:447
 msgid "Your submitted contents"
 msgstr "Mes contenus soumis à un responsable"
 
-#: src/pyams_content/shared/common/zmi/dashboard.py:670
+#: src/pyams_content/shared/common/zmi/dashboard.py:680
 #: src/pyams_content/root/zmi/__init__.py:460
 msgid "My publications"
 msgstr "Mes publications"
 
-#: src/pyams_content/shared/common/zmi/dashboard.py:679
+#: src/pyams_content/shared/common/zmi/dashboard.py:689
 #: src/pyams_content/root/zmi/__init__.py:469
 #, python-format
 msgid "CONTRIBUTOR - {0} published content"
 msgstr "CONTRIBUTEUR - {0} contenu publié"
 
-#: src/pyams_content/shared/common/zmi/dashboard.py:680
+#: src/pyams_content/shared/common/zmi/dashboard.py:690
 #: src/pyams_content/root/zmi/__init__.py:470
 #, python-format
 msgid "CONTRIBUTOR - {0} published contents"
 msgstr "CONTRIBUTEUR - {0} contenus publiés"
 
-#: src/pyams_content/shared/common/zmi/dashboard.py:719
+#: src/pyams_content/shared/common/zmi/dashboard.py:729
 #: src/pyams_content/root/zmi/__init__.py:508
 msgid "Your published contents"
 msgstr "Mes contenus publiés"
 
-#: src/pyams_content/shared/common/zmi/dashboard.py:732
+#: src/pyams_content/shared/common/zmi/dashboard.py:742
 #: src/pyams_content/root/zmi/__init__.py:521
 msgid "My retired contents"
 msgstr "Mes contenus retirés"
 
-#: src/pyams_content/shared/common/zmi/dashboard.py:741
+#: src/pyams_content/shared/common/zmi/dashboard.py:751
 #: src/pyams_content/root/zmi/__init__.py:530
 #, python-format
 msgid "CONTRIBUTOR - {0} retired content"
 msgstr "CONTRIBUTEUR - {0} contenu retiré"
 
-#: src/pyams_content/shared/common/zmi/dashboard.py:742
+#: src/pyams_content/shared/common/zmi/dashboard.py:752
 #: src/pyams_content/root/zmi/__init__.py:531
 #, python-format
 msgid "CONTRIBUTOR - {0} retired contents"
 msgstr "CONTRIBUTEUR - {0} contenus retirés"
 
-#: src/pyams_content/shared/common/zmi/dashboard.py:782
+#: src/pyams_content/shared/common/zmi/dashboard.py:792
 #: src/pyams_content/root/zmi/__init__.py:570
 msgid "Your retired contents"
 msgstr "Mes contenus retirés"
 
-#: src/pyams_content/shared/common/zmi/dashboard.py:795
+#: src/pyams_content/shared/common/zmi/dashboard.py:805
 #: src/pyams_content/root/zmi/__init__.py:583
 msgid "My archived contents"
 msgstr "Mes contenus archivés"
 
-#: src/pyams_content/shared/common/zmi/dashboard.py:804
+#: src/pyams_content/shared/common/zmi/dashboard.py:814
 #: src/pyams_content/root/zmi/__init__.py:592
 #, python-format
 msgid "CONTRIBUTOR - {0} archived content"
 msgstr "CONTRIBUTEUR - {0} contenu archivé"
 
-#: src/pyams_content/shared/common/zmi/dashboard.py:805
+#: src/pyams_content/shared/common/zmi/dashboard.py:815
 #: src/pyams_content/root/zmi/__init__.py:593
 #, python-format
 msgid "CONTRIBUTOR - {0} archived contents"
 msgstr "CONTRIBUTEUR - {0} contenus archivés"
 
-#: src/pyams_content/shared/common/zmi/dashboard.py:851
+#: src/pyams_content/shared/common/zmi/dashboard.py:861
 #: src/pyams_content/root/zmi/__init__.py:638
 msgid "Your archived contents"
 msgstr "Mes contenus archivés"
 
-#: src/pyams_content/shared/common/zmi/dashboard.py:865
+#: src/pyams_content/shared/common/zmi/dashboard.py:875
 #: src/pyams_content/root/zmi/__init__.py:652
 msgid "Other interventions"
 msgstr "Toutes les interventions"
 
-#: src/pyams_content/shared/common/zmi/dashboard.py:880
+#: src/pyams_content/shared/common/zmi/dashboard.py:890
 #: src/pyams_content/root/zmi/__init__.py:667
 msgid "Last publications"
 msgstr "Dernières publications"
 
-#: src/pyams_content/shared/common/zmi/dashboard.py:889
+#: src/pyams_content/shared/common/zmi/dashboard.py:899
 #: src/pyams_content/root/zmi/__init__.py:676
 #, python-format
 msgid "CONTRIBUTORS - {0} published content"
 msgstr "TOUS CONTRIBUTEURS - {0} contenu publié"
 
-#: src/pyams_content/shared/common/zmi/dashboard.py:935
+#: src/pyams_content/shared/common/zmi/dashboard.py:945
 #: src/pyams_content/root/zmi/__init__.py:721
 msgid "Last published contents"
 msgstr "Derniers contenus publiés"
 
-#: src/pyams_content/shared/common/zmi/dashboard.py:948
+#: src/pyams_content/shared/common/zmi/dashboard.py:958
 #: src/pyams_content/root/zmi/__init__.py:734
 msgid "Last updates"
 msgstr "Dernières modifications"
 
-#: src/pyams_content/shared/common/zmi/dashboard.py:957
+#: src/pyams_content/shared/common/zmi/dashboard.py:967
 #: src/pyams_content/root/zmi/__init__.py:743
 #, python-format
 msgid "CONTRIBUTORS - {0} updated content"
 msgstr "TOUS CONTRIBUTEURS - {0} contenu modifié"
 
-#: src/pyams_content/shared/common/zmi/dashboard.py:1002
+#: src/pyams_content/shared/common/zmi/dashboard.py:1012
 #: src/pyams_content/root/zmi/__init__.py:787
 msgid "Last updated contents"
 msgstr "Derniers contenus modifiés"
 
-#: src/pyams_content/shared/common/zmi/dashboard.py:397
+#: src/pyams_content/shared/common/zmi/dashboard.py:407
 #: src/pyams_content/root/zmi/__init__.py:224
 #, python-format
 msgid "CONTRIBUTOR - {0} modified contents"
 msgstr "CONTRIBUTEUR - {0} contenus modifiés"
 
-#: src/pyams_content/shared/common/zmi/dashboard.py:399
+#: src/pyams_content/shared/common/zmi/dashboard.py:409
 #: src/pyams_content/root/zmi/__init__.py:226
 #, python-format
 msgid "CONTRIBUTOR - Last {0} modified contents"
 msgstr "CONTRIBUTEUR - Les {0} dernières modifications"
 
-#: src/pyams_content/shared/common/zmi/dashboard.py:894
+#: src/pyams_content/shared/common/zmi/dashboard.py:904
 #: src/pyams_content/root/zmi/__init__.py:681
 #, python-format
 msgid "CONTRIBUTORS - Last {0} published contents"
 msgstr "TOUS CONTRIBUTEURS - Les {0} dernières publications"
 
-#: src/pyams_content/shared/common/zmi/dashboard.py:896
+#: src/pyams_content/shared/common/zmi/dashboard.py:906
 #: src/pyams_content/root/zmi/__init__.py:683
 msgid "CONTRIBUTORS - Last published contents (in the limit of 50)"
 msgstr "TOUS CONTRIBUTEURS - Les {0} dernières publications"
 
-#: src/pyams_content/shared/common/zmi/dashboard.py:962
+#: src/pyams_content/shared/common/zmi/dashboard.py:972
 #: src/pyams_content/root/zmi/__init__.py:748
 #, python-format
 msgid "CONTRIBUTORS - Last {0} updated contents"
 msgstr "TOUS CONTRIBUTEURS - Les {0} dernières modifications"
 
-#: src/pyams_content/shared/common/zmi/dashboard.py:964
+#: src/pyams_content/shared/common/zmi/dashboard.py:974
 #: src/pyams_content/root/zmi/__init__.py:750
 msgid "CONTRIBUTORS - Last updated contents (in the limit of 50)"
 msgstr "TOUS CONTRIBUTEURS - Les {0} dernières modifications"
 
-#: src/pyams_content/shared/common/zmi/dashboard.py:296
+#: src/pyams_content/shared/common/zmi/dashboard.py:306
 #, python-format
 msgid "SEARCH - Between all contents of type &laquo;&nbsp;{type}&nbsp;&raquo;"
 msgstr "RECHERCHE - Tous contenus &laquo;&nbsp;{type}&nbsp;&raquo; confondus"
 
-#: src/pyams_content/shared/common/zmi/dashboard.py:166
+#: src/pyams_content/shared/common/zmi/dashboard.py:171
 #: src/pyams_content/shared/common/zmi/header.py:96
 msgid "Content publication start date is not passed yet"
 msgstr "La date de début de publication n'est pas encore atteinte"
@@ -2589,6 +2589,7 @@
 msgstr "Inclure les références internes seulement lorsque la vue est vide"
 
 #: src/pyams_content/shared/view/interfaces/__init__.py:56
+#: src/pyams_content/root/zmi/search.py:148
 msgid "Content types"
 msgstr "Types de contenus"
 
@@ -2774,12 +2775,12 @@
 
 #: src/pyams_content/shared/site/zmi/folder.py:67
 #: src/pyams_content/shared/site/zmi/__init__.py:61
-#: src/pyams_content/shared/site/zmi/link.py:69
+#: src/pyams_content/shared/site/zmi/link.py:68
 msgid "Parent"
 msgstr "Niveau parent"
 
 #: src/pyams_content/shared/site/zmi/folder.py:68
-#: src/pyams_content/shared/site/zmi/link.py:70
+#: src/pyams_content/shared/site/zmi/link.py:69
 msgid "Folder's parent"
 msgstr "Niveau de rattachement de cette rubrique"
 
@@ -2801,65 +2802,66 @@
 msgid "Topic's parent"
 msgstr "Niveau parent"
 
-#: src/pyams_content/shared/site/zmi/link.py:60
+#: src/pyams_content/shared/site/zmi/link.py:59
 msgid "Rent content..."
 msgstr "Lier un contenu"
 
-#: src/pyams_content/shared/site/zmi/link.py:79
+#: src/pyams_content/shared/site/zmi/link.py:78
 msgid "Rent existing content"
 msgstr "Lier un contenu existant"
 
-#: src/pyams_content/shared/site/zmi/link.py:140
+#: src/pyams_content/shared/site/zmi/link.py:139
 msgid "Edit content link properties"
 msgstr "Propriétés du lien"
 
-#: src/pyams_content/shared/site/zmi/container.py:99
-#: src/pyams_content/shared/site/zmi/container.py:111
+#: src/pyams_content/shared/site/zmi/container.py:102
+#: src/pyams_content/shared/site/zmi/container.py:114
 #: src/pyams_content/shared/blog/zmi/manager.py:149
 msgid "Publication dates..."
 msgstr "Dates de publication"
 
-#: src/pyams_content/shared/site/zmi/container.py:122
+#: src/pyams_content/shared/site/zmi/container.py:125
 #: src/pyams_content/shared/blog/zmi/manager.py:160
 msgid "Update publication dates"
 msgstr "Dates de publication"
 
-#: src/pyams_content/shared/site/zmi/container.py:171
-#: src/pyams_content/shared/site/zmi/container.py:181
+#: src/pyams_content/shared/site/zmi/container.py:174
+#: src/pyams_content/shared/site/zmi/container.py:184
 #: src/pyams_content/root/zmi/sites.py:67
 msgid "Site tree"
 msgstr "Arborescence du site"
 
-#: src/pyams_content/shared/site/zmi/container.py:248
-#: src/pyams_content/shared/site/zmi/container.py:146
+#: src/pyams_content/shared/site/zmi/container.py:251
+#: src/pyams_content/shared/site/zmi/container.py:149
 msgid "Visible element?"
 msgstr "Élément visible ?"
 
-#: src/pyams_content/shared/site/zmi/container.py:287
+#: src/pyams_content/shared/site/zmi/container.py:290
 msgid "Folders and topics"
 msgstr "Rubriques et articles"
 
-#: src/pyams_content/shared/site/zmi/container.py:323
-#: src/pyams_content/root/zmi/sites.py:133
-msgid "OID"
-msgstr "N° IN"
-
-#: src/pyams_content/shared/site/zmi/container.py:379
+#: src/pyams_content/shared/site/zmi/container.py:410
 msgid "Delete site item"
 msgstr "Supprimer ce contenu"
 
-#: src/pyams_content/shared/site/zmi/container.py:296
+#: src/pyams_content/shared/site/zmi/container.py:299
 msgid "Click to open/close all folders"
 msgstr "Afficher/masquer toutes les rubriques"
 
-#: src/pyams_content/shared/site/zmi/container.py:312
+#: src/pyams_content/shared/site/zmi/container.py:315
 msgid "Click to show/hide inner folders"
 msgstr "Cliquer pour afficher ou cache les sous-niveaux"
 
-#: src/pyams_content/shared/site/zmi/container.py:531
+#: src/pyams_content/shared/site/zmi/container.py:578
 msgid "Given object name doesn't exist!"
 msgstr "Le nom d'objet indiqué n'existe pas !"
 
+#: src/pyams_content/shared/site/zmi/container.py:517
+msgid "Can't reparent object to one of it's children. Reloading..."
+msgstr ""
+"Impossible de déplacer une rubrique dans l'une de ses sous-rubriques ou "
+"contenus ! Rechargement de la page..."
+
 #: src/pyams_content/shared/site/zmi/manager.py:79
 #: src/pyams_content/shared/site/zmi/manager.py:91
 msgid "Add site manager"
@@ -2957,6 +2959,10 @@
 msgid "Visible site?"
 msgstr "Site visible ?"
 
+#: src/pyams_content/root/zmi/sites.py:133
+msgid "OID"
+msgstr "N° IN"
+
 #: src/pyams_content/root/zmi/sites.py:151
 msgid "Delete shared site"
 msgstr "Supprimer ce site"
@@ -2965,10 +2971,6 @@
 msgid "Given site name doesn't exist!"
 msgstr "Le nom de site indiqué n'existe pas !"
 
-#: src/pyams_content/root/zmi/search.py:148
-msgid "Content type"
-msgstr "Type de contenu"
-
 #: src/pyams_content/root/zmi/__init__.py:77
 msgid "Home"
 msgstr "Accueil"
@@ -3087,28 +3089,28 @@
 msgid "archived"
 msgstr "archivé"
 
-#: src/pyams_content/workflow/__init__.py:274
+#: src/pyams_content/workflow/__init__.py:279
 msgid "Initialize"
 msgstr "Création"
 
-#: src/pyams_content/workflow/__init__.py:277
+#: src/pyams_content/workflow/__init__.py:282
 msgid "Draft creation"
 msgstr "Création du brouillon"
 
-#: src/pyams_content/workflow/__init__.py:280
-#: src/pyams_content/workflow/__init__.py:295
+#: src/pyams_content/workflow/__init__.py:285
+#: src/pyams_content/workflow/__init__.py:300
 msgid "Propose publication"
 msgstr "Demander la publication"
 
-#: src/pyams_content/workflow/__init__.py:287
-#: src/pyams_content/workflow/__init__.py:302
+#: src/pyams_content/workflow/__init__.py:292
+#: src/pyams_content/workflow/__init__.py:307
 msgid "Publication request"
 msgstr "Demande de publication"
 
-#: src/pyams_content/workflow/__init__.py:288
-#: src/pyams_content/workflow/__init__.py:303
-#: src/pyams_content/workflow/__init__.py:389
-#: src/pyams_content/workflow/__init__.py:436
+#: src/pyams_content/workflow/__init__.py:293
+#: src/pyams_content/workflow/__init__.py:308
+#: src/pyams_content/workflow/__init__.py:396
+#: src/pyams_content/workflow/__init__.py:443
 msgid ""
 "content managers authorized to take charge of your content are going to be "
 "notified of your request."
@@ -3116,198 +3118,193 @@
 "les responsables habilités à prendre en charge votre demande vont être "
 "sollicités."
 
-#: src/pyams_content/workflow/__init__.py:291
-#, python-format
-msgid "A publication request has been submitted for content « {0} »"
-msgstr "Une demande de publication a été soumise pour le contenu « {0} »"
-
-#: src/pyams_content/workflow/__init__.py:306
+#: src/pyams_content/workflow/__init__.py:296
+#: src/pyams_content/workflow/__init__.py:311
 #, python-format
-msgid "A new publication request has been submitted for content « {0} »"
-msgstr ""
-"Une demande de nouvelle publication a été soumise pour le contenu « {0} »"
-
-#: src/pyams_content/workflow/__init__.py:317
-msgid "Publication request canceled"
-msgstr "Annulation de la demande de publication"
-
-#: src/pyams_content/workflow/__init__.py:319
-#, python-format
-msgid "The publication request for content « {0} » has been cancelled"
-msgstr "La demande de publication du contenu « {0} » a été annulée"
+msgid "submitted a publication request for content « {0} »"
+msgstr "a demandé la publication du contenu « {0} »"
 
 #: src/pyams_content/workflow/__init__.py:323
+msgid "Publication request canceled"
+msgstr "Annulation de la demande de publication"
+
+#: src/pyams_content/workflow/__init__.py:325
+#, 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:329
 msgid "Reset canceled publication to draft"
 msgstr "Retour automatique en statut 'brouillon'"
 
-#: src/pyams_content/workflow/__init__.py:327
-#: src/pyams_content/workflow/__init__.py:356
+#: src/pyams_content/workflow/__init__.py:333
+#: src/pyams_content/workflow/__init__.py:363
 msgid "State reset to 'draft' (automatic)"
 msgstr "Retour automatique en statut 'brouillon'"
 
-#: src/pyams_content/workflow/__init__.py:331
+#: src/pyams_content/workflow/__init__.py:337
 msgid "Reset canceled publication to retired"
 msgstr "Retour automatique en statut 'retiré'"
 
-#: src/pyams_content/workflow/__init__.py:335
+#: src/pyams_content/workflow/__init__.py:341
 msgid "State reset to 'retired' (automatic)"
 msgstr "Retour automatique en statut 'retiré'"
 
-#: src/pyams_content/workflow/__init__.py:339
+#: src/pyams_content/workflow/__init__.py:345
 msgid "Refuse publication"
 msgstr "Refuser la publication"
 
-#: src/pyams_content/workflow/__init__.py:346
+#: src/pyams_content/workflow/__init__.py:353
 msgid "Publication refused"
 msgstr "Refus de publication"
 
-#: src/pyams_content/workflow/__init__.py:348
+#: src/pyams_content/workflow/__init__.py:355
 #, python-format
-msgid "The publication request for content « {0} » has been refused"
-msgstr "La publication du contenu « {0} » a été refusée"
-
-#: src/pyams_content/workflow/__init__.py:352
+msgid "refused the publication request for content « {0} »"
+msgstr "a refusé la publication du contenu « {0} »"
+
+#: src/pyams_content/workflow/__init__.py:359
 msgid "Reset refused publication to draft"
 msgstr "Publication refusée"
 
-#: src/pyams_content/workflow/__init__.py:360
+#: src/pyams_content/workflow/__init__.py:367
 msgid "Reset refused publication to retired"
 msgstr "Publication refusée"
 
-#: src/pyams_content/workflow/__init__.py:364
+#: src/pyams_content/workflow/__init__.py:371
 msgid "State reset to 'refused' (automatic)"
 msgstr "Retour automatique en status 'refusé'"
 
-#: src/pyams_content/workflow/__init__.py:376
+#: src/pyams_content/workflow/__init__.py:383
 msgid "Content published"
 msgstr "Publication"
 
-#: src/pyams_content/workflow/__init__.py:378
+#: src/pyams_content/workflow/__init__.py:385
 #, python-format
-msgid "The content « {0} » has been published"
-msgstr "Le contenu « {0} » a été publié"
-
-#: src/pyams_content/workflow/__init__.py:382
+msgid "published the content « {0} »"
+msgstr "a publié le contenu « {0} »"
+
+#: src/pyams_content/workflow/__init__.py:389
 msgid "Request retiring"
 msgstr "Demander le retrait"
 
-#: src/pyams_content/workflow/__init__.py:388
+#: src/pyams_content/workflow/__init__.py:395
 msgid "Retire request"
 msgstr "Demande de retrait"
 
-#: src/pyams_content/workflow/__init__.py:392
+#: src/pyams_content/workflow/__init__.py:399
 #, python-format
-msgid "A retire request has been submitted for content « {0} »"
-msgstr "Une demande de retrait a été soumise pour le contenu « {0} »"
-
-#: src/pyams_content/workflow/__init__.py:396
+msgid "submitted a retire request for content « {0} »"
+msgstr "a demandé le retrait du contenu « {0} »"
+
+#: src/pyams_content/workflow/__init__.py:403
 msgid "Retired content"
 msgstr "Contenu retiré"
 
-#: src/pyams_content/workflow/__init__.py:400
+#: src/pyams_content/workflow/__init__.py:407
 msgid "Content retired after passed expiration date"
 msgstr "Retrait automatique après la date de fin de publication"
 
-#: src/pyams_content/workflow/__init__.py:403
+#: src/pyams_content/workflow/__init__.py:410
 msgid "Cancel retiring request"
 msgstr "Annuler la demande de retrait"
 
-#: src/pyams_content/workflow/__init__.py:410
+#: src/pyams_content/workflow/__init__.py:417
 msgid "Retire request canceled"
 msgstr "Annulation de la demande de retrait"
 
-#: src/pyams_content/workflow/__init__.py:412
+#: src/pyams_content/workflow/__init__.py:419
 #, python-format
-msgid "The retiring request for content « {0} » has been cancelled"
-msgstr "La demande de retrait du contenu « {0} » a été annulée"
-
-#: src/pyams_content/workflow/__init__.py:416
+msgid "cancelled the retiring request for content « {0} »"
+msgstr "a annulé la demande de retrait du contenu « {0} »"
+
+#: src/pyams_content/workflow/__init__.py:423
 msgid "Retire content"
 msgstr "Retirer"
 
-#: src/pyams_content/workflow/__init__.py:423
+#: src/pyams_content/workflow/__init__.py:430
 msgid "Content retired"
 msgstr "Retrait"
 
-#: src/pyams_content/workflow/__init__.py:425
+#: src/pyams_content/workflow/__init__.py:432
 #, python-format
-msgid "The content « {0} » has been retired"
-msgstr "Le contenu « {0} » a été retiré"
-
-#: src/pyams_content/workflow/__init__.py:435
+msgid "retired content « {0} »"
+msgstr "a retiré le contenu « {0} »"
+
+#: src/pyams_content/workflow/__init__.py:442
 msgid "Archive request"
 msgstr "Demande d'archivage"
 
-#: src/pyams_content/workflow/__init__.py:439
+#: src/pyams_content/workflow/__init__.py:446
 #, python-format
-msgid "An archive request has been submitted for content « {0} »"
-msgstr "Une demande d'archivage a été soumise pour le contenu « {0} »"
-
-#: src/pyams_content/workflow/__init__.py:443
-msgid "Cancel archiving request"
-msgstr "Annuler la demande d'archivage"
+msgid "submitted an archive request for content « {0} »"
+msgstr "a demandé l'archivage du contenu « {0} »"
 
 #: src/pyams_content/workflow/__init__.py:450
+msgid "Cancel archiving request"
+msgstr "Annuler la demande d'archivage"
+
+#: src/pyams_content/workflow/__init__.py:457
 msgid "Archive request canceled"
 msgstr "Annulation de la demande d'archivage"
 
-#: src/pyams_content/workflow/__init__.py:452
+#: src/pyams_content/workflow/__init__.py:459
 #, python-format
-msgid "The archive request for content « {0} » has been cancelled"
-msgstr "La demande d'archivage du contenu « {0} » a été annulée"
-
-#: src/pyams_content/workflow/__init__.py:456
+msgid "cancelled the archive request for content « {0} »"
+msgstr "a annulé la demande d'archivage du contenu « {0} »"
+
+#: src/pyams_content/workflow/__init__.py:463
 msgid "Archive content"
 msgstr "Archiver"
 
-#: src/pyams_content/workflow/__init__.py:464
+#: src/pyams_content/workflow/__init__.py:471
 msgid "Content archived"
 msgstr "Archivage"
 
-#: src/pyams_content/workflow/__init__.py:466
+#: src/pyams_content/workflow/__init__.py:473
 #, python-format
-msgid "The content « {0} » has been archived"
-msgstr "Le contenu « {0} » a été archivé"
-
-#: src/pyams_content/workflow/__init__.py:470
+msgid "archived content « {0} »"
+msgstr "a archivé le contenu « {0} »"
+
+#: src/pyams_content/workflow/__init__.py:477
 msgid "Archive published content"
 msgstr "Archivage automatique d'un contenu publié"
 
-#: src/pyams_content/workflow/__init__.py:474
-#: src/pyams_content/workflow/__init__.py:482
-#: src/pyams_content/workflow/__init__.py:490
+#: src/pyams_content/workflow/__init__.py:481
+#: src/pyams_content/workflow/__init__.py:489
+#: src/pyams_content/workflow/__init__.py:497
 msgid "Content archived after version publication"
 msgstr "Archivage automatique après publication"
 
-#: src/pyams_content/workflow/__init__.py:478
+#: src/pyams_content/workflow/__init__.py:485
 msgid "Archive retiring content"
 msgstr "Archivage automatique d'un contenu en attente de retrait"
 
-#: src/pyams_content/workflow/__init__.py:486
+#: src/pyams_content/workflow/__init__.py:493
 msgid "Archive retired content"
 msgstr "Archivage automatique d'un contenu retiré"
 
-#: src/pyams_content/workflow/__init__.py:502
-#: src/pyams_content/workflow/__init__.py:514
-#: src/pyams_content/workflow/__init__.py:526
-#: src/pyams_content/workflow/__init__.py:538
-#: src/pyams_content/workflow/__init__.py:550
+#: src/pyams_content/workflow/__init__.py:509
+#: src/pyams_content/workflow/__init__.py:521
+#: src/pyams_content/workflow/__init__.py:533
+#: src/pyams_content/workflow/__init__.py:545
+#: src/pyams_content/workflow/__init__.py:557
 msgid "New version created"
 msgstr "Création d'une nouvelle version"
 
-#: src/pyams_content/workflow/__init__.py:562
+#: src/pyams_content/workflow/__init__.py:569
 msgid "Version deleted"
 msgstr "Version supprimée"
 
-#: src/pyams_content/workflow/__init__.py:631
+#: src/pyams_content/workflow/__init__.py:638
 msgid "publication refused"
 msgstr "publication refusée"
 
-#: src/pyams_content/workflow/__init__.py:629
+#: src/pyams_content/workflow/__init__.py:636
 msgid "new version created"
 msgstr "nouvelle version en préparation"
 
-#: src/pyams_content/workflow/__init__.py:244
+#: src/pyams_content/workflow/__init__.py:249
 #, python-format
 msgid "Published version {0}"
 msgstr "Version {0} publiée"
@@ -3454,10 +3451,6 @@
 msgid "Review comments"
 msgstr "Commentaires associés à cette version"
 
-#: src/pyams_content/features/review/zmi/__init__.py:216
-msgid "Add comment..."
-msgstr "Ajouter un commentaire"
-
 #: src/pyams_content/features/review/zmi/__init__.py:71
 msgid "Sought principals"
 msgstr "Relecteurs sollicités"
@@ -3500,7 +3493,7 @@
 msgstr ""
 "Votre demande a été transmise. Aucune nouvelle notification n'a été envoyée."
 
-#: src/pyams_content/features/review/zmi/__init__.py:270
+#: src/pyams_content/features/review/zmi/__init__.py:260
 msgid "Message is mandatory!"
 msgstr "Un commentaire est obligatoire !"
 
@@ -3526,12 +3519,16 @@
 msgid "Selected reviewers:"
 msgstr "Auprès de :"
 
-#: src/pyams_content/features/review/zmi/templates/review-comments.pt:62
+#: src/pyams_content/features/review/zmi/templates/review-comments.pt:64
+msgid "Add comment"
+msgstr "Déposer un commentaire"
+
+#: src/pyams_content/features/review/zmi/templates/review-comments.pt:67
 msgid "Add a comment..."
-msgstr "Nouveau commentaire..."
-
-#: src/pyams_content/features/review/zmi/templates/review-comments.pt:68
-msgid "Add comment"
+msgstr "Votre commentaire..."
+
+#: src/pyams_content/features/review/zmi/templates/review-comments.pt:73
+msgid "Add this comment"
 msgstr "Ajouter ce commentaire"
 
 #: src/pyams_content/features/review/zmi/templates/review-add-comment.pt:22
@@ -3583,6 +3580,34 @@
 msgid "Thank you."
 msgstr "Merci."
 
+#~ msgid "PIF number"
+#~ msgstr "Numéro PIF"
+
+#~ msgid "Content type"
+#~ msgstr "Type de contenu"
+
+#~ msgid "A publication request has been submitted for content « {0} »"
+#~ msgstr "Une demande de publication a été soumise pour le contenu « {0} »"
+
+#~ msgid "A new publication request has been submitted for content « {0} »"
+#~ msgstr ""
+#~ "Une demande de nouvelle publication a été soumise pour le contenu « {0} »"
+
+#~ msgid "The publication request for content « {0} » has been cancelled"
+#~ msgstr "La demande de publication du contenu « {0} » a été annulée"
+
+#~ msgid "The content « {0} » has been published"
+#~ msgstr "Le contenu « {0} » a été publié"
+
+#~ msgid "The content « {0} » has been retired"
+#~ msgstr "Le contenu « {0} » a été retiré"
+
+#~ msgid "The content « {0} » has been archived"
+#~ msgstr "Le contenu « {0} » a été archivé"
+
+#~ msgid "Add comment..."
+#~ msgstr "Ajouter un commentaire"
+
 #~ msgid "Publication settings"
 #~ msgstr "Dates de publication et de retrait"
 
--- a/src/pyams_content/locales/pyams_content.pot	Fri Jan 26 16:44:29 2018 +0100
+++ b/src/pyams_content/locales/pyams_content.pot	Fri Jan 26 17:21:59 2018 +0100
@@ -1,12 +1,12 @@
 #
 # SOME DESCRIPTIVE TITLE
 # This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, 2017.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2018.
 #, fuzzy
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE 1.0\n"
-"POT-Creation-Date: 2017-12-07 09:27+0100\n"
+"POT-Creation-Date: 2018-01-24 16:18+0100\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"
@@ -41,7 +41,7 @@
 msgstr ""
 
 #: ./src/pyams_content/__init__.py:49
-#: ./src/pyams_content/workflow/__init__.py:368
+#: ./src/pyams_content/workflow/__init__.py:375
 msgid "Publish content"
 msgstr ""
 
@@ -114,7 +114,7 @@
 #: ./src/pyams_content/shared/common/zmi/types.py:205
 #: ./src/pyams_content/shared/common/zmi/types.py:454
 #: ./src/pyams_content/shared/imagemap/zmi/container.py:169
-#: ./src/pyams_content/shared/site/zmi/container.py:527
+#: ./src/pyams_content/shared/site/zmi/container.py:574
 #: ./src/pyams_content/root/zmi/sites.py:195
 msgid "No provided object_name argument!"
 msgstr ""
@@ -239,11 +239,11 @@
 msgstr ""
 
 #: ./src/pyams_content/component/gallery/interfaces/__init__.py:64
-msgid "PIF number"
+msgid "Source ID"
 msgstr ""
 
 #: ./src/pyams_content/component/gallery/interfaces/__init__.py:65
-msgid "Number used to identify media into national library database"
+msgid "Number used to identify media into it's original source"
 msgstr ""
 
 #: ./src/pyams_content/component/gallery/interfaces/__init__.py:68
@@ -281,7 +281,7 @@
 
 #: ./src/pyams_content/component/gallery/interfaces/__init__.py:89
 #: ./src/pyams_content/component/extfile/interfaces/__init__.py:36
-#: ./src/pyams_content/component/paragraph/zmi/container.py:222
+#: ./src/pyams_content/component/paragraph/zmi/container.py:221
 #: ./src/pyams_content/component/links/zmi/reverse.py:71
 #: ./src/pyams_content/shared/common/zmi/dashboard.py:109
 #: ./src/pyams_content/shared/common/zmi/templates/advanced-search.pt:188
@@ -564,21 +564,21 @@
 msgid "Switch paragraph visibility"
 msgstr ""
 
-#: ./src/pyams_content/component/paragraph/zmi/container.py:238
+#: ./src/pyams_content/component/paragraph/zmi/container.py:237
 msgid "Show/hide all paragraphs"
 msgstr ""
 
-#: ./src/pyams_content/component/paragraph/zmi/container.py:284
-#: ./src/pyams_content/component/paragraph/zmi/container.py:293
+#: ./src/pyams_content/component/paragraph/zmi/container.py:283
+#: ./src/pyams_content/component/paragraph/zmi/container.py:292
 msgid "Paragraphs list"
 msgstr ""
 
-#: ./src/pyams_content/component/paragraph/zmi/container.py:392
+#: ./src/pyams_content/component/paragraph/zmi/container.py:391
 #: ./src/pyams_content/component/association/zmi/__init__.py:102
 msgid "Associations..."
 msgstr ""
 
-#: ./src/pyams_content/component/paragraph/zmi/container.py:404
+#: ./src/pyams_content/component/paragraph/zmi/container.py:403
 msgid "Paragraphs associations"
 msgstr ""
 
@@ -586,11 +586,11 @@
 msgid "No currently defined paragraph."
 msgstr ""
 
-#: ./src/pyams_content/component/paragraph/zmi/container.py:247
+#: ./src/pyams_content/component/paragraph/zmi/container.py:246
 msgid "Click to open/close all paragraphs editors"
 msgstr ""
 
-#: ./src/pyams_content/component/paragraph/zmi/container.py:260
+#: ./src/pyams_content/component/paragraph/zmi/container.py:259
 msgid "Click to open/close paragraph editor"
 msgstr ""
 
@@ -919,14 +919,13 @@
 msgstr ""
 
 #: ./src/pyams_content/shared/common/zmi/search.py:150
-#: ./src/pyams_content/shared/common/zmi/dashboard.py:226
+#: ./src/pyams_content/shared/common/zmi/dashboard.py:231
 #: ./src/pyams_content/root/zmi/search.py:152
 msgid "Owner"
 msgstr ""
 
 #: ./src/pyams_content/shared/common/zmi/search.py:153
-#: ./src/pyams_content/shared/common/zmi/dashboard.py:150
-#: ./src/pyams_content/shared/site/zmi/container.py:345
+#: ./src/pyams_content/shared/common/zmi/dashboard.py:154
 msgid "Status"
 msgstr ""
 
@@ -1032,17 +1031,17 @@
 msgstr ""
 
 #: ./src/pyams_content/shared/common/zmi/workflow.py:115
-#: ./src/pyams_content/shared/common/zmi/workflow.py:202
-#: ./src/pyams_content/shared/common/zmi/workflow.py:247
-#: ./src/pyams_content/shared/common/zmi/workflow.py:306
-#: ./src/pyams_content/shared/common/zmi/workflow.py:395
-#: ./src/pyams_content/shared/common/zmi/workflow.py:456
-#: ./src/pyams_content/shared/common/zmi/workflow.py:501
-#: ./src/pyams_content/shared/common/zmi/workflow.py:547
-#: ./src/pyams_content/shared/common/zmi/workflow.py:595
-#: ./src/pyams_content/shared/common/zmi/workflow.py:640
-#: ./src/pyams_content/shared/common/zmi/workflow.py:686
-#: ./src/pyams_content/shared/common/zmi/workflow.py:739
+#: ./src/pyams_content/shared/common/zmi/workflow.py:206
+#: ./src/pyams_content/shared/common/zmi/workflow.py:251
+#: ./src/pyams_content/shared/common/zmi/workflow.py:310
+#: ./src/pyams_content/shared/common/zmi/workflow.py:403
+#: ./src/pyams_content/shared/common/zmi/workflow.py:464
+#: ./src/pyams_content/shared/common/zmi/workflow.py:509
+#: ./src/pyams_content/shared/common/zmi/workflow.py:555
+#: ./src/pyams_content/shared/common/zmi/workflow.py:603
+#: ./src/pyams_content/shared/common/zmi/workflow.py:648
+#: ./src/pyams_content/shared/common/zmi/workflow.py:694
+#: ./src/pyams_content/shared/common/zmi/workflow.py:747
 #: ./src/pyams_content/shared/common/zmi/__init__.py:272
 #: ./src/pyams_content/shared/common/zmi/owner.py:74
 #: ./src/pyams_content/features/review/zmi/__init__.py:90
@@ -1053,73 +1052,73 @@
 msgid "Request publication"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/workflow.py:203
-#: ./src/pyams_content/workflow/__init__.py:310
+#: ./src/pyams_content/shared/common/zmi/workflow.py:207
+#: ./src/pyams_content/workflow/__init__.py:315
 msgid "Cancel publication request"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/workflow.py:248
+#: ./src/pyams_content/shared/common/zmi/workflow.py:252
 msgid "Refuse publication request"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/workflow.py:307
+#: ./src/pyams_content/shared/common/zmi/workflow.py:311
 msgid "Publish"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/workflow.py:396
+#: ./src/pyams_content/shared/common/zmi/workflow.py:404
 msgid "Request retire"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/workflow.py:457
+#: ./src/pyams_content/shared/common/zmi/workflow.py:465
 msgid "Cancel retire request"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/workflow.py:502
+#: ./src/pyams_content/shared/common/zmi/workflow.py:510
 msgid "Retire"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/workflow.py:548
-#: ./src/pyams_content/workflow/__init__.py:429
+#: ./src/pyams_content/shared/common/zmi/workflow.py:556
+#: ./src/pyams_content/workflow/__init__.py:436
 msgid "Request archive"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/workflow.py:596
+#: ./src/pyams_content/shared/common/zmi/workflow.py:604
 msgid "Cancel archive request"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/workflow.py:641
+#: ./src/pyams_content/shared/common/zmi/workflow.py:649
 msgid "Archive"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/workflow.py:687
-#: ./src/pyams_content/workflow/__init__.py:494
-#: ./src/pyams_content/workflow/__init__.py:506
-#: ./src/pyams_content/workflow/__init__.py:518
-#: ./src/pyams_content/workflow/__init__.py:530
-#: ./src/pyams_content/workflow/__init__.py:542
+#: ./src/pyams_content/shared/common/zmi/workflow.py:695
+#: ./src/pyams_content/workflow/__init__.py:501
+#: ./src/pyams_content/workflow/__init__.py:513
+#: ./src/pyams_content/workflow/__init__.py:525
+#: ./src/pyams_content/workflow/__init__.py:537
+#: ./src/pyams_content/workflow/__init__.py:549
 msgid "Create new version"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/workflow.py:740
-#: ./src/pyams_content/workflow/__init__.py:554
+#: ./src/pyams_content/shared/common/zmi/workflow.py:748
+#: ./src/pyams_content/workflow/__init__.py:561
 msgid "Delete version"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/workflow.py:173
-#: ./src/pyams_content/shared/common/zmi/workflow.py:365
+#: ./src/pyams_content/shared/common/zmi/workflow.py:177
+#: ./src/pyams_content/shared/common/zmi/workflow.py:373
 msgid "Publication start date is required"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/workflow.py:276
-#: ./src/pyams_content/shared/common/zmi/workflow.py:427
+#: ./src/pyams_content/shared/common/zmi/workflow.py:280
+#: ./src/pyams_content/shared/common/zmi/workflow.py:435
 msgid "A comment is required"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/workflow.py:763
+#: ./src/pyams_content/shared/common/zmi/workflow.py:771
 msgid "Delete content"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/workflow.py:772
+#: ./src/pyams_content/shared/common/zmi/workflow.py:780
 msgid "Delete definitively"
 msgstr ""
 
@@ -1129,8 +1128,8 @@
 msgstr ""
 
 #: ./src/pyams_content/shared/common/zmi/workflow.py:76
-#: ./src/pyams_content/workflow/__init__.py:610
-#: ./src/pyams_content/workflow/__init__.py:633
+#: ./src/pyams_content/workflow/__init__.py:617
+#: ./src/pyams_content/workflow/__init__.py:640
 #, python-format
 msgid "{state} {date}"
 msgstr ""
@@ -1189,8 +1188,7 @@
 msgstr ""
 
 #: ./src/pyams_content/shared/common/zmi/summary.py:159
-#: ./src/pyams_content/shared/common/zmi/dashboard.py:193
-#: ./src/pyams_content/shared/site/zmi/container.py:365
+#: ./src/pyams_content/shared/common/zmi/dashboard.py:198
 msgid "Version"
 msgstr ""
 
@@ -1280,278 +1278,278 @@
 msgid "Unique ID"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/dashboard.py:176
+#: ./src/pyams_content/shared/common/zmi/dashboard.py:181
 msgid "Status date"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/dashboard.py:208
+#: ./src/pyams_content/shared/common/zmi/dashboard.py:213
 msgid "Status principal"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/dashboard.py:245
+#: ./src/pyams_content/shared/common/zmi/dashboard.py:250
 msgid "Last modification"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/dashboard.py:263
-#: ./src/pyams_content/root/zmi/__init__.py:91
-msgid "Dashboard"
-msgstr ""
-
 #: ./src/pyams_content/shared/common/zmi/dashboard.py:273
+#: ./src/pyams_content/root/zmi/__init__.py:91
+msgid "Dashboard"
+msgstr ""
+
+#: ./src/pyams_content/shared/common/zmi/dashboard.py:283
 msgid "Contents dashboard"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/dashboard.py:319
+#: ./src/pyams_content/shared/common/zmi/dashboard.py:329
 #: ./src/pyams_content/root/zmi/__init__.py:140
 #, python-format
 msgid "MANAGER - {0} content waiting for your action"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/dashboard.py:320
+#: ./src/pyams_content/shared/common/zmi/dashboard.py:330
 #: ./src/pyams_content/root/zmi/__init__.py:141
 #, python-format
 msgid "MANAGER - {0} contents waiting for your action"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/dashboard.py:360
+#: ./src/pyams_content/shared/common/zmi/dashboard.py:370
 #: ./src/pyams_content/root/zmi/__init__.py:184
 #, python-format
 msgid "CONTRIBUTOR - {0} content waiting for action"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/dashboard.py:361
+#: ./src/pyams_content/shared/common/zmi/dashboard.py:371
 #: ./src/pyams_content/root/zmi/__init__.py:185
 #, python-format
 msgid "CONTRIBUTOR - {0} contents waiting for action"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/dashboard.py:392
+#: ./src/pyams_content/shared/common/zmi/dashboard.py:402
 #: ./src/pyams_content/root/zmi/__init__.py:219
 #, python-format
 msgid "CONTRIBUTOR - {0} modified content"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/dashboard.py:433
+#: ./src/pyams_content/shared/common/zmi/dashboard.py:443
 #: ./src/pyams_content/root/zmi/__init__.py:262
 msgid "My contents"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/dashboard.py:448
+#: ./src/pyams_content/shared/common/zmi/dashboard.py:458
 #: ./src/pyams_content/shared/common/zmi/templates/dashboard.pt:8
 #: ./src/pyams_content/root/zmi/__init__.py:277
 #: ./src/pyams_content/root/zmi/templates/dashboard.pt:8
 msgid "My favorites"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/dashboard.py:457
+#: ./src/pyams_content/shared/common/zmi/dashboard.py:467
 #: ./src/pyams_content/root/zmi/__init__.py:286
 #, python-format
 msgid "CONTRIBUTOR - {0} favorite"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/dashboard.py:458
+#: ./src/pyams_content/shared/common/zmi/dashboard.py:468
 #: ./src/pyams_content/root/zmi/__init__.py:287
 #, python-format
 msgid "CONTRIBUTOR - {0} favorites"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/dashboard.py:470
+#: ./src/pyams_content/shared/common/zmi/dashboard.py:480
 #: ./src/pyams_content/shared/common/zmi/templates/header.pt:23
 msgid "Add/remove from favorites"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/dashboard.py:533
+#: ./src/pyams_content/shared/common/zmi/dashboard.py:543
 #: ./src/pyams_content/root/zmi/__init__.py:325
 msgid "Your favorites"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/dashboard.py:546
+#: ./src/pyams_content/shared/common/zmi/dashboard.py:556
 #: ./src/pyams_content/root/zmi/__init__.py:338
 msgid "My preparations"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/dashboard.py:555
+#: ./src/pyams_content/shared/common/zmi/dashboard.py:565
 #: ./src/pyams_content/root/zmi/__init__.py:347
 #, python-format
 msgid "CONTRIBUTOR - {0} prepared content"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/dashboard.py:556
+#: ./src/pyams_content/shared/common/zmi/dashboard.py:566
 #: ./src/pyams_content/root/zmi/__init__.py:348
 #, python-format
 msgid "CONTRIBUTOR - {0} prepared contents"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/dashboard.py:595
+#: ./src/pyams_content/shared/common/zmi/dashboard.py:605
 #: ./src/pyams_content/root/zmi/__init__.py:386
 msgid "Your prepared contents"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/dashboard.py:608
+#: ./src/pyams_content/shared/common/zmi/dashboard.py:618
 #: ./src/pyams_content/root/zmi/__init__.py:399
 msgid "My submissions"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/dashboard.py:617
+#: ./src/pyams_content/shared/common/zmi/dashboard.py:627
 #: ./src/pyams_content/root/zmi/__init__.py:408
 #, python-format
 msgid "CONTRIBUTOR - {0} submitted content"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/dashboard.py:618
+#: ./src/pyams_content/shared/common/zmi/dashboard.py:628
 #: ./src/pyams_content/root/zmi/__init__.py:409
 #, python-format
 msgid "CONTRIBUTOR - {0} submitted contents"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/dashboard.py:657
+#: ./src/pyams_content/shared/common/zmi/dashboard.py:667
 #: ./src/pyams_content/root/zmi/__init__.py:447
 msgid "Your submitted contents"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/dashboard.py:670
+#: ./src/pyams_content/shared/common/zmi/dashboard.py:680
 #: ./src/pyams_content/root/zmi/__init__.py:460
 msgid "My publications"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/dashboard.py:679
+#: ./src/pyams_content/shared/common/zmi/dashboard.py:689
 #: ./src/pyams_content/root/zmi/__init__.py:469
 #, python-format
 msgid "CONTRIBUTOR - {0} published content"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/dashboard.py:680
+#: ./src/pyams_content/shared/common/zmi/dashboard.py:690
 #: ./src/pyams_content/root/zmi/__init__.py:470
 #, python-format
 msgid "CONTRIBUTOR - {0} published contents"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/dashboard.py:719
+#: ./src/pyams_content/shared/common/zmi/dashboard.py:729
 #: ./src/pyams_content/root/zmi/__init__.py:508
 msgid "Your published contents"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/dashboard.py:732
+#: ./src/pyams_content/shared/common/zmi/dashboard.py:742
 #: ./src/pyams_content/root/zmi/__init__.py:521
 msgid "My retired contents"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/dashboard.py:741
+#: ./src/pyams_content/shared/common/zmi/dashboard.py:751
 #: ./src/pyams_content/root/zmi/__init__.py:530
 #, python-format
 msgid "CONTRIBUTOR - {0} retired content"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/dashboard.py:742
+#: ./src/pyams_content/shared/common/zmi/dashboard.py:752
 #: ./src/pyams_content/root/zmi/__init__.py:531
 #, python-format
 msgid "CONTRIBUTOR - {0} retired contents"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/dashboard.py:782
+#: ./src/pyams_content/shared/common/zmi/dashboard.py:792
 #: ./src/pyams_content/root/zmi/__init__.py:570
 msgid "Your retired contents"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/dashboard.py:795
-#: ./src/pyams_content/root/zmi/__init__.py:583
-msgid "My archived contents"
-msgstr ""
-
-#: ./src/pyams_content/shared/common/zmi/dashboard.py:804
-#: ./src/pyams_content/root/zmi/__init__.py:592
-#, python-format
-msgid "CONTRIBUTOR - {0} archived content"
-msgstr ""
-
 #: ./src/pyams_content/shared/common/zmi/dashboard.py:805
+#: ./src/pyams_content/root/zmi/__init__.py:583
+msgid "My archived contents"
+msgstr ""
+
+#: ./src/pyams_content/shared/common/zmi/dashboard.py:814
+#: ./src/pyams_content/root/zmi/__init__.py:592
+#, python-format
+msgid "CONTRIBUTOR - {0} archived content"
+msgstr ""
+
+#: ./src/pyams_content/shared/common/zmi/dashboard.py:815
 #: ./src/pyams_content/root/zmi/__init__.py:593
 #, python-format
 msgid "CONTRIBUTOR - {0} archived contents"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/dashboard.py:851
+#: ./src/pyams_content/shared/common/zmi/dashboard.py:861
 #: ./src/pyams_content/root/zmi/__init__.py:638
 msgid "Your archived contents"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/dashboard.py:865
+#: ./src/pyams_content/shared/common/zmi/dashboard.py:875
 #: ./src/pyams_content/root/zmi/__init__.py:652
 msgid "Other interventions"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/dashboard.py:880
+#: ./src/pyams_content/shared/common/zmi/dashboard.py:890
 #: ./src/pyams_content/root/zmi/__init__.py:667
 msgid "Last publications"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/dashboard.py:889
+#: ./src/pyams_content/shared/common/zmi/dashboard.py:899
 #: ./src/pyams_content/root/zmi/__init__.py:676
 #, python-format
 msgid "CONTRIBUTORS - {0} published content"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/dashboard.py:935
+#: ./src/pyams_content/shared/common/zmi/dashboard.py:945
 #: ./src/pyams_content/root/zmi/__init__.py:721
 msgid "Last published contents"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/dashboard.py:948
+#: ./src/pyams_content/shared/common/zmi/dashboard.py:958
 #: ./src/pyams_content/root/zmi/__init__.py:734
 msgid "Last updates"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/dashboard.py:957
+#: ./src/pyams_content/shared/common/zmi/dashboard.py:967
 #: ./src/pyams_content/root/zmi/__init__.py:743
 #, python-format
 msgid "CONTRIBUTORS - {0} updated content"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/dashboard.py:1002
+#: ./src/pyams_content/shared/common/zmi/dashboard.py:1012
 #: ./src/pyams_content/root/zmi/__init__.py:787
 msgid "Last updated contents"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/dashboard.py:397
+#: ./src/pyams_content/shared/common/zmi/dashboard.py:407
 #: ./src/pyams_content/root/zmi/__init__.py:224
 #, python-format
 msgid "CONTRIBUTOR - {0} modified contents"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/dashboard.py:399
+#: ./src/pyams_content/shared/common/zmi/dashboard.py:409
 #: ./src/pyams_content/root/zmi/__init__.py:226
 #, python-format
 msgid "CONTRIBUTOR - Last {0} modified contents"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/dashboard.py:894
+#: ./src/pyams_content/shared/common/zmi/dashboard.py:904
 #: ./src/pyams_content/root/zmi/__init__.py:681
 #, python-format
 msgid "CONTRIBUTORS - Last {0} published contents"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/dashboard.py:896
+#: ./src/pyams_content/shared/common/zmi/dashboard.py:906
 #: ./src/pyams_content/root/zmi/__init__.py:683
 msgid "CONTRIBUTORS - Last published contents (in the limit of 50)"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/dashboard.py:962
+#: ./src/pyams_content/shared/common/zmi/dashboard.py:972
 #: ./src/pyams_content/root/zmi/__init__.py:748
 #, python-format
 msgid "CONTRIBUTORS - Last {0} updated contents"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/dashboard.py:964
+#: ./src/pyams_content/shared/common/zmi/dashboard.py:974
 #: ./src/pyams_content/root/zmi/__init__.py:750
 msgid "CONTRIBUTORS - Last updated contents (in the limit of 50)"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/dashboard.py:296
+#: ./src/pyams_content/shared/common/zmi/dashboard.py:306
 #, python-format
 msgid "SEARCH - Between all contents of type &laquo;&nbsp;{type}&nbsp;&raquo;"
 msgstr ""
 
-#: ./src/pyams_content/shared/common/zmi/dashboard.py:166
+#: ./src/pyams_content/shared/common/zmi/dashboard.py:171
 #: ./src/pyams_content/shared/common/zmi/header.py:96
 msgid "Content publication start date is not passed yet"
 msgstr ""
@@ -2441,6 +2439,7 @@
 msgstr ""
 
 #: ./src/pyams_content/shared/view/interfaces/__init__.py:56
+#: ./src/pyams_content/root/zmi/search.py:148
 msgid "Content types"
 msgstr ""
 
@@ -2620,12 +2619,12 @@
 
 #: ./src/pyams_content/shared/site/zmi/folder.py:67
 #: ./src/pyams_content/shared/site/zmi/__init__.py:61
-#: ./src/pyams_content/shared/site/zmi/link.py:69
+#: ./src/pyams_content/shared/site/zmi/link.py:68
 msgid "Parent"
 msgstr ""
 
 #: ./src/pyams_content/shared/site/zmi/folder.py:68
-#: ./src/pyams_content/shared/site/zmi/link.py:70
+#: ./src/pyams_content/shared/site/zmi/link.py:69
 msgid "Folder's parent"
 msgstr ""
 
@@ -2645,65 +2644,64 @@
 msgid "Topic's parent"
 msgstr ""
 
-#: ./src/pyams_content/shared/site/zmi/link.py:60
+#: ./src/pyams_content/shared/site/zmi/link.py:59
 msgid "Rent content..."
 msgstr ""
 
-#: ./src/pyams_content/shared/site/zmi/link.py:79
+#: ./src/pyams_content/shared/site/zmi/link.py:78
 msgid "Rent existing content"
 msgstr ""
 
-#: ./src/pyams_content/shared/site/zmi/link.py:140
+#: ./src/pyams_content/shared/site/zmi/link.py:139
 msgid "Edit content link properties"
 msgstr ""
 
-#: ./src/pyams_content/shared/site/zmi/container.py:99
-#: ./src/pyams_content/shared/site/zmi/container.py:111
+#: ./src/pyams_content/shared/site/zmi/container.py:102
+#: ./src/pyams_content/shared/site/zmi/container.py:114
 #: ./src/pyams_content/shared/blog/zmi/manager.py:149
 msgid "Publication dates..."
 msgstr ""
 
-#: ./src/pyams_content/shared/site/zmi/container.py:122
+#: ./src/pyams_content/shared/site/zmi/container.py:125
 #: ./src/pyams_content/shared/blog/zmi/manager.py:160
 msgid "Update publication dates"
 msgstr ""
 
-#: ./src/pyams_content/shared/site/zmi/container.py:171
-#: ./src/pyams_content/shared/site/zmi/container.py:181
+#: ./src/pyams_content/shared/site/zmi/container.py:174
+#: ./src/pyams_content/shared/site/zmi/container.py:184
 #: ./src/pyams_content/root/zmi/sites.py:67
 msgid "Site tree"
 msgstr ""
 
-#: ./src/pyams_content/shared/site/zmi/container.py:248
-#: ./src/pyams_content/shared/site/zmi/container.py:146
+#: ./src/pyams_content/shared/site/zmi/container.py:251
+#: ./src/pyams_content/shared/site/zmi/container.py:149
 msgid "Visible element?"
 msgstr ""
 
-#: ./src/pyams_content/shared/site/zmi/container.py:287
+#: ./src/pyams_content/shared/site/zmi/container.py:290
 msgid "Folders and topics"
 msgstr ""
 
-#: ./src/pyams_content/shared/site/zmi/container.py:323
-#: ./src/pyams_content/root/zmi/sites.py:133
-msgid "OID"
-msgstr ""
-
-#: ./src/pyams_content/shared/site/zmi/container.py:379
+#: ./src/pyams_content/shared/site/zmi/container.py:410
 msgid "Delete site item"
 msgstr ""
 
-#: ./src/pyams_content/shared/site/zmi/container.py:296
+#: ./src/pyams_content/shared/site/zmi/container.py:299
 msgid "Click to open/close all folders"
 msgstr ""
 
-#: ./src/pyams_content/shared/site/zmi/container.py:312
+#: ./src/pyams_content/shared/site/zmi/container.py:315
 msgid "Click to show/hide inner folders"
 msgstr ""
 
-#: ./src/pyams_content/shared/site/zmi/container.py:531
+#: ./src/pyams_content/shared/site/zmi/container.py:578
 msgid "Given object name doesn't exist!"
 msgstr ""
 
+#: ./src/pyams_content/shared/site/zmi/container.py:517
+msgid "Can't reparent object to one of it's children. Reloading..."
+msgstr ""
+
 #: ./src/pyams_content/shared/site/zmi/manager.py:79
 #: ./src/pyams_content/shared/site/zmi/manager.py:91
 msgid "Add site manager"
@@ -2801,6 +2799,10 @@
 msgid "Visible site?"
 msgstr ""
 
+#: ./src/pyams_content/root/zmi/sites.py:133
+msgid "OID"
+msgstr ""
+
 #: ./src/pyams_content/root/zmi/sites.py:151
 msgid "Delete shared site"
 msgstr ""
@@ -2809,10 +2811,6 @@
 msgid "Given site name doesn't exist!"
 msgstr ""
 
-#: ./src/pyams_content/root/zmi/search.py:148
-msgid "Content type"
-msgstr ""
-
 #: ./src/pyams_content/root/zmi/__init__.py:77
 msgid "Home"
 msgstr ""
@@ -2929,224 +2927,220 @@
 msgid "archived"
 msgstr ""
 
-#: ./src/pyams_content/workflow/__init__.py:274
+#: ./src/pyams_content/workflow/__init__.py:279
 msgid "Initialize"
 msgstr ""
 
-#: ./src/pyams_content/workflow/__init__.py:277
+#: ./src/pyams_content/workflow/__init__.py:282
 msgid "Draft creation"
 msgstr ""
 
-#: ./src/pyams_content/workflow/__init__.py:280
-#: ./src/pyams_content/workflow/__init__.py:295
+#: ./src/pyams_content/workflow/__init__.py:285
+#: ./src/pyams_content/workflow/__init__.py:300
 msgid "Propose publication"
 msgstr ""
 
-#: ./src/pyams_content/workflow/__init__.py:287
-#: ./src/pyams_content/workflow/__init__.py:302
+#: ./src/pyams_content/workflow/__init__.py:292
+#: ./src/pyams_content/workflow/__init__.py:307
 msgid "Publication request"
 msgstr ""
 
-#: ./src/pyams_content/workflow/__init__.py:288
-#: ./src/pyams_content/workflow/__init__.py:303
-#: ./src/pyams_content/workflow/__init__.py:389
-#: ./src/pyams_content/workflow/__init__.py:436
+#: ./src/pyams_content/workflow/__init__.py:293
+#: ./src/pyams_content/workflow/__init__.py:308
+#: ./src/pyams_content/workflow/__init__.py:396
+#: ./src/pyams_content/workflow/__init__.py:443
 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:291
-#, python-format
-msgid "A publication request has been submitted for content « {0} »"
-msgstr ""
-
-#: ./src/pyams_content/workflow/__init__.py:306
+#: ./src/pyams_content/workflow/__init__.py:296
+#: ./src/pyams_content/workflow/__init__.py:311
 #, python-format
-msgid "A new publication request has been submitted for content « {0} »"
-msgstr ""
-
-#: ./src/pyams_content/workflow/__init__.py:317
-msgid "Publication request canceled"
-msgstr ""
-
-#: ./src/pyams_content/workflow/__init__.py:319
-#, python-format
-msgid "The publication request for content « {0} » has been cancelled"
+msgid "submitted a publication request for content « {0} »"
 msgstr ""
 
 #: ./src/pyams_content/workflow/__init__.py:323
+msgid "Publication request canceled"
+msgstr ""
+
+#: ./src/pyams_content/workflow/__init__.py:325
+#, python-format
+msgid "cancelled the publication request for content « {0} »"
+msgstr ""
+
+#: ./src/pyams_content/workflow/__init__.py:329
 msgid "Reset canceled publication to draft"
 msgstr ""
 
-#: ./src/pyams_content/workflow/__init__.py:327
-#: ./src/pyams_content/workflow/__init__.py:356
+#: ./src/pyams_content/workflow/__init__.py:333
+#: ./src/pyams_content/workflow/__init__.py:363
 msgid "State reset to 'draft' (automatic)"
 msgstr ""
 
-#: ./src/pyams_content/workflow/__init__.py:331
+#: ./src/pyams_content/workflow/__init__.py:337
 msgid "Reset canceled publication to retired"
 msgstr ""
 
-#: ./src/pyams_content/workflow/__init__.py:335
+#: ./src/pyams_content/workflow/__init__.py:341
 msgid "State reset to 'retired' (automatic)"
 msgstr ""
 
-#: ./src/pyams_content/workflow/__init__.py:339
+#: ./src/pyams_content/workflow/__init__.py:345
 msgid "Refuse publication"
 msgstr ""
 
-#: ./src/pyams_content/workflow/__init__.py:346
+#: ./src/pyams_content/workflow/__init__.py:353
 msgid "Publication refused"
 msgstr ""
 
-#: ./src/pyams_content/workflow/__init__.py:348
+#: ./src/pyams_content/workflow/__init__.py:355
 #, python-format
-msgid "The publication request for content « {0} » has been refused"
-msgstr ""
-
-#: ./src/pyams_content/workflow/__init__.py:352
+msgid "refused the publication request for content « {0} »"
+msgstr ""
+
+#: ./src/pyams_content/workflow/__init__.py:359
 msgid "Reset refused publication to draft"
 msgstr ""
 
-#: ./src/pyams_content/workflow/__init__.py:360
+#: ./src/pyams_content/workflow/__init__.py:367
 msgid "Reset refused publication to retired"
 msgstr ""
 
-#: ./src/pyams_content/workflow/__init__.py:364
+#: ./src/pyams_content/workflow/__init__.py:371
 msgid "State reset to 'refused' (automatic)"
 msgstr ""
 
-#: ./src/pyams_content/workflow/__init__.py:376
+#: ./src/pyams_content/workflow/__init__.py:383
 msgid "Content published"
 msgstr ""
 
-#: ./src/pyams_content/workflow/__init__.py:378
+#: ./src/pyams_content/workflow/__init__.py:385
 #, python-format
-msgid "The content « {0} » has been published"
-msgstr ""
-
-#: ./src/pyams_content/workflow/__init__.py:382
+msgid "published the content « {0} »"
+msgstr ""
+
+#: ./src/pyams_content/workflow/__init__.py:389
 msgid "Request retiring"
 msgstr ""
 
-#: ./src/pyams_content/workflow/__init__.py:388
+#: ./src/pyams_content/workflow/__init__.py:395
 msgid "Retire request"
 msgstr ""
 
-#: ./src/pyams_content/workflow/__init__.py:392
+#: ./src/pyams_content/workflow/__init__.py:399
 #, python-format
-msgid "A retire request has been submitted for content « {0} »"
-msgstr ""
-
-#: ./src/pyams_content/workflow/__init__.py:396
-msgid "Retired content"
-msgstr ""
-
-#: ./src/pyams_content/workflow/__init__.py:400
-msgid "Content retired after passed expiration date"
+msgid "submitted a retire request for content « {0} »"
 msgstr ""
 
 #: ./src/pyams_content/workflow/__init__.py:403
-msgid "Cancel retiring request"
+msgid "Retired content"
+msgstr ""
+
+#: ./src/pyams_content/workflow/__init__.py:407
+msgid "Content retired after passed expiration date"
 msgstr ""
 
 #: ./src/pyams_content/workflow/__init__.py:410
+msgid "Cancel retiring request"
+msgstr ""
+
+#: ./src/pyams_content/workflow/__init__.py:417
 msgid "Retire request canceled"
 msgstr ""
 
-#: ./src/pyams_content/workflow/__init__.py:412
+#: ./src/pyams_content/workflow/__init__.py:419
 #, python-format
-msgid "The retiring request for content « {0} » has been cancelled"
-msgstr ""
-
-#: ./src/pyams_content/workflow/__init__.py:416
-msgid "Retire content"
+msgid "cancelled the retiring request for content « {0} »"
 msgstr ""
 
 #: ./src/pyams_content/workflow/__init__.py:423
+msgid "Retire content"
+msgstr ""
+
+#: ./src/pyams_content/workflow/__init__.py:430
 msgid "Content retired"
 msgstr ""
 
-#: ./src/pyams_content/workflow/__init__.py:425
+#: ./src/pyams_content/workflow/__init__.py:432
 #, python-format
-msgid "The content « {0} » has been retired"
-msgstr ""
-
-#: ./src/pyams_content/workflow/__init__.py:435
+msgid "retired content « {0} »"
+msgstr ""
+
+#: ./src/pyams_content/workflow/__init__.py:442
 msgid "Archive request"
 msgstr ""
 
-#: ./src/pyams_content/workflow/__init__.py:439
+#: ./src/pyams_content/workflow/__init__.py:446
 #, python-format
-msgid "An archive request has been submitted for content « {0} »"
-msgstr ""
-
-#: ./src/pyams_content/workflow/__init__.py:443
-msgid "Cancel archiving request"
+msgid "submitted an archive request for content « {0} »"
 msgstr ""
 
 #: ./src/pyams_content/workflow/__init__.py:450
+msgid "Cancel archiving request"
+msgstr ""
+
+#: ./src/pyams_content/workflow/__init__.py:457
 msgid "Archive request canceled"
 msgstr ""
 
-#: ./src/pyams_content/workflow/__init__.py:452
+#: ./src/pyams_content/workflow/__init__.py:459
 #, python-format
-msgid "The archive request for content « {0} » has been cancelled"
-msgstr ""
-
-#: ./src/pyams_content/workflow/__init__.py:456
+msgid "cancelled the archive request for content « {0} »"
+msgstr ""
+
+#: ./src/pyams_content/workflow/__init__.py:463
 msgid "Archive content"
 msgstr ""
 
-#: ./src/pyams_content/workflow/__init__.py:464
+#: ./src/pyams_content/workflow/__init__.py:471
 msgid "Content archived"
 msgstr ""
 
-#: ./src/pyams_content/workflow/__init__.py:466
+#: ./src/pyams_content/workflow/__init__.py:473
 #, python-format
-msgid "The content « {0} » has been archived"
-msgstr ""
-
-#: ./src/pyams_content/workflow/__init__.py:470
+msgid "archived content « {0} »"
+msgstr ""
+
+#: ./src/pyams_content/workflow/__init__.py:477
 msgid "Archive published content"
 msgstr ""
 
-#: ./src/pyams_content/workflow/__init__.py:474
-#: ./src/pyams_content/workflow/__init__.py:482
-#: ./src/pyams_content/workflow/__init__.py:490
+#: ./src/pyams_content/workflow/__init__.py:481
+#: ./src/pyams_content/workflow/__init__.py:489
+#: ./src/pyams_content/workflow/__init__.py:497
 msgid "Content archived after version publication"
 msgstr ""
 
-#: ./src/pyams_content/workflow/__init__.py:478
+#: ./src/pyams_content/workflow/__init__.py:485
 msgid "Archive retiring content"
 msgstr ""
 
-#: ./src/pyams_content/workflow/__init__.py:486
+#: ./src/pyams_content/workflow/__init__.py:493
 msgid "Archive retired content"
 msgstr ""
 
-#: ./src/pyams_content/workflow/__init__.py:502
-#: ./src/pyams_content/workflow/__init__.py:514
-#: ./src/pyams_content/workflow/__init__.py:526
-#: ./src/pyams_content/workflow/__init__.py:538
-#: ./src/pyams_content/workflow/__init__.py:550
+#: ./src/pyams_content/workflow/__init__.py:509
+#: ./src/pyams_content/workflow/__init__.py:521
+#: ./src/pyams_content/workflow/__init__.py:533
+#: ./src/pyams_content/workflow/__init__.py:545
+#: ./src/pyams_content/workflow/__init__.py:557
 msgid "New version created"
 msgstr ""
 
-#: ./src/pyams_content/workflow/__init__.py:562
+#: ./src/pyams_content/workflow/__init__.py:569
 msgid "Version deleted"
 msgstr ""
 
-#: ./src/pyams_content/workflow/__init__.py:631
+#: ./src/pyams_content/workflow/__init__.py:638
 msgid "publication refused"
 msgstr ""
 
-#: ./src/pyams_content/workflow/__init__.py:629
+#: ./src/pyams_content/workflow/__init__.py:636
 msgid "new version created"
 msgstr ""
 
-#: ./src/pyams_content/workflow/__init__.py:244
+#: ./src/pyams_content/workflow/__init__.py:249
 #, python-format
 msgid "Published version {0}"
 msgstr ""
@@ -3290,10 +3284,6 @@
 msgid "Review comments"
 msgstr ""
 
-#: ./src/pyams_content/features/review/zmi/__init__.py:216
-msgid "Add comment..."
-msgstr ""
-
 #: ./src/pyams_content/features/review/zmi/__init__.py:71
 msgid "Sought principals"
 msgstr ""
@@ -3329,7 +3319,7 @@
 msgid "Request successful. No new notification have been sent"
 msgstr ""
 
-#: ./src/pyams_content/features/review/zmi/__init__.py:270
+#: ./src/pyams_content/features/review/zmi/__init__.py:260
 msgid "Message is mandatory!"
 msgstr ""
 
@@ -3355,12 +3345,16 @@
 msgid "Selected reviewers:"
 msgstr ""
 
-#: ./src/pyams_content/features/review/zmi/templates/review-comments.pt:62
+#: ./src/pyams_content/features/review/zmi/templates/review-comments.pt:64
+msgid "Add comment"
+msgstr ""
+
+#: ./src/pyams_content/features/review/zmi/templates/review-comments.pt:67
 msgid "Add a comment..."
 msgstr ""
 
-#: ./src/pyams_content/features/review/zmi/templates/review-comments.pt:68
-msgid "Add comment"
+#: ./src/pyams_content/features/review/zmi/templates/review-comments.pt:73
+msgid "Add this comment"
 msgstr ""
 
 #: ./src/pyams_content/features/review/zmi/templates/review-add-comment.pt:22
--- a/src/pyams_content/zmi/__init__.py	Fri Jan 26 16:44:29 2018 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +0,0 @@
-#
-# Copyright (c) 2008-2015 Thierry Florac <tflorac AT ulthar.net>
-# All Rights Reserved.
-#
-# This software is subject to the provisions of the Zope Public License,
-# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
-# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
-# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
-# FOR A PARTICULAR PURPOSE.
-#
-
-__docformat__ = 'restructuredtext'
-
-
-# import standard library
-
-# import interfaces
-
-# import packages
--- a/src/pyams_content/zmi/interfaces/__init__.py	Fri Jan 26 16:44:29 2018 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,60 +0,0 @@
-#
-# Copyright (c) 2008-2015 Thierry Florac <tflorac AT ulthar.net>
-# All Rights Reserved.
-#
-# This software is subject to the provisions of the Zope Public License,
-# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
-# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
-# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
-# FOR A PARTICULAR PURPOSE.
-#
-
-__docformat__ = 'restructuredtext'
-
-
-# import standard library
-
-# import interfaces
-from pyams_skin.interfaces.viewlet import IMenuItem
-
-# import packages
-from zope.interface import Interface, Attribute
-
-
-#
-# Custom menus interfaces
-#
-
-class ISiteTreeMenu(IMenuItem):
-    """Site tree menu marker interface"""
-
-
-class ISiteTreeTable(Interface):
-    """Site tree table view marker interface"""
-
-
-class IDashboardMenu(IMenuItem):
-    """Dashboard menu"""
-
-
-class IMyDashboardMenu(IMenuItem):
-    """My contents dashboard menu"""
-
-
-class IAllContentsMenu(IMenuItem):
-    """Dashboard menu for all contents"""
-
-
-class ISummaryMenu(IMenuItem):
-    """Summary menu"""
-
-
-#
-# Custom ZMI interfaces
-#
-
-class IUserAddingsMenuLabel(Interface):
-    """Shared tool adding menu label"""
-
-    label = Attribute("Addings menu label")