Added creation and last modification dates on external files associations
authorThierry Florac <tflorac@ulthar.net>
Mon, 31 Aug 2020 14:35:09 +0200
changeset 1414 3a4788a4127c
parent 1413 fbe52dda730c
child 1415 24cc66cb1a14
Added creation and last modification dates on external files associations
src/pyams_content/component/association/interfaces.py
src/pyams_content/component/association/zmi/__init__.py
src/pyams_content/component/extfile/__init__.py
src/pyams_content/component/extfile/zmi/__init__.py
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/src/pyams_content/component/association/interfaces.py	Mon Jul 20 15:21:56 2020 +0200
+++ b/src/pyams_content/component/association/interfaces.py	Mon Aug 31 14:35:09 2020 +0200
@@ -10,8 +10,6 @@
 # FOR A PARTICULAR PURPOSE.
 #
 
-__docformat__ = 'restructuredtext'
-
 from zope.annotation.interfaces import IAttributeAnnotatable
 from zope.container.constraints import containers, contains
 from zope.container.interfaces import IOrderedContainer
@@ -20,6 +18,9 @@
 
 from pyams_content.component.paragraph.interfaces import IBaseParagraph
 
+
+__docformat__ = 'restructuredtext'
+
 from pyams_content import _
 
 
--- a/src/pyams_content/component/association/zmi/__init__.py	Mon Jul 20 15:21:56 2020 +0200
+++ b/src/pyams_content/component/association/zmi/__init__.py	Mon Aug 31 14:35:09 2020 +0200
@@ -10,45 +10,44 @@
 # FOR A PARTICULAR PURPOSE.
 #
 
-__docformat__ = 'restructuredtext'
-
-
-# import standard library
 import json
 
-# import interfaces
-from pyams_content.component.association.interfaces import IAssociationContainerTarget, IAssociationContainer, \
-    IAssociationInfo
-from pyams_content.component.association.zmi.interfaces import IAssociationsParentForm, IAssociationsView
-from pyams_content.interfaces import MANAGE_CONTENT_PERMISSION
-from pyams_form.interfaces.form import IInnerSubForm
-from pyams_skin.layer import IPyAMSLayer
-from pyams_utils.interfaces import VIEW_SYSTEM_PERMISSION
-from pyams_zmi.interfaces.menu import IPropertiesMenu
-from z3c.table.interfaces import IValues, IColumn
+from pyramid.decorator import reify
+from pyramid.view import view_config
+from z3c.form import field
+from z3c.table.column import GetAttrColumn
+from z3c.table.interfaces import IColumn, IValues
+from zope.interface import Interface, implementer
 
-# import packages
+from pyams_content.component.association.interfaces import IAssociationContainer, \
+    IAssociationContainerTarget, IAssociationInfo
+from pyams_content.component.association.zmi.interfaces import IAssociationsParentForm, \
+    IAssociationsView
+from pyams_content.interfaces import MANAGE_CONTENT_PERMISSION
 from pyams_form.form import AJAXAddForm, AJAXEditForm
+from pyams_form.interfaces.form import IInnerSubForm
 from pyams_form.security import ProtectedFormObjectMixin
-from pyams_pagelet.pagelet import pagelet_config, Pagelet
-from pyams_skin.table import BaseTable, SorterColumn, NameColumn, ImageColumn, I18nColumn, TrashColumn, \
-    VisibilitySwitcherColumn
-from pyams_skin.container import switch_element_visibility, delete_container_element
-from pyams_skin.event import get_json_switched_table_refresh_event, get_json_table_row_refresh_event
+from pyams_pagelet.pagelet import Pagelet, pagelet_config
+from pyams_skin.container import delete_container_element, switch_element_visibility
+from pyams_skin.event import get_json_switched_table_refresh_event, \
+    get_json_table_row_refresh_event
+from pyams_skin.layer import IPyAMSLayer
+from pyams_skin.table import BaseTable, I18nColumn, ImageColumn, NameColumn, SorterColumn, \
+    TrashColumn, VisibilitySwitcherColumn
 from pyams_skin.viewlet.menu import MenuItem
-from pyams_utils.adapter import adapter_config, ContextRequestViewAdapter
+from pyams_utils.adapter import ContextRequestViewAdapter, adapter_config
+from pyams_utils.interfaces import VIEW_SYSTEM_PERMISSION
 from pyams_utils.registry import get_current_registry
 from pyams_utils.traversing import get_parent
 from pyams_utils.url import absolute_url
 from pyams_viewlet.viewlet import viewlet_config
 from pyams_zmi.form import AdminDialogDisplayForm
+from pyams_zmi.interfaces.menu import IPropertiesMenu
 from pyams_zmi.view import ContainerAdminView
 from pyams_zmi.zmi.table import InnerTableView
-from pyramid.decorator import reify
-from pyramid.view import view_config
-from z3c.form import field
-from z3c.table.column import GetAttrColumn
-from zope.interface import implementer, Interface
+
+
+__docformat__ = 'restructuredtext'
 
 from pyams_content import _
 
@@ -255,7 +254,7 @@
             return '--'
 
 
-@adapter_config(name='trash', context=(IAssociationContainerTarget, IPyAMSLayer, AssociationsTable), 
+@adapter_config(name='trash', context=(IAssociationContainerTarget, IPyAMSLayer, AssociationsTable),
                 provides=IColumn)
 @adapter_config(name='trash', context=(IAssociationContainer, IPyAMSLayer, AssociationsTable), 
                 provides=IColumn)
--- a/src/pyams_content/component/extfile/__init__.py	Mon Jul 20 15:21:56 2020 +0200
+++ b/src/pyams_content/component/extfile/__init__.py	Mon Aug 31 14:35:09 2020 +0200
@@ -10,24 +10,25 @@
 # FOR A PARTICULAR PURPOSE.
 #
 
-__docformat__ = 'restructuredtext'
-
 import os
 
 from pyramid.events import subscriber
 from pyramid.threadlocal import get_current_registry
+from zope.dublincore.interfaces import IZopeDublinCore
 from zope.interface import alsoProvides, implementer
 from zope.lifecycleevent import ObjectModifiedEvent
-from zope.lifecycleevent.interfaces import IObjectAddedEvent, IObjectModifiedEvent, IObjectRemovedEvent
+from zope.lifecycleevent.interfaces import IObjectAddedEvent, IObjectModifiedEvent, \
+    IObjectRemovedEvent
 from zope.schema.fieldproperty import FieldProperty
 from zope.schema.vocabulary import SimpleTerm, SimpleVocabulary
 
 from pyams_content.component.association import AssociationItem
 from pyams_content.component.association.interfaces import IAssociationInfo
-from pyams_content.component.extfile.interfaces import IBaseExtFile, IExtAudio, IExtFile, IExtFileManagerInfo, \
-    IExtImage, IExtMedia, IExtVideo
+from pyams_content.component.extfile.interfaces import IBaseExtFile, IExtAudio, IExtFile, \
+    IExtFileManagerInfo, IExtImage, IExtMedia, IExtVideo
 from pyams_content.features.checker import BaseContentChecker
-from pyams_content.features.checker.interfaces import IContentChecker, MISSING_LANG_VALUE, MISSING_VALUE
+from pyams_content.features.checker.interfaces import IContentChecker, MISSING_LANG_VALUE, \
+    MISSING_VALUE
 from pyams_content.shared.common.interfaces import IWfSharedContent
 from pyams_file.file import EXTENSIONS_THUMBNAILS
 from pyams_file.interfaces import IFileInfo, IImage, IResponsiveImage
@@ -40,6 +41,9 @@
 from pyams_utils.traversing import get_parent
 from pyams_utils.vocabulary import vocabulary_config
 
+
+__docformat__ = 'restructuredtext'
+
 from pyams_content import _
 
 
@@ -90,7 +94,8 @@
             title = self.context.filename
             if '.' in title:
                 title, extension = title.rsplit('.', 1)
-        return '{0} {1}'.format(II18n(manager_info).query_attribute('default_title_prefix', request=request) or '',
+        return '{0} {1}'.format(II18n(manager_info).query_attribute('default_title_prefix',
+                                                                    request=request) or '',
                                 title)
 
     @property
--- a/src/pyams_content/component/extfile/zmi/__init__.py	Mon Jul 20 15:21:56 2020 +0200
+++ b/src/pyams_content/component/extfile/zmi/__init__.py	Mon Aug 31 14:35:09 2020 +0200
@@ -10,33 +10,43 @@
 # FOR A PARTICULAR PURPOSE.
 #
 
-__docformat__ = 'restructuredtext'
-
 from z3c.form import field
+from z3c.table.column import GetAttrColumn
+from z3c.table.interfaces import IColumn
+from zope.dublincore.interfaces import IZopeDublinCore
 from zope.interface import Interface
 from zope.schema import Choice
 
 from pyams_content.component.association.interfaces import IAssociationContainer
-from pyams_content.component.association.zmi import AssociationItemAJAXAddForm, AssociationItemAJAXEditForm
+from pyams_content.component.association.zmi import AssociationItemAJAXAddForm, \
+    AssociationItemAJAXEditForm, AssociationsTable
 from pyams_content.component.association.zmi.interfaces import IAssociationsView
 from pyams_content.component.extfile import EXTERNAL_FILES_FACTORIES
-from pyams_content.component.extfile.interfaces import IExtAudio, IExtFile, IExtFileContainerTarget, IExtImage, \
-    IExtMedia, IExtVideo
+from pyams_content.component.extfile.interfaces import IExtAudio, IExtFile, \
+    IExtFileContainerTarget, IExtImage, IExtMedia, IExtVideo
 from pyams_content.component.extfile.zmi.widget import I18nExtFileTitleFieldWidget
 from pyams_content.component.paragraph.zmi import get_json_paragraph_markers_refresh_event
 from pyams_content.component.paragraph.zmi.container import ParagraphContainerCounterBase
-from pyams_content.component.paragraph.zmi.interfaces import IParagraphContainerTable, IParagraphTitleToolbar
+from pyams_content.component.paragraph.zmi.interfaces import IParagraphContainerTable, \
+    IParagraphTitleToolbar
 from pyams_content.interfaces import MANAGE_CONTENT_PERMISSION
 from pyams_form.form import ajax_config
 from pyams_form.security import ProtectedFormObjectMixin
 from pyams_pagelet.pagelet import pagelet_config
 from pyams_skin.interfaces.viewlet import IToolbarAddingMenu
 from pyams_skin.layer import IPyAMSLayer
+from pyams_skin.table import I18nColumn
 from pyams_skin.viewlet.toolbar import ToolbarMenuDivider, ToolbarMenuItem
+from pyams_utils.adapter import adapter_config
+from pyams_utils.date import SH_DATETIME_FORMAT, format_datetime
 from pyams_utils.interfaces import VIEW_SYSTEM_PERMISSION
+from pyams_utils.timezone import tztime
 from pyams_viewlet.viewlet import viewlet_config
 from pyams_zmi.form import AdminDialogAddForm, AdminDialogEditForm
 
+
+__docformat__ = 'restructuredtext'
+
 from pyams_content import _
 
 
@@ -393,3 +403,49 @@
             return self.get_associations_table()
         else:
             return super(self.__class__, self).get_ajax_output(changes)
+
+
+#
+# External files containers columns
+#
+
+@adapter_config(name='created',
+                context=(IExtFileContainerTarget, IPyAMSLayer, AssociationsTable),
+                provides=IColumn)
+class AssociationsTableCreatedColumn(I18nColumn, GetAttrColumn):
+    """Associations table creation date column"""
+
+    _header = _("Created")
+    weight = 40
+
+    def getValue(self, obj):
+        dc = IZopeDublinCore(obj, None)
+        if dc is not None:
+            return format_datetime(tztime(dc.created), SH_DATETIME_FORMAT, request=self.request)
+        return '--'
+
+
+@adapter_config(name='modified',
+                context=(IExtFileContainerTarget, IPyAMSLayer, AssociationsTable),
+                provides=IColumn)
+class AssociationsTableModifiedColumn(I18nColumn, GetAttrColumn):
+    """Associations table modification date column"""
+
+    _header = _("Modified")
+    weight = 45
+
+    def getValue(self, obj):
+        dc = IZopeDublinCore(obj)
+        last = None
+        if obj.data:
+            for value in obj.data.values():
+                if value is None:
+                    continue
+                file_dc = IZopeDublinCore(value, None)
+                if (file_dc is not None) and (file_dc.modified > dc.created):
+                    last = max(file_dc.created, file_dc.modified) if last is None \
+                        else max(last, file_dc.created, file_dc.modified)
+            if last is not None:
+                return format_datetime(tztime(last), SH_DATETIME_FORMAT,
+                                       request=self.request)
+        return '--'
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	Mon Jul 20 15:21:56 2020 +0200
+++ b/src/pyams_content/locales/fr/LC_MESSAGES/pyams_content.po	Mon Aug 31 14:35:09 2020 +0200
@@ -5,7 +5,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE 1.0\n"
-"POT-Creation-Date: 2020-07-01 16:13+0200\n"
+"POT-Creation-Date: 2020-08-31 13:58+0200\n"
 "PO-Revision-Date: 2015-09-10 10:42+0200\n"
 "Last-Translator: Thierry Florac <tflorac@ulthar.net>\n"
 "Language-Team: French\n"
@@ -116,8 +116,8 @@
 msgstr "Gérer cette table"
 
 #: src/pyams_content/reference/pictograms/interfaces.py:44
-#: src/pyams_content/component/extfile/__init__.py:225
-#: src/pyams_content/component/extfile/__init__.py:241
+#: src/pyams_content/component/extfile/__init__.py:240
+#: src/pyams_content/component/extfile/__init__.py:256
 #: src/pyams_content/shared/imagemap/interfaces.py:67
 msgid "Image"
 msgstr "Image"
@@ -165,7 +165,7 @@
 msgstr "Aucun pictogramme sélectionné"
 
 #: src/pyams_content/reference/pictograms/zmi/widget.py:55
-#: src/pyams_content/reference/pictograms/zmi/__init__.py:169
+#: src/pyams_content/reference/pictograms/zmi/__init__.py:176
 msgid "Default header: --"
 msgstr "En-tête par défaut : --"
 
@@ -173,22 +173,22 @@
 msgid "Pictograms selection..."
 msgstr "Sélection de pictogrammes"
 
-#: src/pyams_content/reference/pictograms/zmi/__init__.py:59
-#: src/pyams_content/component/paragraph/zmi/pictogram.py:296
+#: src/pyams_content/reference/pictograms/zmi/__init__.py:58
+#: src/pyams_content/component/paragraph/zmi/pictogram.py:317
 msgid "Add pictogram"
 msgstr "Ajouter un pictogramme"
 
 #: src/pyams_content/reference/pictograms/zmi/__init__.py:71
-#: src/pyams_content/component/paragraph/zmi/pictogram.py:309
+#: src/pyams_content/component/paragraph/zmi/pictogram.py:330
 msgid "Add new pictogram"
 msgstr "Ajout d'un pictogramme"
 
-#: src/pyams_content/reference/pictograms/zmi/__init__.py:95
-#: src/pyams_content/component/paragraph/zmi/pictogram.py:351
+#: src/pyams_content/reference/pictograms/zmi/__init__.py:96
+#: src/pyams_content/component/paragraph/zmi/pictogram.py:374
 msgid "Edit pictogram properties"
 msgstr "Propriétés du pictogramme"
 
-#: src/pyams_content/reference/pictograms/zmi/__init__.py:150
+#: src/pyams_content/reference/pictograms/zmi/__init__.py:156
 #: src/pyams_content/component/keynumber/portlet/interfaces.py:31
 #: src/pyams_content/component/gallery/interfaces.py:107
 #: src/pyams_content/component/paragraph/interfaces/milestone.py:42
@@ -198,7 +198,7 @@
 #: src/pyams_content/features/menu/portlet/navigation/interfaces/simple.py:31
 #: src/pyams_content/features/menu/portlet/navigation/interfaces/double.py:31
 #: src/pyams_content/features/search/portlet/interfaces.py:25
-#: src/pyams_content/root/zmi/templates/advanced-search.pt:197
+#: src/pyams_content/root/zmi/templates/advanced-search.pt:204
 #: src/pyams_content/shared/view/portlet/interfaces.py:52
 #: src/pyams_content/shared/common/zmi/dashboard.py:128
 #: src/pyams_content/shared/common/zmi/reverse.py:69
@@ -235,7 +235,7 @@
 #: src/pyams_content/component/paragraph/interfaces/pictogram.py:41
 #: src/pyams_content/component/paragraph/interfaces/milestone.py:37
 #: src/pyams_content/component/paragraph/interfaces/__init__.py:39
-#: src/pyams_content/component/association/interfaces.py:37
+#: src/pyams_content/component/association/interfaces.py:39
 #: src/pyams_content/features/alert/interfaces.py:54
 #: src/pyams_content/features/menu/interfaces.py:62
 #: src/pyams_content/shared/form/interfaces.py:148
@@ -285,7 +285,7 @@
 #: src/pyams_content/component/paragraph/interfaces/video.py:50
 #: src/pyams_content/component/paragraph/interfaces/pictogram.py:58
 #: src/pyams_content/component/paragraph/interfaces/milestone.py:90
-#: src/pyams_content/component/paragraph/zmi/pictogram.py:259
+#: src/pyams_content/component/paragraph/zmi/pictogram.py:276
 #: src/pyams_content/component/illustration/interfaces.py:62
 msgid "Associated text"
 msgstr "Texte associé"
@@ -1178,8 +1178,8 @@
 msgstr "Coordonnées GPS de situation du contact"
 
 #: src/pyams_content/component/paragraph/interfaces/video.py:32
-#: src/pyams_content/component/extfile/__init__.py:256
-#: src/pyams_content/component/extfile/__init__.py:261
+#: src/pyams_content/component/extfile/__init__.py:271
+#: src/pyams_content/component/extfile/__init__.py:276
 msgid "Video"
 msgstr "Vidéo"
 
@@ -1194,7 +1194,7 @@
 "Cliquez sur le bouton 'Parcourir...' pour sélectionner un nouveau contenu"
 
 #: src/pyams_content/component/paragraph/interfaces/pictogram.py:80
-#: src/pyams_content/component/paragraph/zmi/pictogram.py:281
+#: src/pyams_content/component/paragraph/zmi/pictogram.py:301
 msgid "Pictograms"
 msgstr "Pictogrammes"
 
@@ -1648,29 +1648,29 @@
 msgid "Add new video paragraph"
 msgstr "Ajout d'une vidéo"
 
-#: src/pyams_content/component/paragraph/zmi/pictogram.py:77
+#: src/pyams_content/component/paragraph/zmi/pictogram.py:81
 msgid "Pictograms..."
 msgstr "Pictogrammes"
 
-#: src/pyams_content/component/paragraph/zmi/pictogram.py:90
+#: src/pyams_content/component/paragraph/zmi/pictogram.py:94
 msgid "Add new pictogram paragraph"
 msgstr "Ajout de pictogrammes"
 
-#: src/pyams_content/component/paragraph/zmi/pictogram.py:109
+#: src/pyams_content/component/paragraph/zmi/pictogram.py:113
 msgid "Edit pictogram paragraph properties"
 msgstr "Propriétés des pictogrammes"
 
 #. Default: Header
-#: src/pyams_content/component/paragraph/zmi/pictogram.py:242
+#: src/pyams_content/component/paragraph/zmi/pictogram.py:257
 msgid "pictogram-item-header"
 msgstr "En-tête"
 
-#: src/pyams_content/component/paragraph/zmi/pictogram.py:331
+#: src/pyams_content/component/paragraph/zmi/pictogram.py:352
 msgid "Pictogram was correctly added"
 msgstr "Le pictogramme a été ajouté."
 
-#: src/pyams_content/component/paragraph/zmi/pictogram.py:341
-#: src/pyams_content/component/paragraph/zmi/pictogram.py:379
+#: src/pyams_content/component/paragraph/zmi/pictogram.py:363
+#: src/pyams_content/component/paragraph/zmi/pictogram.py:403
 msgid "You must select a pictogram!"
 msgstr "Vous devez sélectionner un pictogramme !"
 
@@ -1839,15 +1839,15 @@
 msgid "Edit key points paragraph properties"
 msgstr "Propriétés des points clés"
 
-#: src/pyams_content/component/paragraph/zmi/frame.py:93
+#: src/pyams_content/component/paragraph/zmi/frame.py:105
 msgid "Framed text..."
 msgstr "Encadré"
 
-#: src/pyams_content/component/paragraph/zmi/frame.py:107
+#: src/pyams_content/component/paragraph/zmi/frame.py:119
 msgid "Add new framed text paragraph"
 msgstr "Ajout d'un encadré"
 
-#: src/pyams_content/component/paragraph/zmi/frame.py:126
+#: src/pyams_content/component/paragraph/zmi/frame.py:138
 msgid "Edit framed text paragraph properties"
 msgstr "Propriétés de l'encadré"
 
@@ -1864,47 +1864,47 @@
 msgstr "Propriétés de la bande son"
 
 #: src/pyams_content/component/association/container.py:88
-#: src/pyams_content/component/association/interfaces.py:88
-#: src/pyams_content/component/association/zmi/__init__.py:313
+#: src/pyams_content/component/association/interfaces.py:94
+#: src/pyams_content/component/association/zmi/__init__.py:312
 msgid "Associations"
 msgstr "Liens et pièces jointes"
 
-#: src/pyams_content/component/association/interfaces.py:38
+#: src/pyams_content/component/association/interfaces.py:40
 #: src/pyams_content/features/menu/interfaces.py:63
 msgid "Is this item visible in front-office?"
 msgstr "Si 'non', ce lien ne sera pas présenté aux internautes"
 
-#: src/pyams_content/component/association/interfaces.py:95
+#: src/pyams_content/component/association/interfaces.py:101
 msgid "Associations template"
 msgstr "Mode de rendu"
 
-#: src/pyams_content/component/association/interfaces.py:96
+#: src/pyams_content/component/association/interfaces.py:102
 msgid "Presentation template used for associations"
 msgstr "Modèle de présentation utilisé par ce bloc de contenu"
 
-#: src/pyams_content/component/association/zmi/__init__.py:96
+#: src/pyams_content/component/association/zmi/__init__.py:95
 #: src/pyams_content/component/association/zmi/paragraph.py:46
 msgid "Associations..."
 msgstr "Liens et pièces jointes"
 
-#: src/pyams_content/component/association/zmi/__init__.py:209
+#: src/pyams_content/component/association/zmi/__init__.py:208
 msgid "Public title"
 msgstr "Libellé public"
 
-#: src/pyams_content/component/association/zmi/__init__.py:229
+#: src/pyams_content/component/association/zmi/__init__.py:228
 msgid "Inner title"
 msgstr "Contenu interne"
 
-#: src/pyams_content/component/association/zmi/__init__.py:247
+#: src/pyams_content/component/association/zmi/__init__.py:246
 msgid "Size"
 msgstr "Taille"
 
-#: src/pyams_content/component/association/zmi/__init__.py:290
-#: src/pyams_content/component/association/zmi/__init__.py:300
+#: src/pyams_content/component/association/zmi/__init__.py:289
+#: src/pyams_content/component/association/zmi/__init__.py:299
 msgid "Associations list"
 msgstr "Liste des liens et pièces jointes"
 
-#: src/pyams_content/component/association/zmi/__init__.py:66
+#: src/pyams_content/component/association/zmi/__init__.py:65
 msgid "Association was correctly added."
 msgstr "L'association a été ajoutée."
 
@@ -1916,13 +1916,13 @@
 msgid "Edit association paragraph properties"
 msgstr "Propriétés du bloc « liens et pièces jointes »"
 
-#: src/pyams_content/component/extfile/__init__.py:173
-#: src/pyams_content/component/extfile/__init__.py:178
+#: src/pyams_content/component/extfile/__init__.py:188
+#: src/pyams_content/component/extfile/__init__.py:193
 msgid "Standard file"
 msgstr "Fichier"
 
-#: src/pyams_content/component/extfile/__init__.py:276
-#: src/pyams_content/component/extfile/__init__.py:281
+#: src/pyams_content/component/extfile/__init__.py:291
+#: src/pyams_content/component/extfile/__init__.py:296
 msgid "Audio file"
 msgstr "Fichier audio"
 
@@ -1997,71 +1997,79 @@
 msgid "External files properties"
 msgstr "Propriétés des pièces jointes"
 
-#: src/pyams_content/component/extfile/zmi/__init__.py:70
+#: src/pyams_content/component/extfile/zmi/__init__.py:80
 msgid "External files"
 msgstr "Fichiers"
 
-#: src/pyams_content/component/extfile/zmi/__init__.py:85
+#: src/pyams_content/component/extfile/zmi/__init__.py:95
 msgid "Add external file"
 msgstr "Fichier"
 
-#: src/pyams_content/component/extfile/zmi/__init__.py:99
+#: src/pyams_content/component/extfile/zmi/__init__.py:109
 msgid "Add new external file"
 msgstr "Ajout d'un fichier"
 
-#: src/pyams_content/component/extfile/zmi/__init__.py:131
+#: src/pyams_content/component/extfile/zmi/__init__.py:141
 msgid "Update file properties"
 msgstr "Propriétés du fichier"
 
-#: src/pyams_content/component/extfile/zmi/__init__.py:159
+#: src/pyams_content/component/extfile/zmi/__init__.py:169
 msgid "Images"
 msgstr "Images"
 
-#: src/pyams_content/component/extfile/zmi/__init__.py:174
+#: src/pyams_content/component/extfile/zmi/__init__.py:184
 msgid "Add image"
 msgstr "Image téléchargeable"
 
-#: src/pyams_content/component/extfile/zmi/__init__.py:188
+#: src/pyams_content/component/extfile/zmi/__init__.py:198
 msgid "Add new image"
 msgstr "Ajout d'une image téléchargeable"
 
-#: src/pyams_content/component/extfile/zmi/__init__.py:220
+#: src/pyams_content/component/extfile/zmi/__init__.py:230
 msgid "Update image properties"
 msgstr "Propriétés de l'image téléchargeable"
 
-#: src/pyams_content/component/extfile/zmi/__init__.py:252
+#: src/pyams_content/component/extfile/zmi/__init__.py:262
 msgid "Videos"
 msgstr "Vidéos"
 
-#: src/pyams_content/component/extfile/zmi/__init__.py:267
+#: src/pyams_content/component/extfile/zmi/__init__.py:277
 msgid "Add video"
 msgstr "Vidéo téléchargeable"
 
-#: src/pyams_content/component/extfile/zmi/__init__.py:281
+#: src/pyams_content/component/extfile/zmi/__init__.py:291
 msgid "Add new video"
 msgstr "Ajout d'une vidéo téléchargeable"
 
-#: src/pyams_content/component/extfile/zmi/__init__.py:306
+#: src/pyams_content/component/extfile/zmi/__init__.py:316
 msgid "Update video properties"
 msgstr "Propriétés de la vidéo téléchargeable"
 
-#: src/pyams_content/component/extfile/zmi/__init__.py:331
+#: src/pyams_content/component/extfile/zmi/__init__.py:341
 msgid "Audios files"
 msgstr "Fichiers audios"
 
-#: src/pyams_content/component/extfile/zmi/__init__.py:346
+#: src/pyams_content/component/extfile/zmi/__init__.py:356
 msgid "Add audio file"
 msgstr "Bande son téléchargeable"
 
-#: src/pyams_content/component/extfile/zmi/__init__.py:360
+#: src/pyams_content/component/extfile/zmi/__init__.py:370
 msgid "Add new audio file"
 msgstr "Ajout d'une bande son téléchargeable"
 
-#: src/pyams_content/component/extfile/zmi/__init__.py:385
+#: src/pyams_content/component/extfile/zmi/__init__.py:395
 msgid "Update audio file properties"
 msgstr "Propriétés de la bande son téléchargeable"
 
-#: src/pyams_content/component/extfile/zmi/__init__.py:46
+#: src/pyams_content/component/extfile/zmi/__init__.py:418
+msgid "Created"
+msgstr "Création"
+
+#: src/pyams_content/component/extfile/zmi/__init__.py:435
+msgid "Modified"
+msgstr "Dernière modification"
+
+#: src/pyams_content/component/extfile/zmi/__init__.py:56
 msgid "External file type"
 msgstr "Type de fichier joint"
 
@@ -2124,9 +2132,9 @@
 #: src/pyams_content/component/theme/interfaces.py:57
 #: src/pyams_content/component/theme/interfaces.py:71
 #: src/pyams_content/component/theme/zmi/portlet.py:40
-#: src/pyams_content/root/zmi/search.py:177
+#: src/pyams_content/root/zmi/search.py:184
 #: src/pyams_content/root/zmi/templates/advanced-search.pt:181
-#: src/pyams_content/shared/common/zmi/search.py:194
+#: src/pyams_content/shared/common/zmi/search.py:201
 msgid "Tags"
 msgstr "Tags"
 
@@ -2134,7 +2142,7 @@
 #: src/pyams_content/component/theme/interfaces.py:98
 #: src/pyams_content/component/theme/interfaces.py:112
 #: src/pyams_content/component/theme/zmi/portlet.py:55
-#: src/pyams_content/shared/common/zmi/search.py:197
+#: src/pyams_content/shared/common/zmi/search.py:204
 msgid "Themes"
 msgstr "Thèmes"
 
@@ -2142,7 +2150,9 @@
 #: src/pyams_content/component/theme/interfaces.py:139
 #: src/pyams_content/component/theme/interfaces.py:153
 #: src/pyams_content/component/theme/zmi/portlet.py:70
-#: src/pyams_content/shared/common/zmi/search.py:200
+#: src/pyams_content/root/zmi/search.py:187
+#: src/pyams_content/root/zmi/templates/advanced-search.pt:188
+#: src/pyams_content/shared/common/zmi/search.py:207
 msgid "Collections"
 msgstr "Collections"
 
@@ -2455,7 +2465,7 @@
 msgstr "Le niveau de gravité choisi affectera le style de rendu de l'alerte"
 
 #: src/pyams_content/features/alert/interfaces.py:65
-#: src/pyams_content/features/alert/zmi/container.py:143
+#: src/pyams_content/features/alert/zmi/container.py:140
 msgid "Message"
 msgstr "Message"
 
@@ -2514,15 +2524,15 @@
 "donné, l'alerte apparaîtra à nouveau. Si aucun intervalle n'est indiqué, "
 "l'alerte s'affichera en permanence."
 
-#: src/pyams_content/features/alert/zmi/container.py:53
+#: src/pyams_content/features/alert/zmi/container.py:51
 msgid "Alerts"
 msgstr "Alertes"
 
-#: src/pyams_content/features/alert/zmi/container.py:165
+#: src/pyams_content/features/alert/zmi/container.py:164
 msgid "Alert list"
 msgstr "Liste des alertes"
 
-#: src/pyams_content/features/alert/zmi/container.py:95
+#: src/pyams_content/features/alert/zmi/container.py:93
 msgid "No currently defined alert."
 msgstr "Aucune alerte n'est définie actuellement."
 
@@ -3334,7 +3344,7 @@
 "Vous devez indiquer la cible de la recherche lorsque vous activez la "
 "recherche par collections !"
 
-#: src/pyams_content/features/search/portlet/__init__.py:99
+#: src/pyams_content/features/search/portlet/__init__.py:97
 msgid "Search results"
 msgstr "Résultats de la recherche"
 
@@ -3589,300 +3599,300 @@
 msgid "Given element name doesn't exist!"
 msgstr "Le nom de l'élément indiqué n'existe pas !"
 
-#: src/pyams_content/root/zmi/__init__.py:78
+#: src/pyams_content/root/zmi/__init__.py:73
 msgid "Home"
 msgstr "Accueil"
 
-#: src/pyams_content/root/zmi/__init__.py:110
+#: src/pyams_content/root/zmi/__init__.py:105
 #: src/pyams_content/shared/common/zmi/dashboard.py:304
 msgid "Dashboard"
 msgstr "Tableau de bord"
 
-#: src/pyams_content/root/zmi/__init__.py:159
+#: src/pyams_content/root/zmi/__init__.py:154
 #: src/pyams_content/shared/common/zmi/dashboard.py:364
 #, python-format
 msgid "MANAGER - {0} content waiting for your action"
 msgstr "RESPONSABLE - {0} contenu en attente de votre intervention"
 
-#: src/pyams_content/root/zmi/__init__.py:160
+#: src/pyams_content/root/zmi/__init__.py:155
 #: src/pyams_content/shared/common/zmi/dashboard.py:365
 #, python-format
 msgid "MANAGER - {0} contents waiting for your action"
 msgstr "RESPONSABLE - {0} contenus en attente de votre intervention"
 
-#: src/pyams_content/root/zmi/__init__.py:204
+#: src/pyams_content/root/zmi/__init__.py:199
 #: src/pyams_content/shared/common/zmi/dashboard.py:408
 #, python-format
 msgid "CONTRIBUTOR - {0} content waiting for action"
 msgstr "CONTRIBUTEUR - {0} contenu soumis à un responsable"
 
-#: src/pyams_content/root/zmi/__init__.py:205
+#: src/pyams_content/root/zmi/__init__.py:200
 #: src/pyams_content/shared/common/zmi/dashboard.py:409
 #, python-format
 msgid "CONTRIBUTOR - {0} contents waiting for action"
 msgstr "CONTRIBUTEUR - {0} contenus soumis à un responsable"
 
-#: src/pyams_content/root/zmi/__init__.py:240
+#: src/pyams_content/root/zmi/__init__.py:235
 #: src/pyams_content/shared/common/zmi/dashboard.py:443
 #, python-format
 msgid "CONTRIBUTOR - {0} modified content"
 msgstr "CONTRIBUTEUR - {0} contenu modifié"
 
-#: src/pyams_content/root/zmi/__init__.py:283
+#: src/pyams_content/root/zmi/__init__.py:278
 #: src/pyams_content/shared/common/zmi/dashboard.py:486
 msgid "My contents"
 msgstr "Mes contenus"
 
-#: src/pyams_content/root/zmi/__init__.py:298
+#: src/pyams_content/root/zmi/__init__.py:293
 #: src/pyams_content/root/zmi/templates/dashboard.pt:8
 #: src/pyams_content/shared/common/zmi/dashboard.py:501
 #: src/pyams_content/shared/common/zmi/templates/dashboard.pt:8
 msgid "My favorites"
 msgstr "Mes favoris"
 
-#: src/pyams_content/root/zmi/__init__.py:307
+#: src/pyams_content/root/zmi/__init__.py:302
 #: src/pyams_content/shared/common/zmi/dashboard.py:510
 #, python-format
 msgid "CONTRIBUTOR - {0} favorite"
 msgstr "CONTRIBUTEUR - {0} contenu favori"
 
-#: src/pyams_content/root/zmi/__init__.py:308
+#: src/pyams_content/root/zmi/__init__.py:303
 #: src/pyams_content/shared/common/zmi/dashboard.py:511
 #, python-format
 msgid "CONTRIBUTOR - {0} favorites"
 msgstr "CONTRIBUTEUR - {0} contenus favoris"
 
-#: src/pyams_content/root/zmi/__init__.py:346
+#: src/pyams_content/root/zmi/__init__.py:341
 #: src/pyams_content/shared/common/zmi/dashboard.py:588
 msgid "Your favorite contents"
 msgstr "Mes contenus favoris"
 
-#: src/pyams_content/root/zmi/__init__.py:359
+#: src/pyams_content/root/zmi/__init__.py:354
 #: src/pyams_content/shared/common/zmi/dashboard.py:601
 msgid "My drafts"
 msgstr "Mes brouillons"
 
-#: src/pyams_content/root/zmi/__init__.py:368
+#: src/pyams_content/root/zmi/__init__.py:363
 #: src/pyams_content/shared/common/zmi/dashboard.py:610
 #, python-format
 msgid "CONTRIBUTOR - {0} content in preparation"
 msgstr "CONTRIBUTEUR - {0} contenu en préparation"
 
-#: src/pyams_content/root/zmi/__init__.py:369
+#: src/pyams_content/root/zmi/__init__.py:364
 #: src/pyams_content/shared/common/zmi/dashboard.py:611
 #, python-format
 msgid "CONTRIBUTOR - {0} contents in preparation"
 msgstr "CONTRIBUTEUR - {0} contenus en préparation"
 
-#: src/pyams_content/root/zmi/__init__.py:408
+#: src/pyams_content/root/zmi/__init__.py:403
 #: src/pyams_content/shared/common/zmi/dashboard.py:654
 msgid "Your prepared contents"
 msgstr "Mes contenus en préparation"
 
-#: src/pyams_content/root/zmi/__init__.py:421
+#: src/pyams_content/root/zmi/__init__.py:416
 #: src/pyams_content/shared/common/zmi/dashboard.py:667
 msgid "My submissions"
 msgstr "Mes demandes"
 
-#: src/pyams_content/root/zmi/__init__.py:430
+#: src/pyams_content/root/zmi/__init__.py:425
 #: src/pyams_content/shared/common/zmi/dashboard.py:676
 #, python-format
 msgid "CONTRIBUTOR - {0} submitted content"
 msgstr "CONTRIBUTEUR - {0} contenu soumis à un responsable"
 
-#: src/pyams_content/root/zmi/__init__.py:431
+#: src/pyams_content/root/zmi/__init__.py:426
 #: src/pyams_content/shared/common/zmi/dashboard.py:677
 #, python-format
 msgid "CONTRIBUTOR - {0} submitted contents"
 msgstr "CONTRIBUTEUR - {0} contenus soumis à un responsable"
 
-#: src/pyams_content/root/zmi/__init__.py:470
+#: src/pyams_content/root/zmi/__init__.py:465
 #: src/pyams_content/shared/common/zmi/dashboard.py:720
 msgid "Your submitted contents"
 msgstr "Mes contenus soumis à un responsable"
 
-#: src/pyams_content/root/zmi/__init__.py:483
+#: src/pyams_content/root/zmi/__init__.py:478
 #: src/pyams_content/shared/common/zmi/dashboard.py:733
 msgid "My publications"
 msgstr "Mes publications"
 
-#: src/pyams_content/root/zmi/__init__.py:492
+#: src/pyams_content/root/zmi/__init__.py:487
 #: src/pyams_content/shared/common/zmi/dashboard.py:742
 #, python-format
 msgid "CONTRIBUTOR - {0} published content"
 msgstr "CONTRIBUTEUR - {0} contenu publié"
 
-#: src/pyams_content/root/zmi/__init__.py:493
+#: src/pyams_content/root/zmi/__init__.py:488
 #: src/pyams_content/shared/common/zmi/dashboard.py:743
 #, python-format
 msgid "CONTRIBUTOR - {0} published contents"
 msgstr "CONTRIBUTEUR - {0} contenus publiés"
 
-#: src/pyams_content/root/zmi/__init__.py:532
+#: src/pyams_content/root/zmi/__init__.py:527
 #: src/pyams_content/shared/common/zmi/dashboard.py:786
 msgid "Your published contents"
 msgstr "Mes contenus publiés"
 
-#: src/pyams_content/root/zmi/__init__.py:545
+#: src/pyams_content/root/zmi/__init__.py:540
 #: src/pyams_content/shared/common/zmi/dashboard.py:799
 msgid "My retired contents"
 msgstr "Mes contenus retirés"
 
-#: src/pyams_content/root/zmi/__init__.py:554
+#: src/pyams_content/root/zmi/__init__.py:549
 #: src/pyams_content/shared/common/zmi/dashboard.py:808
 #, python-format
 msgid "CONTRIBUTOR - {0} retired content"
 msgstr "CONTRIBUTEUR - {0} contenu retiré"
 
-#: src/pyams_content/root/zmi/__init__.py:555
+#: src/pyams_content/root/zmi/__init__.py:550
 #: src/pyams_content/shared/common/zmi/dashboard.py:809
 #, python-format
 msgid "CONTRIBUTOR - {0} retired contents"
 msgstr "CONTRIBUTEUR - {0} contenus retirés"
 
-#: src/pyams_content/root/zmi/__init__.py:595
+#: src/pyams_content/root/zmi/__init__.py:590
 #: src/pyams_content/shared/common/zmi/dashboard.py:852
 msgid "Your retired contents"
 msgstr "Mes contenus retirés"
 
-#: src/pyams_content/root/zmi/__init__.py:608
+#: src/pyams_content/root/zmi/__init__.py:603
 #: src/pyams_content/shared/common/zmi/dashboard.py:865
 msgid "My archived contents"
 msgstr "Mes contenus archivés"
 
-#: src/pyams_content/root/zmi/__init__.py:617
+#: src/pyams_content/root/zmi/__init__.py:612
 #: src/pyams_content/shared/common/zmi/dashboard.py:874
 #, python-format
 msgid "CONTRIBUTOR - {0} archived content"
 msgstr "CONTRIBUTEUR - {0} contenu archivé"
 
-#: src/pyams_content/root/zmi/__init__.py:618
+#: src/pyams_content/root/zmi/__init__.py:613
 #: src/pyams_content/shared/common/zmi/dashboard.py:875
 #, python-format
 msgid "CONTRIBUTOR - {0} archived contents"
 msgstr "CONTRIBUTEUR - {0} contenus archivés"
 
-#: src/pyams_content/root/zmi/__init__.py:664
+#: src/pyams_content/root/zmi/__init__.py:659
 #: src/pyams_content/shared/common/zmi/dashboard.py:924
 msgid "Your archived contents"
 msgstr "Mes contenus archivés"
 
-#: src/pyams_content/root/zmi/__init__.py:678
+#: src/pyams_content/root/zmi/__init__.py:673
 #: src/pyams_content/shared/common/zmi/dashboard.py:938
 msgid "Other interventions"
 msgstr "Toutes les interventions"
 
-#: src/pyams_content/root/zmi/__init__.py:693
+#: src/pyams_content/root/zmi/__init__.py:688
 #: src/pyams_content/shared/common/zmi/dashboard.py:953
 msgid "Last publications"
 msgstr "Dernières publications"
 
-#: src/pyams_content/root/zmi/__init__.py:702
+#: src/pyams_content/root/zmi/__init__.py:697
 #: src/pyams_content/shared/common/zmi/dashboard.py:962
 #, python-format
 msgid "CONTRIBUTORS - {0} published content"
 msgstr "TOUS CONTRIBUTEURS - {0} contenu publié"
 
-#: src/pyams_content/root/zmi/__init__.py:748
+#: src/pyams_content/root/zmi/__init__.py:743
 #: src/pyams_content/shared/common/zmi/dashboard.py:1011
 msgid "Last published contents"
 msgstr "Derniers contenus publiés"
 
-#: src/pyams_content/root/zmi/__init__.py:761
+#: src/pyams_content/root/zmi/__init__.py:756
 #: src/pyams_content/shared/common/zmi/dashboard.py:1024
 msgid "Last updates"
 msgstr "Dernières modifications"
 
-#: src/pyams_content/root/zmi/__init__.py:770
+#: src/pyams_content/root/zmi/__init__.py:765
 #: src/pyams_content/shared/common/zmi/dashboard.py:1033
 #, python-format
 msgid "CONTRIBUTORS - {0} updated content"
 msgstr "TOUS CONTRIBUTEURS - {0} contenu modifié"
 
-#: src/pyams_content/root/zmi/__init__.py:814
+#: src/pyams_content/root/zmi/__init__.py:809
 #: src/pyams_content/shared/common/zmi/dashboard.py:1080
 msgid "Last updated contents"
 msgstr "Derniers contenus modifiés"
 
-#: src/pyams_content/root/zmi/__init__.py:245
+#: src/pyams_content/root/zmi/__init__.py:240
 #: src/pyams_content/shared/common/zmi/dashboard.py:448
 #, python-format
 msgid "CONTRIBUTOR - {0} modified contents"
 msgstr "CONTRIBUTEUR - {0} contenus modifiés"
 
-#: src/pyams_content/root/zmi/__init__.py:247
+#: src/pyams_content/root/zmi/__init__.py:242
 #: src/pyams_content/shared/common/zmi/dashboard.py:450
 #, python-format
 msgid "CONTRIBUTOR - Last {0} modified contents"
 msgstr "CONTRIBUTEUR - Les {0} dernières modifications"
 
-#: src/pyams_content/root/zmi/__init__.py:707
+#: src/pyams_content/root/zmi/__init__.py:702
 #: src/pyams_content/shared/common/zmi/dashboard.py:967
 #, python-format
 msgid "CONTRIBUTORS - Last {0} published contents"
 msgstr "TOUS CONTRIBUTEURS - Les {0} dernières publications"
 
-#: src/pyams_content/root/zmi/__init__.py:709
+#: src/pyams_content/root/zmi/__init__.py:704
 #: src/pyams_content/shared/common/zmi/dashboard.py:969
 msgid "CONTRIBUTORS - Last published contents (in the limit of 50)"
 msgstr "TOUS CONTRIBUTEURS - Les {0} dernières publications"
 
-#: src/pyams_content/root/zmi/__init__.py:775
+#: src/pyams_content/root/zmi/__init__.py:770
 #: src/pyams_content/shared/common/zmi/dashboard.py:1038
 #, python-format
 msgid "CONTRIBUTORS - Last {0} updated contents"
 msgstr "TOUS CONTRIBUTEURS - Les {0} dernières modifications"
 
-#: src/pyams_content/root/zmi/__init__.py:777
+#: src/pyams_content/root/zmi/__init__.py:772
 #: src/pyams_content/shared/common/zmi/dashboard.py:1040
 msgid "CONTRIBUTORS - Last updated contents (in the limit of 50)"
 msgstr "TOUS CONTRIBUTEURS - Les {0} dernières modifications"
 
-#: src/pyams_content/root/zmi/search.py:90
-#: src/pyams_content/shared/common/zmi/search.py:94
+#: src/pyams_content/root/zmi/search.py:94
+#: src/pyams_content/shared/common/zmi/search.py:97
 msgid "Quick search results"
 msgstr "Résultats de la recherche rapide"
 
-#: src/pyams_content/root/zmi/search.py:150
-#: src/pyams_content/root/zmi/search.py:186
-#: src/pyams_content/shared/common/zmi/search.py:163
-#: src/pyams_content/shared/common/zmi/search.py:209
+#: src/pyams_content/root/zmi/search.py:157
+#: src/pyams_content/root/zmi/search.py:196
+#: src/pyams_content/shared/common/zmi/search.py:170
+#: src/pyams_content/shared/common/zmi/search.py:216
 msgid "Advanced search"
 msgstr "Recherche avancée"
 
-#: src/pyams_content/root/zmi/search.py:278
-#: src/pyams_content/shared/common/zmi/search.py:341
+#: src/pyams_content/root/zmi/search.py:308
+#: src/pyams_content/shared/common/zmi/search.py:351
 msgid "Advanced search results"
 msgstr "Résultats de la recherche avancée"
 
-#: src/pyams_content/root/zmi/search.py:158
+#: src/pyams_content/root/zmi/search.py:165
 msgid "Content types"
 msgstr "Types de contenus"
 
-#: src/pyams_content/root/zmi/search.py:162
+#: src/pyams_content/root/zmi/search.py:169
 #: src/pyams_content/shared/common/zmi/dashboard.py:258
-#: src/pyams_content/shared/common/zmi/search.py:171
+#: src/pyams_content/shared/common/zmi/search.py:178
 #: src/pyams_content/shared/common/zmi/types/updater.py:65
 msgid "Owner"
 msgstr "Propriétaire"
 
-#: src/pyams_content/root/zmi/search.py:165
-#: src/pyams_content/shared/common/zmi/search.py:182
+#: src/pyams_content/root/zmi/search.py:172
+#: src/pyams_content/shared/common/zmi/search.py:189
 msgid "Created after..."
 msgstr "Créé entre le"
 
-#: src/pyams_content/root/zmi/search.py:168
-#: src/pyams_content/shared/common/zmi/search.py:185
+#: src/pyams_content/root/zmi/search.py:175
+#: src/pyams_content/shared/common/zmi/search.py:192
 msgid "Created before..."
 msgstr "et le"
 
-#: src/pyams_content/root/zmi/search.py:171
-#: src/pyams_content/shared/common/zmi/search.py:188
+#: src/pyams_content/root/zmi/search.py:178
+#: src/pyams_content/shared/common/zmi/search.py:195
 msgid "Modified after..."
 msgstr "Modifié entre le"
 
-#: src/pyams_content/root/zmi/search.py:174
-#: src/pyams_content/shared/common/zmi/search.py:191
+#: src/pyams_content/root/zmi/search.py:181
+#: src/pyams_content/shared/common/zmi/search.py:198
 msgid "Modified before..."
 msgstr "et le"
 
@@ -3926,7 +3936,7 @@
 msgid "Modified between"
 msgstr "Modifié entre le"
 
-#: src/pyams_content/root/zmi/templates/advanced-search.pt:211
+#: src/pyams_content/root/zmi/templates/advanced-search.pt:218
 #: src/pyams_content/shared/common/zmi/templates/advanced-search.pt:237
 msgid "Tab label"
 msgstr "Libellé de l'onglet"
@@ -5208,7 +5218,7 @@
 msgstr "Liste des champs de saisie associés à ce type"
 
 #: src/pyams_content/shared/common/interfaces/types.py:120
-#: src/pyams_content/shared/common/zmi/search.py:178
+#: src/pyams_content/shared/common/zmi/search.py:185
 #: src/pyams_content/shared/site/interfaces.py:154
 #: src/pyams_content/shared/topic/interfaces.py:42
 msgid "Data type"
@@ -5662,7 +5672,7 @@
 msgstr "N° IN"
 
 #: src/pyams_content/shared/common/zmi/dashboard.py:177
-#: src/pyams_content/shared/common/zmi/search.py:174
+#: src/pyams_content/shared/common/zmi/search.py:181
 msgid "Status"
 msgstr "Statut"
 
--- a/src/pyams_content/locales/pyams_content.pot	Mon Jul 20 15:21:56 2020 +0200
+++ b/src/pyams_content/locales/pyams_content.pot	Mon Aug 31 14:35:09 2020 +0200
@@ -6,7 +6,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE 1.0\n"
-"POT-Creation-Date: 2020-07-01 16:13+0200\n"
+"POT-Creation-Date: 2020-08-31 13:58+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"
@@ -117,8 +117,8 @@
 msgstr ""
 
 #: ./src/pyams_content/reference/pictograms/interfaces.py:44
-#: ./src/pyams_content/component/extfile/__init__.py:225
-#: ./src/pyams_content/component/extfile/__init__.py:241
+#: ./src/pyams_content/component/extfile/__init__.py:240
+#: ./src/pyams_content/component/extfile/__init__.py:256
 #: ./src/pyams_content/shared/imagemap/interfaces.py:67
 msgid "Image"
 msgstr ""
@@ -162,7 +162,7 @@
 msgstr ""
 
 #: ./src/pyams_content/reference/pictograms/zmi/widget.py:55
-#: ./src/pyams_content/reference/pictograms/zmi/__init__.py:169
+#: ./src/pyams_content/reference/pictograms/zmi/__init__.py:176
 msgid "Default header: --"
 msgstr ""
 
@@ -170,22 +170,22 @@
 msgid "Pictograms selection..."
 msgstr ""
 
-#: ./src/pyams_content/reference/pictograms/zmi/__init__.py:59
-#: ./src/pyams_content/component/paragraph/zmi/pictogram.py:296
+#: ./src/pyams_content/reference/pictograms/zmi/__init__.py:58
+#: ./src/pyams_content/component/paragraph/zmi/pictogram.py:317
 msgid "Add pictogram"
 msgstr ""
 
 #: ./src/pyams_content/reference/pictograms/zmi/__init__.py:71
-#: ./src/pyams_content/component/paragraph/zmi/pictogram.py:309
+#: ./src/pyams_content/component/paragraph/zmi/pictogram.py:330
 msgid "Add new pictogram"
 msgstr ""
 
-#: ./src/pyams_content/reference/pictograms/zmi/__init__.py:95
-#: ./src/pyams_content/component/paragraph/zmi/pictogram.py:351
+#: ./src/pyams_content/reference/pictograms/zmi/__init__.py:96
+#: ./src/pyams_content/component/paragraph/zmi/pictogram.py:374
 msgid "Edit pictogram properties"
 msgstr ""
 
-#: ./src/pyams_content/reference/pictograms/zmi/__init__.py:150
+#: ./src/pyams_content/reference/pictograms/zmi/__init__.py:156
 #: ./src/pyams_content/component/keynumber/portlet/interfaces.py:31
 #: ./src/pyams_content/component/gallery/interfaces.py:107
 #: ./src/pyams_content/component/paragraph/interfaces/milestone.py:42
@@ -195,7 +195,7 @@
 #: ./src/pyams_content/features/menu/portlet/navigation/interfaces/simple.py:31
 #: ./src/pyams_content/features/menu/portlet/navigation/interfaces/double.py:31
 #: ./src/pyams_content/features/search/portlet/interfaces.py:25
-#: ./src/pyams_content/root/zmi/templates/advanced-search.pt:197
+#: ./src/pyams_content/root/zmi/templates/advanced-search.pt:204
 #: ./src/pyams_content/shared/view/portlet/interfaces.py:52
 #: ./src/pyams_content/shared/common/zmi/dashboard.py:128
 #: ./src/pyams_content/shared/common/zmi/reverse.py:69
@@ -232,7 +232,7 @@
 #: ./src/pyams_content/component/paragraph/interfaces/pictogram.py:41
 #: ./src/pyams_content/component/paragraph/interfaces/milestone.py:37
 #: ./src/pyams_content/component/paragraph/interfaces/__init__.py:39
-#: ./src/pyams_content/component/association/interfaces.py:37
+#: ./src/pyams_content/component/association/interfaces.py:39
 #: ./src/pyams_content/features/alert/interfaces.py:54
 #: ./src/pyams_content/features/menu/interfaces.py:62
 #: ./src/pyams_content/shared/form/interfaces.py:148
@@ -281,7 +281,7 @@
 #: ./src/pyams_content/component/paragraph/interfaces/video.py:50
 #: ./src/pyams_content/component/paragraph/interfaces/pictogram.py:58
 #: ./src/pyams_content/component/paragraph/interfaces/milestone.py:90
-#: ./src/pyams_content/component/paragraph/zmi/pictogram.py:259
+#: ./src/pyams_content/component/paragraph/zmi/pictogram.py:276
 #: ./src/pyams_content/component/illustration/interfaces.py:62
 msgid "Associated text"
 msgstr ""
@@ -1119,8 +1119,8 @@
 msgstr ""
 
 #: ./src/pyams_content/component/paragraph/interfaces/video.py:32
-#: ./src/pyams_content/component/extfile/__init__.py:256
-#: ./src/pyams_content/component/extfile/__init__.py:261
+#: ./src/pyams_content/component/extfile/__init__.py:271
+#: ./src/pyams_content/component/extfile/__init__.py:276
 msgid "Video"
 msgstr ""
 
@@ -1134,7 +1134,7 @@
 msgstr ""
 
 #: ./src/pyams_content/component/paragraph/interfaces/pictogram.py:80
-#: ./src/pyams_content/component/paragraph/zmi/pictogram.py:281
+#: ./src/pyams_content/component/paragraph/zmi/pictogram.py:301
 msgid "Pictograms"
 msgstr ""
 
@@ -1553,29 +1553,29 @@
 msgid "Add new video paragraph"
 msgstr ""
 
-#: ./src/pyams_content/component/paragraph/zmi/pictogram.py:77
+#: ./src/pyams_content/component/paragraph/zmi/pictogram.py:81
 msgid "Pictograms..."
 msgstr ""
 
-#: ./src/pyams_content/component/paragraph/zmi/pictogram.py:90
+#: ./src/pyams_content/component/paragraph/zmi/pictogram.py:94
 msgid "Add new pictogram paragraph"
 msgstr ""
 
-#: ./src/pyams_content/component/paragraph/zmi/pictogram.py:109
+#: ./src/pyams_content/component/paragraph/zmi/pictogram.py:113
 msgid "Edit pictogram paragraph properties"
 msgstr ""
 
 #. Default: Header
-#: ./src/pyams_content/component/paragraph/zmi/pictogram.py:242
+#: ./src/pyams_content/component/paragraph/zmi/pictogram.py:257
 msgid "pictogram-item-header"
 msgstr ""
 
-#: ./src/pyams_content/component/paragraph/zmi/pictogram.py:331
+#: ./src/pyams_content/component/paragraph/zmi/pictogram.py:352
 msgid "Pictogram was correctly added"
 msgstr ""
 
-#: ./src/pyams_content/component/paragraph/zmi/pictogram.py:341
-#: ./src/pyams_content/component/paragraph/zmi/pictogram.py:379
+#: ./src/pyams_content/component/paragraph/zmi/pictogram.py:363
+#: ./src/pyams_content/component/paragraph/zmi/pictogram.py:403
 msgid "You must select a pictogram!"
 msgstr ""
 
@@ -1732,15 +1732,15 @@
 msgid "Edit key points paragraph properties"
 msgstr ""
 
-#: ./src/pyams_content/component/paragraph/zmi/frame.py:93
+#: ./src/pyams_content/component/paragraph/zmi/frame.py:105
 msgid "Framed text..."
 msgstr ""
 
-#: ./src/pyams_content/component/paragraph/zmi/frame.py:107
+#: ./src/pyams_content/component/paragraph/zmi/frame.py:119
 msgid "Add new framed text paragraph"
 msgstr ""
 
-#: ./src/pyams_content/component/paragraph/zmi/frame.py:126
+#: ./src/pyams_content/component/paragraph/zmi/frame.py:138
 msgid "Edit framed text paragraph properties"
 msgstr ""
 
@@ -1757,47 +1757,47 @@
 msgstr ""
 
 #: ./src/pyams_content/component/association/container.py:88
-#: ./src/pyams_content/component/association/interfaces.py:88
-#: ./src/pyams_content/component/association/zmi/__init__.py:313
+#: ./src/pyams_content/component/association/interfaces.py:94
+#: ./src/pyams_content/component/association/zmi/__init__.py:312
 msgid "Associations"
 msgstr ""
 
-#: ./src/pyams_content/component/association/interfaces.py:38
+#: ./src/pyams_content/component/association/interfaces.py:40
 #: ./src/pyams_content/features/menu/interfaces.py:63
 msgid "Is this item visible in front-office?"
 msgstr ""
 
-#: ./src/pyams_content/component/association/interfaces.py:95
+#: ./src/pyams_content/component/association/interfaces.py:101
 msgid "Associations template"
 msgstr ""
 
-#: ./src/pyams_content/component/association/interfaces.py:96
+#: ./src/pyams_content/component/association/interfaces.py:102
 msgid "Presentation template used for associations"
 msgstr ""
 
-#: ./src/pyams_content/component/association/zmi/__init__.py:96
+#: ./src/pyams_content/component/association/zmi/__init__.py:95
 #: ./src/pyams_content/component/association/zmi/paragraph.py:46
 msgid "Associations..."
 msgstr ""
 
-#: ./src/pyams_content/component/association/zmi/__init__.py:209
+#: ./src/pyams_content/component/association/zmi/__init__.py:208
 msgid "Public title"
 msgstr ""
 
-#: ./src/pyams_content/component/association/zmi/__init__.py:229
+#: ./src/pyams_content/component/association/zmi/__init__.py:228
 msgid "Inner title"
 msgstr ""
 
-#: ./src/pyams_content/component/association/zmi/__init__.py:247
+#: ./src/pyams_content/component/association/zmi/__init__.py:246
 msgid "Size"
 msgstr ""
 
-#: ./src/pyams_content/component/association/zmi/__init__.py:290
-#: ./src/pyams_content/component/association/zmi/__init__.py:300
+#: ./src/pyams_content/component/association/zmi/__init__.py:289
+#: ./src/pyams_content/component/association/zmi/__init__.py:299
 msgid "Associations list"
 msgstr ""
 
-#: ./src/pyams_content/component/association/zmi/__init__.py:66
+#: ./src/pyams_content/component/association/zmi/__init__.py:65
 msgid "Association was correctly added."
 msgstr ""
 
@@ -1809,13 +1809,13 @@
 msgid "Edit association paragraph properties"
 msgstr ""
 
-#: ./src/pyams_content/component/extfile/__init__.py:173
-#: ./src/pyams_content/component/extfile/__init__.py:178
+#: ./src/pyams_content/component/extfile/__init__.py:188
+#: ./src/pyams_content/component/extfile/__init__.py:193
 msgid "Standard file"
 msgstr ""
 
-#: ./src/pyams_content/component/extfile/__init__.py:276
-#: ./src/pyams_content/component/extfile/__init__.py:281
+#: ./src/pyams_content/component/extfile/__init__.py:291
+#: ./src/pyams_content/component/extfile/__init__.py:296
 msgid "Audio file"
 msgstr ""
 
@@ -1878,71 +1878,79 @@
 msgid "External files properties"
 msgstr ""
 
-#: ./src/pyams_content/component/extfile/zmi/__init__.py:70
+#: ./src/pyams_content/component/extfile/zmi/__init__.py:80
 msgid "External files"
 msgstr ""
 
-#: ./src/pyams_content/component/extfile/zmi/__init__.py:85
+#: ./src/pyams_content/component/extfile/zmi/__init__.py:95
 msgid "Add external file"
 msgstr ""
 
-#: ./src/pyams_content/component/extfile/zmi/__init__.py:99
+#: ./src/pyams_content/component/extfile/zmi/__init__.py:109
 msgid "Add new external file"
 msgstr ""
 
-#: ./src/pyams_content/component/extfile/zmi/__init__.py:131
+#: ./src/pyams_content/component/extfile/zmi/__init__.py:141
 msgid "Update file properties"
 msgstr ""
 
-#: ./src/pyams_content/component/extfile/zmi/__init__.py:159
+#: ./src/pyams_content/component/extfile/zmi/__init__.py:169
 msgid "Images"
 msgstr ""
 
-#: ./src/pyams_content/component/extfile/zmi/__init__.py:174
+#: ./src/pyams_content/component/extfile/zmi/__init__.py:184
 msgid "Add image"
 msgstr ""
 
-#: ./src/pyams_content/component/extfile/zmi/__init__.py:188
+#: ./src/pyams_content/component/extfile/zmi/__init__.py:198
 msgid "Add new image"
 msgstr ""
 
-#: ./src/pyams_content/component/extfile/zmi/__init__.py:220
+#: ./src/pyams_content/component/extfile/zmi/__init__.py:230
 msgid "Update image properties"
 msgstr ""
 
-#: ./src/pyams_content/component/extfile/zmi/__init__.py:252
+#: ./src/pyams_content/component/extfile/zmi/__init__.py:262
 msgid "Videos"
 msgstr ""
 
-#: ./src/pyams_content/component/extfile/zmi/__init__.py:267
+#: ./src/pyams_content/component/extfile/zmi/__init__.py:277
 msgid "Add video"
 msgstr ""
 
-#: ./src/pyams_content/component/extfile/zmi/__init__.py:281
+#: ./src/pyams_content/component/extfile/zmi/__init__.py:291
 msgid "Add new video"
 msgstr ""
 
-#: ./src/pyams_content/component/extfile/zmi/__init__.py:306
+#: ./src/pyams_content/component/extfile/zmi/__init__.py:316
 msgid "Update video properties"
 msgstr ""
 
-#: ./src/pyams_content/component/extfile/zmi/__init__.py:331
+#: ./src/pyams_content/component/extfile/zmi/__init__.py:341
 msgid "Audios files"
 msgstr ""
 
-#: ./src/pyams_content/component/extfile/zmi/__init__.py:346
+#: ./src/pyams_content/component/extfile/zmi/__init__.py:356
 msgid "Add audio file"
 msgstr ""
 
-#: ./src/pyams_content/component/extfile/zmi/__init__.py:360
+#: ./src/pyams_content/component/extfile/zmi/__init__.py:370
 msgid "Add new audio file"
 msgstr ""
 
-#: ./src/pyams_content/component/extfile/zmi/__init__.py:385
+#: ./src/pyams_content/component/extfile/zmi/__init__.py:395
 msgid "Update audio file properties"
 msgstr ""
 
-#: ./src/pyams_content/component/extfile/zmi/__init__.py:46
+#: ./src/pyams_content/component/extfile/zmi/__init__.py:418
+msgid "Created"
+msgstr ""
+
+#: ./src/pyams_content/component/extfile/zmi/__init__.py:435
+msgid "Modified"
+msgstr ""
+
+#: ./src/pyams_content/component/extfile/zmi/__init__.py:56
 msgid "External file type"
 msgstr ""
 
@@ -2000,9 +2008,9 @@
 #: ./src/pyams_content/component/theme/interfaces.py:57
 #: ./src/pyams_content/component/theme/interfaces.py:71
 #: ./src/pyams_content/component/theme/zmi/portlet.py:40
-#: ./src/pyams_content/root/zmi/search.py:177
+#: ./src/pyams_content/root/zmi/search.py:184
 #: ./src/pyams_content/root/zmi/templates/advanced-search.pt:181
-#: ./src/pyams_content/shared/common/zmi/search.py:194
+#: ./src/pyams_content/shared/common/zmi/search.py:201
 msgid "Tags"
 msgstr ""
 
@@ -2010,7 +2018,7 @@
 #: ./src/pyams_content/component/theme/interfaces.py:98
 #: ./src/pyams_content/component/theme/interfaces.py:112
 #: ./src/pyams_content/component/theme/zmi/portlet.py:55
-#: ./src/pyams_content/shared/common/zmi/search.py:197
+#: ./src/pyams_content/shared/common/zmi/search.py:204
 msgid "Themes"
 msgstr ""
 
@@ -2018,7 +2026,9 @@
 #: ./src/pyams_content/component/theme/interfaces.py:139
 #: ./src/pyams_content/component/theme/interfaces.py:153
 #: ./src/pyams_content/component/theme/zmi/portlet.py:70
-#: ./src/pyams_content/shared/common/zmi/search.py:200
+#: ./src/pyams_content/root/zmi/search.py:187
+#: ./src/pyams_content/root/zmi/templates/advanced-search.pt:188
+#: ./src/pyams_content/shared/common/zmi/search.py:207
 msgid "Collections"
 msgstr ""
 
@@ -2309,7 +2319,7 @@
 msgstr ""
 
 #: ./src/pyams_content/features/alert/interfaces.py:65
-#: ./src/pyams_content/features/alert/zmi/container.py:143
+#: ./src/pyams_content/features/alert/zmi/container.py:140
 msgid "Message"
 msgstr ""
 
@@ -2358,15 +2368,15 @@
 "set to 0 to always display the alert"
 msgstr ""
 
-#: ./src/pyams_content/features/alert/zmi/container.py:53
+#: ./src/pyams_content/features/alert/zmi/container.py:51
 msgid "Alerts"
 msgstr ""
 
-#: ./src/pyams_content/features/alert/zmi/container.py:165
+#: ./src/pyams_content/features/alert/zmi/container.py:164
 msgid "Alert list"
 msgstr ""
 
-#: ./src/pyams_content/features/alert/zmi/container.py:95
+#: ./src/pyams_content/features/alert/zmi/container.py:93
 msgid "No currently defined alert."
 msgstr ""
 
@@ -3060,7 +3070,7 @@
 msgid "You must specify search target when activating search by collections!"
 msgstr ""
 
-#: ./src/pyams_content/features/search/portlet/__init__.py:99
+#: ./src/pyams_content/features/search/portlet/__init__.py:97
 msgid "Search results"
 msgstr ""
 
@@ -3309,300 +3319,300 @@
 msgid "Given element name doesn't exist!"
 msgstr ""
 
-#: ./src/pyams_content/root/zmi/__init__.py:78
+#: ./src/pyams_content/root/zmi/__init__.py:73
 msgid "Home"
 msgstr ""
 
-#: ./src/pyams_content/root/zmi/__init__.py:110
+#: ./src/pyams_content/root/zmi/__init__.py:105
 #: ./src/pyams_content/shared/common/zmi/dashboard.py:304
 msgid "Dashboard"
 msgstr ""
 
-#: ./src/pyams_content/root/zmi/__init__.py:159
+#: ./src/pyams_content/root/zmi/__init__.py:154
 #: ./src/pyams_content/shared/common/zmi/dashboard.py:364
 #, python-format
 msgid "MANAGER - {0} content waiting for your action"
 msgstr ""
 
-#: ./src/pyams_content/root/zmi/__init__.py:160
+#: ./src/pyams_content/root/zmi/__init__.py:155
 #: ./src/pyams_content/shared/common/zmi/dashboard.py:365
 #, python-format
 msgid "MANAGER - {0} contents waiting for your action"
 msgstr ""
 
-#: ./src/pyams_content/root/zmi/__init__.py:204
+#: ./src/pyams_content/root/zmi/__init__.py:199
 #: ./src/pyams_content/shared/common/zmi/dashboard.py:408
 #, python-format
 msgid "CONTRIBUTOR - {0} content waiting for action"
 msgstr ""
 
-#: ./src/pyams_content/root/zmi/__init__.py:205
+#: ./src/pyams_content/root/zmi/__init__.py:200
 #: ./src/pyams_content/shared/common/zmi/dashboard.py:409
 #, python-format
 msgid "CONTRIBUTOR - {0} contents waiting for action"
 msgstr ""
 
-#: ./src/pyams_content/root/zmi/__init__.py:240
+#: ./src/pyams_content/root/zmi/__init__.py:235
 #: ./src/pyams_content/shared/common/zmi/dashboard.py:443
 #, python-format
 msgid "CONTRIBUTOR - {0} modified content"
 msgstr ""
 
-#: ./src/pyams_content/root/zmi/__init__.py:283
+#: ./src/pyams_content/root/zmi/__init__.py:278
 #: ./src/pyams_content/shared/common/zmi/dashboard.py:486
 msgid "My contents"
 msgstr ""
 
-#: ./src/pyams_content/root/zmi/__init__.py:298
+#: ./src/pyams_content/root/zmi/__init__.py:293
 #: ./src/pyams_content/root/zmi/templates/dashboard.pt:8
 #: ./src/pyams_content/shared/common/zmi/dashboard.py:501
 #: ./src/pyams_content/shared/common/zmi/templates/dashboard.pt:8
 msgid "My favorites"
 msgstr ""
 
-#: ./src/pyams_content/root/zmi/__init__.py:307
+#: ./src/pyams_content/root/zmi/__init__.py:302
 #: ./src/pyams_content/shared/common/zmi/dashboard.py:510
 #, python-format
 msgid "CONTRIBUTOR - {0} favorite"
 msgstr ""
 
-#: ./src/pyams_content/root/zmi/__init__.py:308
+#: ./src/pyams_content/root/zmi/__init__.py:303
 #: ./src/pyams_content/shared/common/zmi/dashboard.py:511
 #, python-format
 msgid "CONTRIBUTOR - {0} favorites"
 msgstr ""
 
-#: ./src/pyams_content/root/zmi/__init__.py:346
+#: ./src/pyams_content/root/zmi/__init__.py:341
 #: ./src/pyams_content/shared/common/zmi/dashboard.py:588
 msgid "Your favorite contents"
 msgstr ""
 
-#: ./src/pyams_content/root/zmi/__init__.py:359
+#: ./src/pyams_content/root/zmi/__init__.py:354
 #: ./src/pyams_content/shared/common/zmi/dashboard.py:601
 msgid "My drafts"
 msgstr ""
 
-#: ./src/pyams_content/root/zmi/__init__.py:368
+#: ./src/pyams_content/root/zmi/__init__.py:363
 #: ./src/pyams_content/shared/common/zmi/dashboard.py:610
 #, python-format
 msgid "CONTRIBUTOR - {0} content in preparation"
 msgstr ""
 
-#: ./src/pyams_content/root/zmi/__init__.py:369
+#: ./src/pyams_content/root/zmi/__init__.py:364
 #: ./src/pyams_content/shared/common/zmi/dashboard.py:611
 #, python-format
 msgid "CONTRIBUTOR - {0} contents in preparation"
 msgstr ""
 
-#: ./src/pyams_content/root/zmi/__init__.py:408
+#: ./src/pyams_content/root/zmi/__init__.py:403
 #: ./src/pyams_content/shared/common/zmi/dashboard.py:654
 msgid "Your prepared contents"
 msgstr ""
 
-#: ./src/pyams_content/root/zmi/__init__.py:421
+#: ./src/pyams_content/root/zmi/__init__.py:416
 #: ./src/pyams_content/shared/common/zmi/dashboard.py:667
 msgid "My submissions"
 msgstr ""
 
-#: ./src/pyams_content/root/zmi/__init__.py:430
+#: ./src/pyams_content/root/zmi/__init__.py:425
 #: ./src/pyams_content/shared/common/zmi/dashboard.py:676
 #, python-format
 msgid "CONTRIBUTOR - {0} submitted content"
 msgstr ""
 
-#: ./src/pyams_content/root/zmi/__init__.py:431
+#: ./src/pyams_content/root/zmi/__init__.py:426
 #: ./src/pyams_content/shared/common/zmi/dashboard.py:677
 #, python-format
 msgid "CONTRIBUTOR - {0} submitted contents"
 msgstr ""
 
-#: ./src/pyams_content/root/zmi/__init__.py:470
+#: ./src/pyams_content/root/zmi/__init__.py:465
 #: ./src/pyams_content/shared/common/zmi/dashboard.py:720
 msgid "Your submitted contents"
 msgstr ""
 
-#: ./src/pyams_content/root/zmi/__init__.py:483
+#: ./src/pyams_content/root/zmi/__init__.py:478
 #: ./src/pyams_content/shared/common/zmi/dashboard.py:733
 msgid "My publications"
 msgstr ""
 
-#: ./src/pyams_content/root/zmi/__init__.py:492
+#: ./src/pyams_content/root/zmi/__init__.py:487
 #: ./src/pyams_content/shared/common/zmi/dashboard.py:742
 #, python-format
 msgid "CONTRIBUTOR - {0} published content"
 msgstr ""
 
-#: ./src/pyams_content/root/zmi/__init__.py:493
+#: ./src/pyams_content/root/zmi/__init__.py:488
 #: ./src/pyams_content/shared/common/zmi/dashboard.py:743
 #, python-format
 msgid "CONTRIBUTOR - {0} published contents"
 msgstr ""
 
-#: ./src/pyams_content/root/zmi/__init__.py:532
+#: ./src/pyams_content/root/zmi/__init__.py:527
 #: ./src/pyams_content/shared/common/zmi/dashboard.py:786
 msgid "Your published contents"
 msgstr ""
 
-#: ./src/pyams_content/root/zmi/__init__.py:545
+#: ./src/pyams_content/root/zmi/__init__.py:540
 #: ./src/pyams_content/shared/common/zmi/dashboard.py:799
 msgid "My retired contents"
 msgstr ""
 
-#: ./src/pyams_content/root/zmi/__init__.py:554
+#: ./src/pyams_content/root/zmi/__init__.py:549
 #: ./src/pyams_content/shared/common/zmi/dashboard.py:808
 #, python-format
 msgid "CONTRIBUTOR - {0} retired content"
 msgstr ""
 
-#: ./src/pyams_content/root/zmi/__init__.py:555
+#: ./src/pyams_content/root/zmi/__init__.py:550
 #: ./src/pyams_content/shared/common/zmi/dashboard.py:809
 #, python-format
 msgid "CONTRIBUTOR - {0} retired contents"
 msgstr ""
 
-#: ./src/pyams_content/root/zmi/__init__.py:595
+#: ./src/pyams_content/root/zmi/__init__.py:590
 #: ./src/pyams_content/shared/common/zmi/dashboard.py:852
 msgid "Your retired contents"
 msgstr ""
 
-#: ./src/pyams_content/root/zmi/__init__.py:608
+#: ./src/pyams_content/root/zmi/__init__.py:603
 #: ./src/pyams_content/shared/common/zmi/dashboard.py:865
 msgid "My archived contents"
 msgstr ""
 
-#: ./src/pyams_content/root/zmi/__init__.py:617
+#: ./src/pyams_content/root/zmi/__init__.py:612
 #: ./src/pyams_content/shared/common/zmi/dashboard.py:874
 #, python-format
 msgid "CONTRIBUTOR - {0} archived content"
 msgstr ""
 
-#: ./src/pyams_content/root/zmi/__init__.py:618
+#: ./src/pyams_content/root/zmi/__init__.py:613
 #: ./src/pyams_content/shared/common/zmi/dashboard.py:875
 #, python-format
 msgid "CONTRIBUTOR - {0} archived contents"
 msgstr ""
 
-#: ./src/pyams_content/root/zmi/__init__.py:664
+#: ./src/pyams_content/root/zmi/__init__.py:659
 #: ./src/pyams_content/shared/common/zmi/dashboard.py:924
 msgid "Your archived contents"
 msgstr ""
 
-#: ./src/pyams_content/root/zmi/__init__.py:678
+#: ./src/pyams_content/root/zmi/__init__.py:673
 #: ./src/pyams_content/shared/common/zmi/dashboard.py:938
 msgid "Other interventions"
 msgstr ""
 
-#: ./src/pyams_content/root/zmi/__init__.py:693
+#: ./src/pyams_content/root/zmi/__init__.py:688
 #: ./src/pyams_content/shared/common/zmi/dashboard.py:953
 msgid "Last publications"
 msgstr ""
 
-#: ./src/pyams_content/root/zmi/__init__.py:702
+#: ./src/pyams_content/root/zmi/__init__.py:697
 #: ./src/pyams_content/shared/common/zmi/dashboard.py:962
 #, python-format
 msgid "CONTRIBUTORS - {0} published content"
 msgstr ""
 
-#: ./src/pyams_content/root/zmi/__init__.py:748
+#: ./src/pyams_content/root/zmi/__init__.py:743
 #: ./src/pyams_content/shared/common/zmi/dashboard.py:1011
 msgid "Last published contents"
 msgstr ""
 
-#: ./src/pyams_content/root/zmi/__init__.py:761
+#: ./src/pyams_content/root/zmi/__init__.py:756
 #: ./src/pyams_content/shared/common/zmi/dashboard.py:1024
 msgid "Last updates"
 msgstr ""
 
-#: ./src/pyams_content/root/zmi/__init__.py:770
+#: ./src/pyams_content/root/zmi/__init__.py:765
 #: ./src/pyams_content/shared/common/zmi/dashboard.py:1033
 #, python-format
 msgid "CONTRIBUTORS - {0} updated content"
 msgstr ""
 
-#: ./src/pyams_content/root/zmi/__init__.py:814
+#: ./src/pyams_content/root/zmi/__init__.py:809
 #: ./src/pyams_content/shared/common/zmi/dashboard.py:1080
 msgid "Last updated contents"
 msgstr ""
 
-#: ./src/pyams_content/root/zmi/__init__.py:245
+#: ./src/pyams_content/root/zmi/__init__.py:240
 #: ./src/pyams_content/shared/common/zmi/dashboard.py:448
 #, python-format
 msgid "CONTRIBUTOR - {0} modified contents"
 msgstr ""
 
-#: ./src/pyams_content/root/zmi/__init__.py:247
+#: ./src/pyams_content/root/zmi/__init__.py:242
 #: ./src/pyams_content/shared/common/zmi/dashboard.py:450
 #, python-format
 msgid "CONTRIBUTOR - Last {0} modified contents"
 msgstr ""
 
-#: ./src/pyams_content/root/zmi/__init__.py:707
+#: ./src/pyams_content/root/zmi/__init__.py:702
 #: ./src/pyams_content/shared/common/zmi/dashboard.py:967
 #, python-format
 msgid "CONTRIBUTORS - Last {0} published contents"
 msgstr ""
 
-#: ./src/pyams_content/root/zmi/__init__.py:709
+#: ./src/pyams_content/root/zmi/__init__.py:704
 #: ./src/pyams_content/shared/common/zmi/dashboard.py:969
 msgid "CONTRIBUTORS - Last published contents (in the limit of 50)"
 msgstr ""
 
-#: ./src/pyams_content/root/zmi/__init__.py:775
+#: ./src/pyams_content/root/zmi/__init__.py:770
 #: ./src/pyams_content/shared/common/zmi/dashboard.py:1038
 #, python-format
 msgid "CONTRIBUTORS - Last {0} updated contents"
 msgstr ""
 
-#: ./src/pyams_content/root/zmi/__init__.py:777
+#: ./src/pyams_content/root/zmi/__init__.py:772
 #: ./src/pyams_content/shared/common/zmi/dashboard.py:1040
 msgid "CONTRIBUTORS - Last updated contents (in the limit of 50)"
 msgstr ""
 
-#: ./src/pyams_content/root/zmi/search.py:90
-#: ./src/pyams_content/shared/common/zmi/search.py:94
+#: ./src/pyams_content/root/zmi/search.py:94
+#: ./src/pyams_content/shared/common/zmi/search.py:97
 msgid "Quick search results"
 msgstr ""
 
-#: ./src/pyams_content/root/zmi/search.py:150
-#: ./src/pyams_content/root/zmi/search.py:186
-#: ./src/pyams_content/shared/common/zmi/search.py:163
-#: ./src/pyams_content/shared/common/zmi/search.py:209
+#: ./src/pyams_content/root/zmi/search.py:157
+#: ./src/pyams_content/root/zmi/search.py:196
+#: ./src/pyams_content/shared/common/zmi/search.py:170
+#: ./src/pyams_content/shared/common/zmi/search.py:216
 msgid "Advanced search"
 msgstr ""
 
-#: ./src/pyams_content/root/zmi/search.py:278
-#: ./src/pyams_content/shared/common/zmi/search.py:341
+#: ./src/pyams_content/root/zmi/search.py:308
+#: ./src/pyams_content/shared/common/zmi/search.py:351
 msgid "Advanced search results"
 msgstr ""
 
-#: ./src/pyams_content/root/zmi/search.py:158
-msgid "Content types"
-msgstr ""
-
-#: ./src/pyams_content/root/zmi/search.py:162
-#: ./src/pyams_content/shared/common/zmi/dashboard.py:258
-#: ./src/pyams_content/shared/common/zmi/search.py:171
-#: ./src/pyams_content/shared/common/zmi/types/updater.py:65
-msgid "Owner"
-msgstr ""
-
 #: ./src/pyams_content/root/zmi/search.py:165
-#: ./src/pyams_content/shared/common/zmi/search.py:182
+msgid "Content types"
+msgstr ""
+
+#: ./src/pyams_content/root/zmi/search.py:169
+#: ./src/pyams_content/shared/common/zmi/dashboard.py:258
+#: ./src/pyams_content/shared/common/zmi/search.py:178
+#: ./src/pyams_content/shared/common/zmi/types/updater.py:65
+msgid "Owner"
+msgstr ""
+
+#: ./src/pyams_content/root/zmi/search.py:172
+#: ./src/pyams_content/shared/common/zmi/search.py:189
 msgid "Created after..."
 msgstr ""
 
-#: ./src/pyams_content/root/zmi/search.py:168
-#: ./src/pyams_content/shared/common/zmi/search.py:185
+#: ./src/pyams_content/root/zmi/search.py:175
+#: ./src/pyams_content/shared/common/zmi/search.py:192
 msgid "Created before..."
 msgstr ""
 
-#: ./src/pyams_content/root/zmi/search.py:171
-#: ./src/pyams_content/shared/common/zmi/search.py:188
+#: ./src/pyams_content/root/zmi/search.py:178
+#: ./src/pyams_content/shared/common/zmi/search.py:195
 msgid "Modified after..."
 msgstr ""
 
-#: ./src/pyams_content/root/zmi/search.py:174
-#: ./src/pyams_content/shared/common/zmi/search.py:191
+#: ./src/pyams_content/root/zmi/search.py:181
+#: ./src/pyams_content/shared/common/zmi/search.py:198
 msgid "Modified before..."
 msgstr ""
 
@@ -3646,7 +3656,7 @@
 msgid "Modified between"
 msgstr ""
 
-#: ./src/pyams_content/root/zmi/templates/advanced-search.pt:211
+#: ./src/pyams_content/root/zmi/templates/advanced-search.pt:218
 #: ./src/pyams_content/shared/common/zmi/templates/advanced-search.pt:237
 msgid "Tab label"
 msgstr ""
@@ -4784,7 +4794,7 @@
 msgstr ""
 
 #: ./src/pyams_content/shared/common/interfaces/types.py:120
-#: ./src/pyams_content/shared/common/zmi/search.py:178
+#: ./src/pyams_content/shared/common/zmi/search.py:185
 #: ./src/pyams_content/shared/site/interfaces.py:154
 #: ./src/pyams_content/shared/topic/interfaces.py:42
 msgid "Data type"
@@ -5178,7 +5188,7 @@
 msgstr ""
 
 #: ./src/pyams_content/shared/common/zmi/dashboard.py:177
-#: ./src/pyams_content/shared/common/zmi/search.py:174
+#: ./src/pyams_content/shared/common/zmi/search.py:181
 msgid "Status"
 msgstr ""