Binary file src/pyams_content/locales/fr/LC_MESSAGES/pyams_content.mo has changed
--- a/src/pyams_content/locales/fr/LC_MESSAGES/pyams_content.po Wed Jul 01 14:10:50 2020 +0200
+++ b/src/pyams_content/locales/fr/LC_MESSAGES/pyams_content.po Wed Jul 01 18:05:38 2020 +0200
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE 1.0\n"
-"POT-Creation-Date: 2020-06-24 12:02+0200\n"
+"POT-Creation-Date: 2020-07-01 16:13+0200\n"
"PO-Revision-Date: 2015-09-10 10:42+0200\n"
"Last-Translator: Thierry Florac <tflorac@ulthar.net>\n"
"Language-Team: French\n"
@@ -200,11 +200,11 @@
#: src/pyams_content/features/search/portlet/interfaces.py:25
#: src/pyams_content/root/zmi/templates/advanced-search.pt:197
#: src/pyams_content/shared/view/portlet/interfaces.py:52
-#: src/pyams_content/shared/common/zmi/dashboard.py:122
-#: src/pyams_content/shared/common/zmi/reverse.py:73
+#: src/pyams_content/shared/common/zmi/dashboard.py:128
+#: src/pyams_content/shared/common/zmi/reverse.py:69
#: src/pyams_content/shared/common/zmi/templates/advanced-search.pt:223
#: src/pyams_content/shared/site/portlet/interfaces.py:24
-#: src/pyams_content/shared/site/zmi/folder.py:66
+#: src/pyams_content/shared/site/zmi/folder.py:68
#: src/pyams_content/shared/imagemap/portlet/interfaces.py:28
#: src/pyams_content/shared/imagemap/zmi/container.py:123
#: src/pyams_content/shared/logo/interfaces.py:42
@@ -476,7 +476,7 @@
#: src/pyams_content/component/links/interfaces.py:36
#: src/pyams_content/component/paragraph/interfaces/audio.py:50
#: src/pyams_content/component/extfile/interfaces.py:36
-#: src/pyams_content/features/search/interfaces.py:45
+#: src/pyams_content/features/search/interfaces.py:50
#: src/pyams_content/shared/form/interfaces.py:125
msgid "Description"
msgstr "Description"
@@ -1779,7 +1779,7 @@
#: src/pyams_content/component/paragraph/zmi/__init__.py:262
#: src/pyams_content/component/paragraph/zmi/__init__.py:275
#: src/pyams_content/features/review/zmi/__init__.py:84
-#: src/pyams_content/shared/common/zmi/__init__.py:299
+#: src/pyams_content/shared/common/zmi/__init__.py:302
#: src/pyams_content/shared/common/zmi/owner.py:73
#: src/pyams_content/shared/common/zmi/workflow.py:119
#: src/pyams_content/shared/common/zmi/workflow.py:206
@@ -2120,9 +2120,9 @@
msgid "Add new illustration"
msgstr "Ajout d'une illustration"
-#: src/pyams_content/component/theme/__init__.py:76
-#: src/pyams_content/component/theme/interfaces.py:74
-#: src/pyams_content/component/theme/interfaces.py:88
+#: src/pyams_content/component/theme/__init__.py:73
+#: 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/templates/advanced-search.pt:181
@@ -2130,160 +2130,100 @@
msgid "Tags"
msgstr "Tags"
-#: src/pyams_content/component/theme/__init__.py:126
-#: src/pyams_content/component/theme/interfaces.py:115
-#: src/pyams_content/component/theme/interfaces.py:129
+#: src/pyams_content/component/theme/__init__.py:124
+#: 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
msgid "Themes"
msgstr "Thèmes"
-#: src/pyams_content/component/theme/__init__.py:179
-#: src/pyams_content/component/theme/interfaces.py:175
-#: src/pyams_content/component/theme/interfaces.py:189
+#: src/pyams_content/component/theme/__init__.py:175
+#: 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
msgid "Collections"
msgstr "Collections"
-#: src/pyams_content/component/theme/__init__.py:85
+#: src/pyams_content/component/theme/__init__.py:83
msgid "no defined tag"
msgstr "aucun tag défini"
-#: src/pyams_content/component/theme/__init__.py:135
+#: src/pyams_content/component/theme/__init__.py:134
msgid "no defined theme"
msgstr "aucun thème défini"
-#: src/pyams_content/component/theme/__init__.py:188
+#: src/pyams_content/component/theme/__init__.py:185
msgid "no defined collection"
msgstr "aucune collection définie"
-#: src/pyams_content/component/theme/interfaces.py:36
-msgid "Enable search by tag?"
-msgstr "Activer la recherche par tag ?"
-
-#: src/pyams_content/component/theme/interfaces.py:37
-msgid ""
-"If 'yes', displayed tags will lead to a search engine displaying contents "
-"matching given tag"
-msgstr ""
-"Si 'oui', un clic sur un tag permet d'accéder à une page de résultat de "
-"recherche portant sur le tag sélectionné"
-
-#: src/pyams_content/component/theme/interfaces.py:42
-msgid "Tags search target"
-msgstr "Cible de la recherche"
-
-#: src/pyams_content/component/theme/interfaces.py:43
-msgid "Site or folder where tags search is displayed"
-msgstr "Site ou rubrique où la recherche par tags s'effectue"
-
-#: src/pyams_content/component/theme/interfaces.py:52
+#: src/pyams_content/component/theme/interfaces.py:35
msgid "Enable glossary?"
msgstr "Activer le glossaire ?"
-#: src/pyams_content/component/theme/interfaces.py:57
+#: src/pyams_content/component/theme/interfaces.py:40
msgid "Glossary thesaurus name"
msgstr "Thesaurus du glossaire"
-#: src/pyams_content/component/theme/interfaces.py:148
-msgid "Enable search by collection?"
-msgstr "Activer la recherche par collection ?"
-
-#: src/pyams_content/component/theme/interfaces.py:149
-msgid ""
-"If 'yes', displayed collections will lead to a search engine displaying "
-"contents matching given collection"
-msgstr ""
-"Si 'oui', un clic sur un nom de collection permet d'accéder à une page de résultat de "
-"recherche portant sur la collection sélectionnée"
-
-#: src/pyams_content/component/theme/interfaces.py:155
-msgid "Collections search target"
-msgstr "Cible de la recherche"
-
-#: src/pyams_content/component/theme/interfaces.py:156
-msgid "Site or folder where collections search is displayed"
-msgstr "Site ou rubrique où la recherche par collections s'effectue"
-
-#: src/pyams_content/component/theme/interfaces.py:50
-msgid "You must specify search target when activating search by tags!"
-msgstr ""
-"Vous devez indiquer la cible de la recherche lorsque vous activez la "
-"recherche par tags !"
-
-#: src/pyams_content/component/theme/interfaces.py:64
+#: src/pyams_content/component/theme/interfaces.py:47
msgid "You must specify a glossary thesaurus to activate it!"
msgstr ""
"Vous devez indiquer le nom du thésaurus contenant les termes du glossaire "
"pour pouvoir l'activer !"
-#: src/pyams_content/component/theme/interfaces.py:164
-msgid "You must specify search target when activating search by collections!"
-msgstr ""
-"Vous devez indiquer la cible de la recherche lorsque vous activez la "
-"recherche par collections !"
-
-#: src/pyams_content/component/theme/zmi/manager.py:46
+#: src/pyams_content/component/theme/zmi/manager.py:47
msgid "Tags settings..."
msgstr "Paramétrage des tags"
-#: src/pyams_content/component/theme/zmi/manager.py:60
+#: src/pyams_content/component/theme/zmi/manager.py:61
msgid "Selected tags"
msgstr "Tags sélectionnés"
-#: src/pyams_content/component/theme/zmi/manager.py:118
+#: src/pyams_content/component/theme/zmi/manager.py:111
msgid "Themes settings..."
msgstr "Paramétrage des thèmes"
-#: src/pyams_content/component/theme/zmi/manager.py:132
+#: src/pyams_content/component/theme/zmi/manager.py:125
msgid "Selected themes"
msgstr "Thèmes sélectionnés"
-#: src/pyams_content/component/theme/zmi/manager.py:169
+#: src/pyams_content/component/theme/zmi/manager.py:163
msgid "Collections settings..."
msgstr "Paramétrage des collections"
-#: src/pyams_content/component/theme/zmi/manager.py:183
+#: src/pyams_content/component/theme/zmi/manager.py:177
msgid "Selected collections"
msgstr "Collections sélectionnées"
#: src/pyams_content/component/theme/zmi/manager.py:94
-msgid "Enable search by tag"
-msgstr "Activer la recherche par tag"
-
-#: src/pyams_content/component/theme/zmi/manager.py:101
msgid "Enable glossary"
msgstr "Activer le glossaire"
-#: src/pyams_content/component/theme/zmi/manager.py:217
-msgid "Enable search by collection"
-msgstr "Activer la recherche par collection"
-
-#: src/pyams_content/component/theme/zmi/__init__.py:55
+#: src/pyams_content/component/theme/zmi/__init__.py:51
#: src/pyams_content/shared/view/zmi/theme.py:49
msgid "Tags..."
msgstr "Tags"
-#: src/pyams_content/component/theme/zmi/__init__.py:66
+#: src/pyams_content/component/theme/zmi/__init__.py:64
msgid "Content tags"
msgstr "Tags du contenu"
-#: src/pyams_content/component/theme/zmi/__init__.py:99
+#: src/pyams_content/component/theme/zmi/__init__.py:97
#: src/pyams_content/shared/view/zmi/theme.py:95
msgid "Themes..."
msgstr "Thèmes"
-#: src/pyams_content/component/theme/zmi/__init__.py:107
+#: src/pyams_content/component/theme/zmi/__init__.py:105
msgid "Content themes"
msgstr "Thèmes du contenu"
-#: src/pyams_content/component/theme/zmi/__init__.py:159
+#: src/pyams_content/component/theme/zmi/__init__.py:157
#: src/pyams_content/shared/view/zmi/theme.py:141
msgid "Collections..."
msgstr "Collections"
-#: src/pyams_content/component/theme/zmi/__init__.py:172
+#: src/pyams_content/component/theme/zmi/__init__.py:170
msgid "Content collections"
msgstr "Collections associées au contenu"
@@ -2301,7 +2241,7 @@
"seront remplacées automatiquement."
#: src/pyams_content/interfaces/__init__.py:102
-#: src/pyams_content/shared/site/zmi/folder.py:67
+#: src/pyams_content/shared/site/zmi/folder.py:69
msgid "Visible label used to display content"
msgstr "Le titre présenté aux internautes"
@@ -3209,11 +3149,11 @@
msgid "Search folder"
msgstr "Moteur de recherche"
-#: src/pyams_content/features/search/interfaces.py:35
+#: src/pyams_content/features/search/interfaces.py:37
msgid "Main search engine"
msgstr "Moteur de recherche principal"
-#: src/pyams_content/features/search/interfaces.py:36
+#: src/pyams_content/features/search/interfaces.py:38
msgid ""
"Search folder handling main site search. You can search a reference using "
"'+' followed by internal number, of by entering text matching content title."
@@ -3223,25 +3163,65 @@
"d'un '+') ; le titre d'origine peut être modifié en utilisant le titre de "
"substitution."
-#: src/pyams_content/features/search/interfaces.py:41
+#: src/pyams_content/features/search/interfaces.py:46
msgid "Search engine name"
msgstr "Nom du moteur"
-#: src/pyams_content/features/search/interfaces.py:42
+#: src/pyams_content/features/search/interfaces.py:47
msgid "Name given to the search engine"
msgstr "Nom court donné au moteur de recherche"
-#: src/pyams_content/features/search/interfaces.py:46
+#: src/pyams_content/features/search/interfaces.py:51
msgid "Description given to the search engine"
msgstr "Description du moteur de recherche"
-#: src/pyams_content/features/search/interfaces.py:53
+#: src/pyams_content/features/search/interfaces.py:54
+msgid "Enable search by tag?"
+msgstr "Activer la recherche par tag ?"
+
+#: src/pyams_content/features/search/interfaces.py:55
+msgid ""
+"If 'yes', displayed tags will lead to a search engine displaying contents "
+"matching given tag"
+msgstr ""
+"Si 'oui', un clic sur un tag permet d'accéder à une page de résultat de "
+"recherche portant sur le tag sélectionné"
+
+#: src/pyams_content/features/search/interfaces.py:60
+msgid "Tags search target"
+msgstr "Cible de la recherche"
+
+#: src/pyams_content/features/search/interfaces.py:61
+msgid "Site or folder where tags search is displayed"
+msgstr "Site ou rubrique où la recherche par tags s'effectue"
+
+#: src/pyams_content/features/search/interfaces.py:72
+msgid "Enable search by collection?"
+msgstr "Activer la recherche par collection ?"
+
+#: src/pyams_content/features/search/interfaces.py:73
+msgid ""
+"If 'yes', displayed collections will lead to a search engine displaying "
+"contents matching given collection"
+msgstr ""
+"Si 'oui', un clic sur un nom de collection permet d'accéder à une page de "
+"résultat de recherche portant sur la collection sélectionnée"
+
+#: src/pyams_content/features/search/interfaces.py:79
+msgid "Collections search target"
+msgstr "Cible de la recherche"
+
+#: src/pyams_content/features/search/interfaces.py:80
+msgid "Site or folder where collections search is displayed"
+msgstr "Site ou rubrique où la recherche par collections s'effectue"
+
+#: src/pyams_content/features/search/interfaces.py:97
#: src/pyams_content/shared/common/interfaces/__init__.py:53
#: src/pyams_content/shared/common/interfaces/__init__.py:209
msgid "Managers"
msgstr "Responsables"
-#: src/pyams_content/features/search/interfaces.py:54
+#: src/pyams_content/features/search/interfaces.py:98
#: src/pyams_content/shared/common/interfaces/__init__.py:54
#: src/pyams_content/shared/common/interfaces/__init__.py:210
msgid ""
@@ -3252,24 +3232,24 @@
"(comme la publication ou le retrait des contenus), dans la limite des "
"restrictions qui leur sont imposées"
-#: src/pyams_content/features/search/interfaces.py:59
+#: src/pyams_content/features/search/interfaces.py:103
#: src/pyams_content/shared/common/interfaces/__init__.py:65
#: src/pyams_content/shared/common/interfaces/__init__.py:221
msgid "Designers"
msgstr "Designers"
-#: src/pyams_content/features/search/interfaces.py:60
+#: src/pyams_content/features/search/interfaces.py:104
#: src/pyams_content/shared/common/interfaces/__init__.py:66
#: src/pyams_content/shared/common/interfaces/__init__.py:222
msgid "Designers are users which are allowed to manage presentation templates"
msgstr "Les designers sont autorisés à configurer les modèles de présentation"
-#: src/pyams_content/features/search/interfaces.py:64
+#: src/pyams_content/features/search/interfaces.py:109
#: src/pyams_content/shared/common/interfaces/__init__.py:233
msgid "Guests"
msgstr "Invités"
-#: src/pyams_content/features/search/interfaces.py:65
+#: src/pyams_content/features/search/interfaces.py:110
#: src/pyams_content/shared/common/interfaces/__init__.py:234
msgid ""
"Guests are users which are allowed to view contents with restricted access"
@@ -3277,12 +3257,12 @@
"Les invités sont autorisés à consulter des contenus dont l'accès a été "
"restreint"
-#: src/pyams_content/features/search/interfaces.py:73
+#: src/pyams_content/features/search/interfaces.py:119
#: src/pyams_content/shared/view/interfaces.py:111
msgid "Order by"
msgstr "Ordre de tri"
-#: src/pyams_content/features/search/interfaces.py:74
+#: src/pyams_content/features/search/interfaces.py:120
#: src/pyams_content/shared/view/interfaces.py:112
msgid ""
"Property to use to sort results; publication date can be different from "
@@ -3295,25 +3275,25 @@
"différente (la première date de publication est dans ce cas égale à la date "
"la plus en arrière dans le temps des deux)"
-#: src/pyams_content/features/search/interfaces.py:81
+#: src/pyams_content/features/search/interfaces.py:128
#: src/pyams_content/shared/site/interfaces.py:97
msgid "Visible in folders list"
msgstr "Visible dans la liste des rubriques ?"
-#: src/pyams_content/features/search/interfaces.py:82
+#: src/pyams_content/features/search/interfaces.py:129
#: src/pyams_content/shared/site/interfaces.py:98
msgid "If 'no', folder will not be displayed into folders list"
msgstr ""
"Si 'non', cette rubrique ne sera pas affichée dans la liste des rubriques "
"affichée par un composant de navigation"
-#: src/pyams_content/features/search/interfaces.py:86
+#: src/pyams_content/features/search/interfaces.py:134
#: src/pyams_content/shared/site/interfaces.py:102
#: src/pyams_content/shared/site/interfaces.py:171
msgid "Navigation title"
msgstr "Titre de navigation"
-#: src/pyams_content/features/search/interfaces.py:87
+#: src/pyams_content/features/search/interfaces.py:135
#: src/pyams_content/shared/site/interfaces.py:103
msgid ""
"Folder's title displayed in navigation pages; original title will be used if "
@@ -3322,27 +3302,39 @@
"Titre de substitution affiché dans les composants de navigation ; si rien "
"n'est indiqué, le titre original de la rubrique sera utilisé"
-#: src/pyams_content/features/search/interfaces.py:91
+#: src/pyams_content/features/search/interfaces.py:140
msgid "Selected content types"
msgstr "Gabarits sélectionnés"
-#: src/pyams_content/features/search/interfaces.py:92
+#: src/pyams_content/features/search/interfaces.py:141
msgid "Searched content types; leave empty for all"
msgstr ""
"Gabarits sélectionnés ; si cette sélection est vide, tous les gabarits "
"seront pris en charge"
-#: src/pyams_content/features/search/interfaces.py:96
+#: src/pyams_content/features/search/interfaces.py:145
msgid "Selected data types"
msgstr "Types de contenus sélectionnés"
-#: src/pyams_content/features/search/interfaces.py:97
+#: src/pyams_content/features/search/interfaces.py:146
msgid "Searched data types; leave empty for all"
msgstr ""
"Types de contenus sélectionnés ; si cette sélection est vide, tous les "
"contenus (typés ou non) seront pris en charge"
-#: src/pyams_content/features/search/portlet/__init__.py:97
+#: src/pyams_content/features/search/interfaces.py:70
+msgid "You must specify search target when activating search by tags!"
+msgstr ""
+"Vous devez indiquer la cible de la recherche lorsque vous activez la "
+"recherche par tags !"
+
+#: src/pyams_content/features/search/interfaces.py:90
+msgid "You must specify search target when activating search by collections!"
+msgstr ""
+"Vous devez indiquer la cible de la recherche lorsque vous activez la "
+"recherche par collections !"
+
+#: src/pyams_content/features/search/portlet/__init__.py:99
msgid "Search results"
msgstr "Résultats de la recherche"
@@ -3381,18 +3373,26 @@
msgstr "Paramètres de la recherche"
#: src/pyams_content/features/search/zmi/properties.py:71
-#: src/pyams_content/shared/site/zmi/folder.py:203
+#: src/pyams_content/shared/site/zmi/folder.py:212
msgid "Navigation properties"
msgstr "Propriétés de navigation"
-#: src/pyams_content/features/search/zmi/manager.py:43
+#: src/pyams_content/features/search/zmi/manager.py:45
msgid "Search settings..."
msgstr "Moteur de recherche"
-#: src/pyams_content/features/search/zmi/manager.py:57
+#: src/pyams_content/features/search/zmi/manager.py:59
msgid "Search engine settings"
msgstr "Paramétrage du moteur de recherche"
+#: src/pyams_content/features/search/zmi/manager.py:74
+msgid "Enable search by tag"
+msgstr "Activer la recherche par tag"
+
+#: src/pyams_content/features/search/zmi/manager.py:82
+msgid "Enable search by collection"
+msgstr "Activer la recherche par collection"
+
#: src/pyams_content/features/search/zmi/__init__.py:59
msgid "This search folder"
msgstr "Ce moteur de recherche"
@@ -3531,7 +3531,7 @@
msgid "Admin. profile"
msgstr "Profil intervenant"
-#: src/pyams_content/root/__init__.py:65
+#: src/pyams_content/root/__init__.py:69
msgid "Site root"
msgstr "Racine du site"
@@ -3594,252 +3594,247 @@
msgstr "Accueil"
#: src/pyams_content/root/zmi/__init__.py:110
-#: src/pyams_content/shared/common/zmi/dashboard.py:289
+#: 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/shared/common/zmi/dashboard.py:345
+#: 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/shared/common/zmi/dashboard.py:346
+#: 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/shared/common/zmi/dashboard.py:387
+#: 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/shared/common/zmi/dashboard.py:388
+#: 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/shared/common/zmi/dashboard.py:420
+#: 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/shared/common/zmi/dashboard.py:461
+#: 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/templates/dashboard.pt:8
-#: src/pyams_content/shared/common/zmi/dashboard.py:476
+#: 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/shared/common/zmi/dashboard.py:485
+#: 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/shared/common/zmi/dashboard.py:486
+#: 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/shared/common/zmi/dashboard.py:561
+#: 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/shared/common/zmi/dashboard.py:574
+#: 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/shared/common/zmi/dashboard.py:583
+#: 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/shared/common/zmi/dashboard.py:584
+#: 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/shared/common/zmi/dashboard.py:625
+#: 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/shared/common/zmi/dashboard.py:638
+#: 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/shared/common/zmi/dashboard.py:647
+#: 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/shared/common/zmi/dashboard.py:648
+#: 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/shared/common/zmi/dashboard.py:689
+#: 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/shared/common/zmi/dashboard.py:702
+#: 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/shared/common/zmi/dashboard.py:711
+#: 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/shared/common/zmi/dashboard.py:712
+#: 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/shared/common/zmi/dashboard.py:753
+#: 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/shared/common/zmi/dashboard.py:766
+#: 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/shared/common/zmi/dashboard.py:775
+#: 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/shared/common/zmi/dashboard.py:776
+#: 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/shared/common/zmi/dashboard.py:817
+#: 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/shared/common/zmi/dashboard.py:830
+#: 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/shared/common/zmi/dashboard.py:839
+#: 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/shared/common/zmi/dashboard.py:840
+#: 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/shared/common/zmi/dashboard.py:887
+#: 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/shared/common/zmi/dashboard.py:901
+#: 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/shared/common/zmi/dashboard.py:916
+#: 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/shared/common/zmi/dashboard.py:925
+#: 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/shared/common/zmi/dashboard.py:972
+#: 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/shared/common/zmi/dashboard.py:985
+#: 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/shared/common/zmi/dashboard.py:994
+#: 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/shared/common/zmi/dashboard.py:1039
+#: 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:825
-#: src/pyams_content/shared/site/zmi/container.py:461
-msgid "Content"
-msgstr "Contenu"
-
#: src/pyams_content/root/zmi/__init__.py:245
-#: src/pyams_content/shared/common/zmi/dashboard.py:425
+#: 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/shared/common/zmi/dashboard.py:427
+#: 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/shared/common/zmi/dashboard.py:930
+#: 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/shared/common/zmi/dashboard.py:932
+#: 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/shared/common/zmi/dashboard.py:999
+#: 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/shared/common/zmi/dashboard.py:1001
+#: 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"
@@ -3865,7 +3860,7 @@
msgstr "Types de contenus"
#: src/pyams_content/root/zmi/search.py:162
-#: src/pyams_content/shared/common/zmi/dashboard.py:244
+#: 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"
@@ -4844,7 +4839,7 @@
"Si 'oui', les collections associées au contexte d'application de la vue "
"seront automatiquement sélectionnés"
-#: src/pyams_content/shared/view/interfaces.py:294
+#: src/pyams_content/shared/view/interfaces.py:295
msgid "Other collections"
msgstr "Autres collections"
@@ -5067,7 +5062,7 @@
#: src/pyams_content/shared/common/interfaces/__init__.py:182
#: src/pyams_content/shared/site/interfaces.py:93
#: src/pyams_content/shared/site/interfaces.py:138
-#: src/pyams_content/shared/site/zmi/folder.py:74
+#: src/pyams_content/shared/site/zmi/folder.py:76
msgid "Notepad"
msgstr "Bloc-notes"
@@ -5075,51 +5070,51 @@
#: src/pyams_content/shared/common/interfaces/__init__.py:183
#: src/pyams_content/shared/site/interfaces.py:94
#: src/pyams_content/shared/site/interfaces.py:139
-#: src/pyams_content/shared/site/zmi/folder.py:75
+#: src/pyams_content/shared/site/zmi/folder.py:77
msgid "Internal information to be known about this content"
msgstr ""
"Pour prendre note d'informations internes utiles ou importantes à propos de "
"ce contenu ; ces notes ne seront pas publiées sur internet."
-#: src/pyams_content/shared/blog/zmi/manager.py:57
+#: src/pyams_content/shared/blog/zmi/manager.py:68
msgid "Blog management"
msgstr "Gérer ce blog"
-#: src/pyams_content/shared/blog/zmi/manager.py:80
-#: src/pyams_content/shared/blog/zmi/manager.py:94
-msgid "Add blog manager"
-msgstr "Ajouter un blog"
-
#: src/pyams_content/shared/blog/zmi/manager.py:93
+#: src/pyams_content/shared/blog/zmi/manager.py:107
+msgid "Add blog manager"
+msgstr "Ajouter un blog"
+
+#: src/pyams_content/shared/blog/zmi/manager.py:106
msgid "Blog manager"
msgstr "Blog"
-#: src/pyams_content/shared/blog/zmi/manager.py:148
+#: src/pyams_content/shared/blog/zmi/manager.py:166
msgid "Blog properties"
msgstr "Propriétés du blog"
-#: src/pyams_content/shared/blog/zmi/manager.py:163
-#: src/pyams_content/shared/blog/zmi/manager.py:175
+#: src/pyams_content/shared/blog/zmi/manager.py:183
+#: src/pyams_content/shared/blog/zmi/manager.py:195
#: src/pyams_content/shared/site/zmi/container.py:153
#: src/pyams_content/shared/site/zmi/container.py:165
msgid "Publication dates..."
msgstr "Dates de publication"
-#: src/pyams_content/shared/blog/zmi/manager.py:189
+#: src/pyams_content/shared/blog/zmi/manager.py:209
#: src/pyams_content/shared/site/zmi/container.py:179
msgid "Update publication dates"
msgstr "Dates de publication"
-#: src/pyams_content/shared/blog/zmi/manager.py:124
-#: src/pyams_content/shared/site/zmi/manager.py:163
+#: src/pyams_content/shared/blog/zmi/manager.py:137
+#: src/pyams_content/shared/site/zmi/manager.py:176
msgid "You must provide a short name for default server language!"
msgstr "Vous devez fournir un nom court pour la langue par défaut du serveur !"
-#: src/pyams_content/shared/blog/zmi/manager.py:128
+#: src/pyams_content/shared/blog/zmi/manager.py:142
msgid "Specified blog manager name is already used!"
msgstr "Le nom indiqué pour ce blog existe déjà !"
-#: src/pyams_content/shared/blog/zmi/manager.py:132
+#: src/pyams_content/shared/blog/zmi/manager.py:147
msgid "A blog manager is already registered with this name!!"
msgstr "Un blog est déjà inscrit dans le registre avec ce nom !"
@@ -5137,19 +5132,19 @@
msgid "Blog post « {title} »"
msgstr "Article « {title} »"
-#: src/pyams_content/shared/common/__init__.py:268
+#: src/pyams_content/shared/common/__init__.py:274
#: src/pyams_content/shared/common/zmi/properties.py:66
#: src/pyams_content/shared/common/zmi/manager.py:96
msgid "Properties"
msgstr "Propriétés"
-#: src/pyams_content/shared/common/__init__.py:178
-#: src/pyams_content/shared/common/__init__.py:186
+#: src/pyams_content/shared/common/__init__.py:184
+#: src/pyams_content/shared/common/__init__.py:192
#, python-format
msgid "{date} by {principal}"
msgstr "{date} par {principal}"
-#: src/pyams_content/shared/common/__init__.py:291
+#: src/pyams_content/shared/common/__init__.py:300
#, python-format
msgid "title length should be between 40 and 66 characters ({length} actually)"
msgstr ""
@@ -5589,7 +5584,7 @@
msgstr "depuis {date}"
#: src/pyams_content/shared/common/zmi/header.py:91
-#: src/pyams_content/shared/common/zmi/dashboard.py:184
+#: src/pyams_content/shared/common/zmi/dashboard.py:194
msgid "Content publication start date is not passed yet"
msgstr "La date de début de publication n'est pas encore atteinte"
@@ -5654,46 +5649,50 @@
msgid "Tool management"
msgstr "Gérer cet outil"
-#: src/pyams_content/shared/common/zmi/dashboard.py:105
+#: src/pyams_content/shared/common/zmi/dashboard.py:107
+msgid "Content type"
+msgstr "Type de contenu"
+
+#: src/pyams_content/shared/common/zmi/dashboard.py:121
msgid "Type"
msgstr "Type"
-#: src/pyams_content/shared/common/zmi/dashboard.py:147
+#: src/pyams_content/shared/common/zmi/dashboard.py:156
msgid "Unique ID"
msgstr "N° IN"
-#: src/pyams_content/shared/common/zmi/dashboard.py:167
+#: src/pyams_content/shared/common/zmi/dashboard.py:177
#: src/pyams_content/shared/common/zmi/search.py:174
msgid "Status"
msgstr "Statut"
-#: src/pyams_content/shared/common/zmi/dashboard.py:194
+#: src/pyams_content/shared/common/zmi/dashboard.py:205
msgid "Status date"
msgstr "En date du"
-#: src/pyams_content/shared/common/zmi/dashboard.py:211
+#: src/pyams_content/shared/common/zmi/dashboard.py:223
#: src/pyams_content/shared/common/zmi/summary.py:165
msgid "Version"
msgstr "Version"
-#: src/pyams_content/shared/common/zmi/dashboard.py:226
+#: src/pyams_content/shared/common/zmi/dashboard.py:239
msgid "Status principal"
msgstr "Intervenant"
-#: src/pyams_content/shared/common/zmi/dashboard.py:266
+#: src/pyams_content/shared/common/zmi/dashboard.py:281
msgid "Last modification"
msgstr "Dernière modification"
-#: src/pyams_content/shared/common/zmi/dashboard.py:299
+#: src/pyams_content/shared/common/zmi/dashboard.py:315
msgid "Contents dashboard"
msgstr "Mon tableau de bord"
-#: src/pyams_content/shared/common/zmi/dashboard.py:498
+#: src/pyams_content/shared/common/zmi/dashboard.py:523
#: src/pyams_content/shared/common/zmi/templates/header.pt:26
msgid "Add/remove from favorites"
msgstr "Ajouter/enlever des favoris"
-#: src/pyams_content/shared/common/zmi/dashboard.py:322
+#: src/pyams_content/shared/common/zmi/dashboard.py:339
#, python-format
msgid "SEARCH - Between all contents of type « {type} »"
msgstr "RECHERCHE - Tous contenus « {type} » confondus"
@@ -5787,30 +5786,30 @@
"autorisé à gérer. Si vous indiquez plusieurs critères, il pourra gérer les "
"contenus pour lesquels au moins l'un des critères correspond."
-#: src/pyams_content/shared/common/zmi/__init__.py:289
+#: src/pyams_content/shared/common/zmi/__init__.py:292
msgid "Duplicate content..."
msgstr "Dupliquer le contenu"
-#: src/pyams_content/shared/common/zmi/__init__.py:309
+#: src/pyams_content/shared/common/zmi/__init__.py:312
msgid "Duplicate content"
msgstr "Dupliquer ce contenu"
-#: src/pyams_content/shared/common/zmi/__init__.py:85
+#: src/pyams_content/shared/common/zmi/__init__.py:88
msgid "This title can be modified afterwards"
msgstr "Pourra être modifié ultérieurement"
-#: src/pyams_content/shared/common/zmi/__init__.py:300
+#: src/pyams_content/shared/common/zmi/__init__.py:303
msgid "Duplicate this content"
msgstr "Dupliquer ce contenu"
-#: src/pyams_content/shared/common/zmi/__init__.py:357
+#: src/pyams_content/shared/common/zmi/__init__.py:360
#, python-format
msgid "Clone created from version {source} of {oid} (in « {state} » state)"
msgstr ""
"Duplication de la version {source} du contenu {oid} (alors en statut "
"« {state} »)"
-#: src/pyams_content/shared/common/zmi/__init__.py:403
+#: src/pyams_content/shared/common/zmi/__init__.py:434
msgid "Created or modified in this version"
msgstr "Créé ou modifié dans cette version"
@@ -5988,11 +5987,11 @@
msgid "{state} {date}"
msgstr "{state} {date}"
-#: src/pyams_content/shared/common/zmi/reverse.py:57
+#: src/pyams_content/shared/common/zmi/reverse.py:53
msgid "Reverse links"
msgstr "Liens amont"
-#: src/pyams_content/shared/common/zmi/reverse.py:66
+#: src/pyams_content/shared/common/zmi/reverse.py:62
msgid "Content's internal links"
msgstr "Autres contenus qui pointent vers ce contenu"
@@ -6445,7 +6444,7 @@
msgstr "Actualité « {title} »"
#: src/pyams_content/shared/site/manager.py:68
-#: src/pyams_content/shared/site/zmi/manager.py:121
+#: src/pyams_content/shared/site/zmi/manager.py:133
msgid "Site manager"
msgstr "Site"
@@ -6582,7 +6581,11 @@
msgid "Folders and topics"
msgstr "Rubriquage"
-#: src/pyams_content/shared/site/zmi/container.py:557
+#: src/pyams_content/shared/site/zmi/container.py:462
+msgid "Content"
+msgstr "Contenu"
+
+#: src/pyams_content/shared/site/zmi/container.py:559
msgid "Delete site item"
msgstr "Supprimer ce contenu"
@@ -6642,54 +6645,54 @@
"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:53
+#: src/pyams_content/shared/site/zmi/manager.py:63
msgid "Site management"
msgstr "Gérer ce site"
-#: src/pyams_content/shared/site/zmi/manager.py:108
-#: src/pyams_content/shared/site/zmi/manager.py:122
+#: src/pyams_content/shared/site/zmi/manager.py:120
+#: src/pyams_content/shared/site/zmi/manager.py:134
msgid "Add site manager"
msgstr "Ajouter un site"
-#: src/pyams_content/shared/site/zmi/manager.py:150
-#: src/pyams_content/shared/site/zmi/folder.py:185
+#: src/pyams_content/shared/site/zmi/manager.py:163
+#: src/pyams_content/shared/site/zmi/folder.py:194
msgid "Site folder properties"
msgstr "Propriétés de la rubrique"
-#: src/pyams_content/shared/site/zmi/manager.py:167
+#: src/pyams_content/shared/site/zmi/manager.py:181
msgid "Specified site manager name is already used!"
msgstr "Le nom indiqué pour ce site existe déjà !"
-#: src/pyams_content/shared/site/zmi/manager.py:171
+#: src/pyams_content/shared/site/zmi/manager.py:185
msgid "A site manager is already registered with this name!!"
msgstr "Un site est déjà inscrit dans le registre avec ce nom !"
-#: src/pyams_content/shared/site/zmi/folder.py:57
+#: src/pyams_content/shared/site/zmi/folder.py:59
msgid "Add site folder..."
msgstr "Rubrique"
-#: src/pyams_content/shared/site/zmi/folder.py:89
+#: src/pyams_content/shared/site/zmi/folder.py:91
msgid "Add site folder"
msgstr "Ajout d'une rubrique"
-#: src/pyams_content/shared/site/zmi/folder.py:156
+#: src/pyams_content/shared/site/zmi/folder.py:158
msgid "Site folder management"
msgstr "Gérer cette rubrique"
-#: src/pyams_content/shared/site/zmi/folder.py:70
+#: src/pyams_content/shared/site/zmi/folder.py:72
#: src/pyams_content/shared/site/zmi/link.py:75
#: src/pyams_content/shared/site/zmi/link.py:227
#: src/pyams_content/shared/site/zmi/__init__.py:62
msgid "Parent"
msgstr "Niveau parent"
-#: src/pyams_content/shared/site/zmi/folder.py:71
+#: src/pyams_content/shared/site/zmi/folder.py:73
#: src/pyams_content/shared/site/zmi/link.py:76
#: src/pyams_content/shared/site/zmi/link.py:228
msgid "Folder's parent"
msgstr "Niveau de rattachement de cette rubrique"
-#: src/pyams_content/shared/site/zmi/folder.py:149
+#: src/pyams_content/shared/site/zmi/folder.py:151
msgid "You must provide a folder name for default server language!"
msgstr ""
"Vous devez fournir un nom pour ce dossier pour la langue par défaut du "
@@ -7329,6 +7332,9 @@
msgid "Published version {0}"
msgstr "Version {0} publiée"
+#~ msgid "Content / type"
+#~ msgstr "Gabarit / type"
+
#~ msgid "If 'yes', a captcha will be added automatically to the form"
#~ msgstr "Si 'oui', un captcha sera ajouté automatiquement au formulaire"
--- a/src/pyams_content/locales/pyams_content.pot Wed Jul 01 14:10:50 2020 +0200
+++ b/src/pyams_content/locales/pyams_content.pot Wed Jul 01 18:05:38 2020 +0200
@@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE 1.0\n"
-"POT-Creation-Date: 2020-06-24 12:02+0200\n"
+"POT-Creation-Date: 2020-07-01 16:13+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"
@@ -197,11 +197,11 @@
#: ./src/pyams_content/features/search/portlet/interfaces.py:25
#: ./src/pyams_content/root/zmi/templates/advanced-search.pt:197
#: ./src/pyams_content/shared/view/portlet/interfaces.py:52
-#: ./src/pyams_content/shared/common/zmi/dashboard.py:122
-#: ./src/pyams_content/shared/common/zmi/reverse.py:73
+#: ./src/pyams_content/shared/common/zmi/dashboard.py:128
+#: ./src/pyams_content/shared/common/zmi/reverse.py:69
#: ./src/pyams_content/shared/common/zmi/templates/advanced-search.pt:223
#: ./src/pyams_content/shared/site/portlet/interfaces.py:24
-#: ./src/pyams_content/shared/site/zmi/folder.py:66
+#: ./src/pyams_content/shared/site/zmi/folder.py:68
#: ./src/pyams_content/shared/imagemap/portlet/interfaces.py:28
#: ./src/pyams_content/shared/imagemap/zmi/container.py:123
#: ./src/pyams_content/shared/logo/interfaces.py:42
@@ -460,7 +460,7 @@
#: ./src/pyams_content/component/links/interfaces.py:36
#: ./src/pyams_content/component/paragraph/interfaces/audio.py:50
#: ./src/pyams_content/component/extfile/interfaces.py:36
-#: ./src/pyams_content/features/search/interfaces.py:45
+#: ./src/pyams_content/features/search/interfaces.py:50
#: ./src/pyams_content/shared/form/interfaces.py:125
msgid "Description"
msgstr ""
@@ -1674,7 +1674,7 @@
#: ./src/pyams_content/component/paragraph/zmi/__init__.py:262
#: ./src/pyams_content/component/paragraph/zmi/__init__.py:275
#: ./src/pyams_content/features/review/zmi/__init__.py:84
-#: ./src/pyams_content/shared/common/zmi/__init__.py:299
+#: ./src/pyams_content/shared/common/zmi/__init__.py:302
#: ./src/pyams_content/shared/common/zmi/owner.py:73
#: ./src/pyams_content/shared/common/zmi/workflow.py:119
#: ./src/pyams_content/shared/common/zmi/workflow.py:206
@@ -1996,9 +1996,9 @@
msgid "Add new illustration"
msgstr ""
-#: ./src/pyams_content/component/theme/__init__.py:76
-#: ./src/pyams_content/component/theme/interfaces.py:74
-#: ./src/pyams_content/component/theme/interfaces.py:88
+#: ./src/pyams_content/component/theme/__init__.py:73
+#: ./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/templates/advanced-search.pt:181
@@ -2006,150 +2006,98 @@
msgid "Tags"
msgstr ""
-#: ./src/pyams_content/component/theme/__init__.py:126
-#: ./src/pyams_content/component/theme/interfaces.py:115
-#: ./src/pyams_content/component/theme/interfaces.py:129
+#: ./src/pyams_content/component/theme/__init__.py:124
+#: ./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
msgid "Themes"
msgstr ""
-#: ./src/pyams_content/component/theme/__init__.py:179
-#: ./src/pyams_content/component/theme/interfaces.py:175
-#: ./src/pyams_content/component/theme/interfaces.py:189
+#: ./src/pyams_content/component/theme/__init__.py:175
+#: ./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
msgid "Collections"
msgstr ""
-#: ./src/pyams_content/component/theme/__init__.py:85
+#: ./src/pyams_content/component/theme/__init__.py:83
msgid "no defined tag"
msgstr ""
-#: ./src/pyams_content/component/theme/__init__.py:135
+#: ./src/pyams_content/component/theme/__init__.py:134
msgid "no defined theme"
msgstr ""
-#: ./src/pyams_content/component/theme/__init__.py:188
+#: ./src/pyams_content/component/theme/__init__.py:185
msgid "no defined collection"
msgstr ""
-#: ./src/pyams_content/component/theme/interfaces.py:36
-msgid "Enable search by tag?"
-msgstr ""
-
-#: ./src/pyams_content/component/theme/interfaces.py:37
-msgid ""
-"If 'yes', displayed tags will lead to a search engine displaying contents "
-"matching given tag"
-msgstr ""
-
-#: ./src/pyams_content/component/theme/interfaces.py:42
-msgid "Tags search target"
-msgstr ""
-
-#: ./src/pyams_content/component/theme/interfaces.py:43
-msgid "Site or folder where tags search is displayed"
-msgstr ""
-
-#: ./src/pyams_content/component/theme/interfaces.py:52
+#: ./src/pyams_content/component/theme/interfaces.py:35
msgid "Enable glossary?"
msgstr ""
-#: ./src/pyams_content/component/theme/interfaces.py:57
+#: ./src/pyams_content/component/theme/interfaces.py:40
msgid "Glossary thesaurus name"
msgstr ""
-#: ./src/pyams_content/component/theme/interfaces.py:148
-msgid "Enable search by collection?"
-msgstr ""
-
-#: ./src/pyams_content/component/theme/interfaces.py:149
-msgid ""
-"If 'yes', displayed collections will lead to a search engine displaying "
-"contents matching given collection"
-msgstr ""
-
-#: ./src/pyams_content/component/theme/interfaces.py:155
-msgid "Collections search target"
-msgstr ""
-
-#: ./src/pyams_content/component/theme/interfaces.py:156
-msgid "Site or folder where collections search is displayed"
-msgstr ""
-
-#: ./src/pyams_content/component/theme/interfaces.py:50
-msgid "You must specify search target when activating search by tags!"
-msgstr ""
-
-#: ./src/pyams_content/component/theme/interfaces.py:64
+#: ./src/pyams_content/component/theme/interfaces.py:47
msgid "You must specify a glossary thesaurus to activate it!"
msgstr ""
-#: ./src/pyams_content/component/theme/interfaces.py:164
-msgid "You must specify search target when activating search by collections!"
-msgstr ""
-
-#: ./src/pyams_content/component/theme/zmi/manager.py:46
+#: ./src/pyams_content/component/theme/zmi/manager.py:47
msgid "Tags settings..."
msgstr ""
-#: ./src/pyams_content/component/theme/zmi/manager.py:60
+#: ./src/pyams_content/component/theme/zmi/manager.py:61
msgid "Selected tags"
msgstr ""
-#: ./src/pyams_content/component/theme/zmi/manager.py:118
+#: ./src/pyams_content/component/theme/zmi/manager.py:111
msgid "Themes settings..."
msgstr ""
-#: ./src/pyams_content/component/theme/zmi/manager.py:132
+#: ./src/pyams_content/component/theme/zmi/manager.py:125
msgid "Selected themes"
msgstr ""
-#: ./src/pyams_content/component/theme/zmi/manager.py:169
+#: ./src/pyams_content/component/theme/zmi/manager.py:163
msgid "Collections settings..."
msgstr ""
-#: ./src/pyams_content/component/theme/zmi/manager.py:183
+#: ./src/pyams_content/component/theme/zmi/manager.py:177
msgid "Selected collections"
msgstr ""
#: ./src/pyams_content/component/theme/zmi/manager.py:94
-msgid "Enable search by tag"
-msgstr ""
-
-#: ./src/pyams_content/component/theme/zmi/manager.py:101
msgid "Enable glossary"
msgstr ""
-#: ./src/pyams_content/component/theme/zmi/manager.py:217
-msgid "Enable search by collection"
-msgstr ""
-
-#: ./src/pyams_content/component/theme/zmi/__init__.py:55
+#: ./src/pyams_content/component/theme/zmi/__init__.py:51
#: ./src/pyams_content/shared/view/zmi/theme.py:49
msgid "Tags..."
msgstr ""
-#: ./src/pyams_content/component/theme/zmi/__init__.py:66
+#: ./src/pyams_content/component/theme/zmi/__init__.py:64
msgid "Content tags"
msgstr ""
-#: ./src/pyams_content/component/theme/zmi/__init__.py:99
+#: ./src/pyams_content/component/theme/zmi/__init__.py:97
#: ./src/pyams_content/shared/view/zmi/theme.py:95
msgid "Themes..."
msgstr ""
-#: ./src/pyams_content/component/theme/zmi/__init__.py:107
+#: ./src/pyams_content/component/theme/zmi/__init__.py:105
msgid "Content themes"
msgstr ""
-#: ./src/pyams_content/component/theme/zmi/__init__.py:159
+#: ./src/pyams_content/component/theme/zmi/__init__.py:157
#: ./src/pyams_content/shared/view/zmi/theme.py:141
msgid "Collections..."
msgstr ""
-#: ./src/pyams_content/component/theme/zmi/__init__.py:172
+#: ./src/pyams_content/component/theme/zmi/__init__.py:170
msgid "Content collections"
msgstr ""
@@ -2164,7 +2112,7 @@
msgstr ""
#: ./src/pyams_content/interfaces/__init__.py:102
-#: ./src/pyams_content/shared/site/zmi/folder.py:67
+#: ./src/pyams_content/shared/site/zmi/folder.py:69
msgid "Visible label used to display content"
msgstr ""
@@ -2957,35 +2905,71 @@
msgid "Search folder"
msgstr ""
-#: ./src/pyams_content/features/search/interfaces.py:35
+#: ./src/pyams_content/features/search/interfaces.py:37
msgid "Main search engine"
msgstr ""
-#: ./src/pyams_content/features/search/interfaces.py:36
+#: ./src/pyams_content/features/search/interfaces.py:38
msgid ""
"Search folder handling main site search. You can search a reference using '+'"
" followed by internal number, of by entering text matching content title."
msgstr ""
-#: ./src/pyams_content/features/search/interfaces.py:41
+#: ./src/pyams_content/features/search/interfaces.py:46
msgid "Search engine name"
msgstr ""
-#: ./src/pyams_content/features/search/interfaces.py:42
+#: ./src/pyams_content/features/search/interfaces.py:47
msgid "Name given to the search engine"
msgstr ""
-#: ./src/pyams_content/features/search/interfaces.py:46
+#: ./src/pyams_content/features/search/interfaces.py:51
msgid "Description given to the search engine"
msgstr ""
-#: ./src/pyams_content/features/search/interfaces.py:53
+#: ./src/pyams_content/features/search/interfaces.py:54
+msgid "Enable search by tag?"
+msgstr ""
+
+#: ./src/pyams_content/features/search/interfaces.py:55
+msgid ""
+"If 'yes', displayed tags will lead to a search engine displaying contents "
+"matching given tag"
+msgstr ""
+
+#: ./src/pyams_content/features/search/interfaces.py:60
+msgid "Tags search target"
+msgstr ""
+
+#: ./src/pyams_content/features/search/interfaces.py:61
+msgid "Site or folder where tags search is displayed"
+msgstr ""
+
+#: ./src/pyams_content/features/search/interfaces.py:72
+msgid "Enable search by collection?"
+msgstr ""
+
+#: ./src/pyams_content/features/search/interfaces.py:73
+msgid ""
+"If 'yes', displayed collections will lead to a search engine displaying "
+"contents matching given collection"
+msgstr ""
+
+#: ./src/pyams_content/features/search/interfaces.py:79
+msgid "Collections search target"
+msgstr ""
+
+#: ./src/pyams_content/features/search/interfaces.py:80
+msgid "Site or folder where collections search is displayed"
+msgstr ""
+
+#: ./src/pyams_content/features/search/interfaces.py:97
#: ./src/pyams_content/shared/common/interfaces/__init__.py:53
#: ./src/pyams_content/shared/common/interfaces/__init__.py:209
msgid "Managers"
msgstr ""
-#: ./src/pyams_content/features/search/interfaces.py:54
+#: ./src/pyams_content/features/search/interfaces.py:98
#: ./src/pyams_content/shared/common/interfaces/__init__.py:54
#: ./src/pyams_content/shared/common/interfaces/__init__.py:210
msgid ""
@@ -2993,35 +2977,35 @@
"retire contents"
msgstr ""
-#: ./src/pyams_content/features/search/interfaces.py:59
+#: ./src/pyams_content/features/search/interfaces.py:103
#: ./src/pyams_content/shared/common/interfaces/__init__.py:65
#: ./src/pyams_content/shared/common/interfaces/__init__.py:221
msgid "Designers"
msgstr ""
-#: ./src/pyams_content/features/search/interfaces.py:60
+#: ./src/pyams_content/features/search/interfaces.py:104
#: ./src/pyams_content/shared/common/interfaces/__init__.py:66
#: ./src/pyams_content/shared/common/interfaces/__init__.py:222
msgid "Designers are users which are allowed to manage presentation templates"
msgstr ""
-#: ./src/pyams_content/features/search/interfaces.py:64
+#: ./src/pyams_content/features/search/interfaces.py:109
#: ./src/pyams_content/shared/common/interfaces/__init__.py:233
msgid "Guests"
msgstr ""
-#: ./src/pyams_content/features/search/interfaces.py:65
+#: ./src/pyams_content/features/search/interfaces.py:110
#: ./src/pyams_content/shared/common/interfaces/__init__.py:234
msgid ""
"Guests are users which are allowed to view contents with restricted access"
msgstr ""
-#: ./src/pyams_content/features/search/interfaces.py:73
+#: ./src/pyams_content/features/search/interfaces.py:119
#: ./src/pyams_content/shared/view/interfaces.py:111
msgid "Order by"
msgstr ""
-#: ./src/pyams_content/features/search/interfaces.py:74
+#: ./src/pyams_content/features/search/interfaces.py:120
#: ./src/pyams_content/shared/view/interfaces.py:112
msgid ""
"Property to use to sort results; publication date can be different from first"
@@ -3029,46 +3013,54 @@
"a different publication date"
msgstr ""
-#: ./src/pyams_content/features/search/interfaces.py:81
+#: ./src/pyams_content/features/search/interfaces.py:128
#: ./src/pyams_content/shared/site/interfaces.py:97
msgid "Visible in folders list"
msgstr ""
-#: ./src/pyams_content/features/search/interfaces.py:82
+#: ./src/pyams_content/features/search/interfaces.py:129
#: ./src/pyams_content/shared/site/interfaces.py:98
msgid "If 'no', folder will not be displayed into folders list"
msgstr ""
-#: ./src/pyams_content/features/search/interfaces.py:86
+#: ./src/pyams_content/features/search/interfaces.py:134
#: ./src/pyams_content/shared/site/interfaces.py:102
#: ./src/pyams_content/shared/site/interfaces.py:171
msgid "Navigation title"
msgstr ""
-#: ./src/pyams_content/features/search/interfaces.py:87
+#: ./src/pyams_content/features/search/interfaces.py:135
#: ./src/pyams_content/shared/site/interfaces.py:103
msgid ""
"Folder's title displayed in navigation pages; original title will be used if "
"none is specified"
msgstr ""
-#: ./src/pyams_content/features/search/interfaces.py:91
+#: ./src/pyams_content/features/search/interfaces.py:140
msgid "Selected content types"
msgstr ""
-#: ./src/pyams_content/features/search/interfaces.py:92
+#: ./src/pyams_content/features/search/interfaces.py:141
msgid "Searched content types; leave empty for all"
msgstr ""
-#: ./src/pyams_content/features/search/interfaces.py:96
+#: ./src/pyams_content/features/search/interfaces.py:145
msgid "Selected data types"
msgstr ""
-#: ./src/pyams_content/features/search/interfaces.py:97
+#: ./src/pyams_content/features/search/interfaces.py:146
msgid "Searched data types; leave empty for all"
msgstr ""
-#: ./src/pyams_content/features/search/portlet/__init__.py:97
+#: ./src/pyams_content/features/search/interfaces.py:70
+msgid "You must specify search target when activating search by tags!"
+msgstr ""
+
+#: ./src/pyams_content/features/search/interfaces.py:90
+msgid "You must specify search target when activating search by collections!"
+msgstr ""
+
+#: ./src/pyams_content/features/search/portlet/__init__.py:99
msgid "Search results"
msgstr ""
@@ -3105,18 +3097,26 @@
msgstr ""
#: ./src/pyams_content/features/search/zmi/properties.py:71
-#: ./src/pyams_content/shared/site/zmi/folder.py:203
+#: ./src/pyams_content/shared/site/zmi/folder.py:212
msgid "Navigation properties"
msgstr ""
-#: ./src/pyams_content/features/search/zmi/manager.py:43
+#: ./src/pyams_content/features/search/zmi/manager.py:45
msgid "Search settings..."
msgstr ""
-#: ./src/pyams_content/features/search/zmi/manager.py:57
+#: ./src/pyams_content/features/search/zmi/manager.py:59
msgid "Search engine settings"
msgstr ""
+#: ./src/pyams_content/features/search/zmi/manager.py:74
+msgid "Enable search by tag"
+msgstr ""
+
+#: ./src/pyams_content/features/search/zmi/manager.py:82
+msgid "Enable search by collection"
+msgstr ""
+
#: ./src/pyams_content/features/search/zmi/__init__.py:59
msgid "This search folder"
msgstr ""
@@ -3253,7 +3253,7 @@
msgid "Admin. profile"
msgstr ""
-#: ./src/pyams_content/root/__init__.py:65
+#: ./src/pyams_content/root/__init__.py:69
msgid "Site root"
msgstr ""
@@ -3314,252 +3314,247 @@
msgstr ""
#: ./src/pyams_content/root/zmi/__init__.py:110
-#: ./src/pyams_content/shared/common/zmi/dashboard.py:289
+#: ./src/pyams_content/shared/common/zmi/dashboard.py:304
msgid "Dashboard"
msgstr ""
#: ./src/pyams_content/root/zmi/__init__.py:159
-#: ./src/pyams_content/shared/common/zmi/dashboard.py:345
+#: ./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/shared/common/zmi/dashboard.py:346
+#: ./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/shared/common/zmi/dashboard.py:387
+#: ./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/shared/common/zmi/dashboard.py:388
+#: ./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/shared/common/zmi/dashboard.py:420
+#: ./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/shared/common/zmi/dashboard.py:461
+#: ./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/templates/dashboard.pt:8
-#: ./src/pyams_content/shared/common/zmi/dashboard.py:476
+#: ./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/shared/common/zmi/dashboard.py:485
+#: ./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/shared/common/zmi/dashboard.py:486
+#: ./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/shared/common/zmi/dashboard.py:561
+#: ./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/shared/common/zmi/dashboard.py:574
+#: ./src/pyams_content/shared/common/zmi/dashboard.py:601
msgid "My drafts"
msgstr ""
#: ./src/pyams_content/root/zmi/__init__.py:368
-#: ./src/pyams_content/shared/common/zmi/dashboard.py:583
+#: ./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/shared/common/zmi/dashboard.py:584
+#: ./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/shared/common/zmi/dashboard.py:625
+#: ./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/shared/common/zmi/dashboard.py:638
+#: ./src/pyams_content/shared/common/zmi/dashboard.py:667
msgid "My submissions"
msgstr ""
#: ./src/pyams_content/root/zmi/__init__.py:430
-#: ./src/pyams_content/shared/common/zmi/dashboard.py:647
+#: ./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/shared/common/zmi/dashboard.py:648
+#: ./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/shared/common/zmi/dashboard.py:689
+#: ./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/shared/common/zmi/dashboard.py:702
+#: ./src/pyams_content/shared/common/zmi/dashboard.py:733
msgid "My publications"
msgstr ""
#: ./src/pyams_content/root/zmi/__init__.py:492
-#: ./src/pyams_content/shared/common/zmi/dashboard.py:711
+#: ./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/shared/common/zmi/dashboard.py:712
+#: ./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/shared/common/zmi/dashboard.py:753
+#: ./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/shared/common/zmi/dashboard.py:766
+#: ./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/shared/common/zmi/dashboard.py:775
+#: ./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/shared/common/zmi/dashboard.py:776
+#: ./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/shared/common/zmi/dashboard.py:817
+#: ./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/shared/common/zmi/dashboard.py:830
+#: ./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/shared/common/zmi/dashboard.py:839
+#: ./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/shared/common/zmi/dashboard.py:840
+#: ./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/shared/common/zmi/dashboard.py:887
+#: ./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/shared/common/zmi/dashboard.py:901
+#: ./src/pyams_content/shared/common/zmi/dashboard.py:938
msgid "Other interventions"
msgstr ""
#: ./src/pyams_content/root/zmi/__init__.py:693
-#: ./src/pyams_content/shared/common/zmi/dashboard.py:916
+#: ./src/pyams_content/shared/common/zmi/dashboard.py:953
msgid "Last publications"
msgstr ""
#: ./src/pyams_content/root/zmi/__init__.py:702
-#: ./src/pyams_content/shared/common/zmi/dashboard.py:925
+#: ./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/shared/common/zmi/dashboard.py:972
+#: ./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/shared/common/zmi/dashboard.py:985
+#: ./src/pyams_content/shared/common/zmi/dashboard.py:1024
msgid "Last updates"
msgstr ""
#: ./src/pyams_content/root/zmi/__init__.py:770
-#: ./src/pyams_content/shared/common/zmi/dashboard.py:994
+#: ./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/shared/common/zmi/dashboard.py:1039
+#: ./src/pyams_content/shared/common/zmi/dashboard.py:1080
msgid "Last updated contents"
msgstr ""
-#: ./src/pyams_content/root/zmi/__init__.py:825
-#: ./src/pyams_content/shared/site/zmi/container.py:461
-msgid "Content"
-msgstr ""
-
#: ./src/pyams_content/root/zmi/__init__.py:245
-#: ./src/pyams_content/shared/common/zmi/dashboard.py:425
+#: ./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/shared/common/zmi/dashboard.py:427
+#: ./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/shared/common/zmi/dashboard.py:930
+#: ./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/shared/common/zmi/dashboard.py:932
+#: ./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/shared/common/zmi/dashboard.py:999
+#: ./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/shared/common/zmi/dashboard.py:1001
+#: ./src/pyams_content/shared/common/zmi/dashboard.py:1040
msgid "CONTRIBUTORS - Last updated contents (in the limit of 50)"
msgstr ""
@@ -3585,7 +3580,7 @@
msgstr ""
#: ./src/pyams_content/root/zmi/search.py:162
-#: ./src/pyams_content/shared/common/zmi/dashboard.py:244
+#: ./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"
@@ -4472,7 +4467,7 @@
msgid "If 'yes', collections will be extracted from context"
msgstr ""
-#: ./src/pyams_content/shared/view/interfaces.py:294
+#: ./src/pyams_content/shared/view/interfaces.py:295
msgid "Other collections"
msgstr ""
@@ -4653,7 +4648,7 @@
#: ./src/pyams_content/shared/common/interfaces/__init__.py:182
#: ./src/pyams_content/shared/site/interfaces.py:93
#: ./src/pyams_content/shared/site/interfaces.py:138
-#: ./src/pyams_content/shared/site/zmi/folder.py:74
+#: ./src/pyams_content/shared/site/zmi/folder.py:76
msgid "Notepad"
msgstr ""
@@ -4661,49 +4656,49 @@
#: ./src/pyams_content/shared/common/interfaces/__init__.py:183
#: ./src/pyams_content/shared/site/interfaces.py:94
#: ./src/pyams_content/shared/site/interfaces.py:139
-#: ./src/pyams_content/shared/site/zmi/folder.py:75
+#: ./src/pyams_content/shared/site/zmi/folder.py:77
msgid "Internal information to be known about this content"
msgstr ""
-#: ./src/pyams_content/shared/blog/zmi/manager.py:57
+#: ./src/pyams_content/shared/blog/zmi/manager.py:68
msgid "Blog management"
msgstr ""
-#: ./src/pyams_content/shared/blog/zmi/manager.py:80
-#: ./src/pyams_content/shared/blog/zmi/manager.py:94
-msgid "Add blog manager"
-msgstr ""
-
#: ./src/pyams_content/shared/blog/zmi/manager.py:93
+#: ./src/pyams_content/shared/blog/zmi/manager.py:107
+msgid "Add blog manager"
+msgstr ""
+
+#: ./src/pyams_content/shared/blog/zmi/manager.py:106
msgid "Blog manager"
msgstr ""
-#: ./src/pyams_content/shared/blog/zmi/manager.py:148
+#: ./src/pyams_content/shared/blog/zmi/manager.py:166
msgid "Blog properties"
msgstr ""
-#: ./src/pyams_content/shared/blog/zmi/manager.py:163
-#: ./src/pyams_content/shared/blog/zmi/manager.py:175
+#: ./src/pyams_content/shared/blog/zmi/manager.py:183
+#: ./src/pyams_content/shared/blog/zmi/manager.py:195
#: ./src/pyams_content/shared/site/zmi/container.py:153
#: ./src/pyams_content/shared/site/zmi/container.py:165
msgid "Publication dates..."
msgstr ""
-#: ./src/pyams_content/shared/blog/zmi/manager.py:189
+#: ./src/pyams_content/shared/blog/zmi/manager.py:209
#: ./src/pyams_content/shared/site/zmi/container.py:179
msgid "Update publication dates"
msgstr ""
-#: ./src/pyams_content/shared/blog/zmi/manager.py:124
-#: ./src/pyams_content/shared/site/zmi/manager.py:163
+#: ./src/pyams_content/shared/blog/zmi/manager.py:137
+#: ./src/pyams_content/shared/site/zmi/manager.py:176
msgid "You must provide a short name for default server language!"
msgstr ""
-#: ./src/pyams_content/shared/blog/zmi/manager.py:128
+#: ./src/pyams_content/shared/blog/zmi/manager.py:142
msgid "Specified blog manager name is already used!"
msgstr ""
-#: ./src/pyams_content/shared/blog/zmi/manager.py:132
+#: ./src/pyams_content/shared/blog/zmi/manager.py:147
msgid "A blog manager is already registered with this name!!"
msgstr ""
@@ -4721,19 +4716,19 @@
msgid "Blog post « {title} »"
msgstr ""
-#: ./src/pyams_content/shared/common/__init__.py:268
+#: ./src/pyams_content/shared/common/__init__.py:274
#: ./src/pyams_content/shared/common/zmi/properties.py:66
#: ./src/pyams_content/shared/common/zmi/manager.py:96
msgid "Properties"
msgstr ""
-#: ./src/pyams_content/shared/common/__init__.py:178
-#: ./src/pyams_content/shared/common/__init__.py:186
+#: ./src/pyams_content/shared/common/__init__.py:184
+#: ./src/pyams_content/shared/common/__init__.py:192
#, python-format
msgid "{date} by {principal}"
msgstr ""
-#: ./src/pyams_content/shared/common/__init__.py:291
+#: ./src/pyams_content/shared/common/__init__.py:300
#, python-format
msgid "title length should be between 40 and 66 characters ({length} actually)"
msgstr ""
@@ -5110,7 +5105,7 @@
msgstr ""
#: ./src/pyams_content/shared/common/zmi/header.py:91
-#: ./src/pyams_content/shared/common/zmi/dashboard.py:184
+#: ./src/pyams_content/shared/common/zmi/dashboard.py:194
msgid "Content publication start date is not passed yet"
msgstr ""
@@ -5170,46 +5165,50 @@
msgid "Tool management"
msgstr ""
-#: ./src/pyams_content/shared/common/zmi/dashboard.py:105
+#: ./src/pyams_content/shared/common/zmi/dashboard.py:107
+msgid "Content type"
+msgstr ""
+
+#: ./src/pyams_content/shared/common/zmi/dashboard.py:121
msgid "Type"
msgstr ""
-#: ./src/pyams_content/shared/common/zmi/dashboard.py:147
+#: ./src/pyams_content/shared/common/zmi/dashboard.py:156
msgid "Unique ID"
msgstr ""
-#: ./src/pyams_content/shared/common/zmi/dashboard.py:167
+#: ./src/pyams_content/shared/common/zmi/dashboard.py:177
#: ./src/pyams_content/shared/common/zmi/search.py:174
msgid "Status"
msgstr ""
-#: ./src/pyams_content/shared/common/zmi/dashboard.py:194
+#: ./src/pyams_content/shared/common/zmi/dashboard.py:205
msgid "Status date"
msgstr ""
-#: ./src/pyams_content/shared/common/zmi/dashboard.py:211
+#: ./src/pyams_content/shared/common/zmi/dashboard.py:223
#: ./src/pyams_content/shared/common/zmi/summary.py:165
msgid "Version"
msgstr ""
-#: ./src/pyams_content/shared/common/zmi/dashboard.py:226
+#: ./src/pyams_content/shared/common/zmi/dashboard.py:239
msgid "Status principal"
msgstr ""
-#: ./src/pyams_content/shared/common/zmi/dashboard.py:266
+#: ./src/pyams_content/shared/common/zmi/dashboard.py:281
msgid "Last modification"
msgstr ""
-#: ./src/pyams_content/shared/common/zmi/dashboard.py:299
+#: ./src/pyams_content/shared/common/zmi/dashboard.py:315
msgid "Contents dashboard"
msgstr ""
-#: ./src/pyams_content/shared/common/zmi/dashboard.py:498
+#: ./src/pyams_content/shared/common/zmi/dashboard.py:523
#: ./src/pyams_content/shared/common/zmi/templates/header.pt:26
msgid "Add/remove from favorites"
msgstr ""
-#: ./src/pyams_content/shared/common/zmi/dashboard.py:322
+#: ./src/pyams_content/shared/common/zmi/dashboard.py:339
#, python-format
msgid "SEARCH - Between all contents of type « {type} »"
msgstr ""
@@ -5300,28 +5299,28 @@
"which at least one criteria is matching."
msgstr ""
-#: ./src/pyams_content/shared/common/zmi/__init__.py:289
+#: ./src/pyams_content/shared/common/zmi/__init__.py:292
msgid "Duplicate content..."
msgstr ""
-#: ./src/pyams_content/shared/common/zmi/__init__.py:309
+#: ./src/pyams_content/shared/common/zmi/__init__.py:312
msgid "Duplicate content"
msgstr ""
-#: ./src/pyams_content/shared/common/zmi/__init__.py:85
+#: ./src/pyams_content/shared/common/zmi/__init__.py:88
msgid "This title can be modified afterwards"
msgstr ""
-#: ./src/pyams_content/shared/common/zmi/__init__.py:300
+#: ./src/pyams_content/shared/common/zmi/__init__.py:303
msgid "Duplicate this content"
msgstr ""
-#: ./src/pyams_content/shared/common/zmi/__init__.py:357
+#: ./src/pyams_content/shared/common/zmi/__init__.py:360
#, python-format
msgid "Clone created from version {source} of {oid} (in « {state} » state)"
msgstr ""
-#: ./src/pyams_content/shared/common/zmi/__init__.py:403
+#: ./src/pyams_content/shared/common/zmi/__init__.py:434
msgid "Created or modified in this version"
msgstr ""
@@ -5493,11 +5492,11 @@
msgid "{state} {date}"
msgstr ""
-#: ./src/pyams_content/shared/common/zmi/reverse.py:57
+#: ./src/pyams_content/shared/common/zmi/reverse.py:53
msgid "Reverse links"
msgstr ""
-#: ./src/pyams_content/shared/common/zmi/reverse.py:66
+#: ./src/pyams_content/shared/common/zmi/reverse.py:62
msgid "Content's internal links"
msgstr ""
@@ -5895,7 +5894,7 @@
msgstr ""
#: ./src/pyams_content/shared/site/manager.py:68
-#: ./src/pyams_content/shared/site/zmi/manager.py:121
+#: ./src/pyams_content/shared/site/zmi/manager.py:133
msgid "Site manager"
msgstr ""
@@ -6012,7 +6011,11 @@
msgid "Folders and topics"
msgstr ""
-#: ./src/pyams_content/shared/site/zmi/container.py:557
+#: ./src/pyams_content/shared/site/zmi/container.py:462
+msgid "Content"
+msgstr ""
+
+#: ./src/pyams_content/shared/site/zmi/container.py:559
msgid "Delete site item"
msgstr ""
@@ -6070,54 +6073,54 @@
msgid "Can't reparent object to one of it's children. Reloading..."
msgstr ""
-#: ./src/pyams_content/shared/site/zmi/manager.py:53
+#: ./src/pyams_content/shared/site/zmi/manager.py:63
msgid "Site management"
msgstr ""
-#: ./src/pyams_content/shared/site/zmi/manager.py:108
-#: ./src/pyams_content/shared/site/zmi/manager.py:122
+#: ./src/pyams_content/shared/site/zmi/manager.py:120
+#: ./src/pyams_content/shared/site/zmi/manager.py:134
msgid "Add site manager"
msgstr ""
-#: ./src/pyams_content/shared/site/zmi/manager.py:150
-#: ./src/pyams_content/shared/site/zmi/folder.py:185
+#: ./src/pyams_content/shared/site/zmi/manager.py:163
+#: ./src/pyams_content/shared/site/zmi/folder.py:194
msgid "Site folder properties"
msgstr ""
-#: ./src/pyams_content/shared/site/zmi/manager.py:167
+#: ./src/pyams_content/shared/site/zmi/manager.py:181
msgid "Specified site manager name is already used!"
msgstr ""
-#: ./src/pyams_content/shared/site/zmi/manager.py:171
+#: ./src/pyams_content/shared/site/zmi/manager.py:185
msgid "A site manager is already registered with this name!!"
msgstr ""
-#: ./src/pyams_content/shared/site/zmi/folder.py:57
+#: ./src/pyams_content/shared/site/zmi/folder.py:59
msgid "Add site folder..."
msgstr ""
-#: ./src/pyams_content/shared/site/zmi/folder.py:89
+#: ./src/pyams_content/shared/site/zmi/folder.py:91
msgid "Add site folder"
msgstr ""
-#: ./src/pyams_content/shared/site/zmi/folder.py:156
+#: ./src/pyams_content/shared/site/zmi/folder.py:158
msgid "Site folder management"
msgstr ""
-#: ./src/pyams_content/shared/site/zmi/folder.py:70
+#: ./src/pyams_content/shared/site/zmi/folder.py:72
#: ./src/pyams_content/shared/site/zmi/link.py:75
#: ./src/pyams_content/shared/site/zmi/link.py:227
#: ./src/pyams_content/shared/site/zmi/__init__.py:62
msgid "Parent"
msgstr ""
-#: ./src/pyams_content/shared/site/zmi/folder.py:71
+#: ./src/pyams_content/shared/site/zmi/folder.py:73
#: ./src/pyams_content/shared/site/zmi/link.py:76
#: ./src/pyams_content/shared/site/zmi/link.py:228
msgid "Folder's parent"
msgstr ""
-#: ./src/pyams_content/shared/site/zmi/folder.py:149
+#: ./src/pyams_content/shared/site/zmi/folder.py:151
msgid "You must provide a folder name for default server language!"
msgstr ""
--- a/src/pyams_content/root/zmi/__init__.py Wed Jul 01 14:10:50 2020 +0200
+++ b/src/pyams_content/root/zmi/__init__.py Wed Jul 01 18:05:38 2020 +0200
@@ -10,54 +10,49 @@
# FOR A PARTICULAR PURPOSE.
#
-__docformat__ = 'restructuredtext'
-
+from hypatia.catalog import CatalogQuery
+from hypatia.interfaces import ICatalog
+from hypatia.query import And, Any, Eq, Or
+from z3c.table.interfaces import IValues
+from zope.dublincore.interfaces import IZopeDublinCore
+from zope.interface import Interface, implementer
+from zope.intid.interfaces import IIntIds
-# import standard library
-
-# import interfaces
-from hypatia.interfaces import ICatalog
-from pyams_content.interfaces import PUBLISH_CONTENT_PERMISSION, MANAGE_SITE_ROOT_PERMISSION
+from pyams_catalog.query import CatalogResultSet
+from pyams_content.interfaces import MANAGE_SITE_ROOT_PERMISSION, PUBLISH_CONTENT_PERMISSION
from pyams_content.profile.interfaces import IAdminProfile
from pyams_content.root.interfaces import ISiteRoot
+from pyams_content.shared.common import CONTENT_TYPES
from pyams_content.shared.common.interfaces import IBaseSharedTool, IManagerRestrictions
from pyams_content.shared.common.interfaces.zmi import ISiteRootDashboardTable
-from pyams_content.zmi.interfaces import IDashboardMenu, IMyDashboardMenu, IAllContentsMenu
+from pyams_content.shared.common.zmi.dashboard import BaseDashboardTable as BaseDashboardTableBase
+from pyams_content.zmi.interfaces import IAllContentsMenu, IDashboardMenu, IMyDashboardMenu
from pyams_i18n.interfaces import II18n
+from pyams_pagelet.pagelet import pagelet_config
+from pyams_skin.container import ContainerView
from pyams_skin.interfaces import IInnerPage, IPageHeader
from pyams_skin.interfaces.configuration import IBackOfficeConfiguration, IConfiguration
-from pyams_skin.interfaces.container import ITableElementName, ITableElementEditor
+from pyams_skin.interfaces.container import ITableElementEditor, ITableElementName
from pyams_skin.interfaces.viewlet import IBreadcrumbItem
from pyams_skin.layer import IPyAMSLayer
-from pyams_utils.interfaces import VIEW_SYSTEM_PERMISSION
-from pyams_workflow.interfaces import IWorkflowVersions, IWorkflowState, IWorkflow
-from pyams_zmi.interfaces.menu import IContentManagementMenu
-from pyams_zmi.layer import IAdminLayer
-from z3c.table.interfaces import IValues, IColumn
-from zope.dublincore.interfaces import IZopeDublinCore
-from zope.intid.interfaces import IIntIds
-
-# import packages
-from hypatia.catalog import CatalogQuery
-from hypatia.query import And, Or, Eq, Any
-from pyams_catalog.query import CatalogResultSet
-from pyams_content.shared.common import CONTENT_TYPES
-from pyams_content.shared.common.zmi.dashboard import BaseDashboardTable as BaseDashboardTableBase
-from pyams_pagelet.pagelet import pagelet_config
-from pyams_skin.container import ContainerView
from pyams_skin.page import DefaultPageHeaderAdapter
-from pyams_skin.table import I18nColumn, DefaultElementEditorAdapter
+from pyams_skin.table import DefaultElementEditorAdapter
from pyams_skin.viewlet.breadcrumb import BreadcrumbAdminLayerItem
from pyams_skin.viewlet.menu import MenuItem
from pyams_template.template import template_config
-from pyams_utils.adapter import adapter_config, ContextRequestViewAdapter, ContextRequestAdapter
+from pyams_utils.adapter import ContextRequestAdapter, ContextRequestViewAdapter, adapter_config
+from pyams_utils.interfaces import VIEW_SYSTEM_PERMISSION
from pyams_utils.list import unique_iter
-from pyams_utils.registry import get_utility, get_all_utilities_registered_for
+from pyams_utils.registry import get_all_utilities_registered_for, get_utility
from pyams_viewlet.manager import viewletmanager_config
from pyams_viewlet.viewlet import viewlet_config
+from pyams_workflow.interfaces import IWorkflow, IWorkflowState, IWorkflowVersions
+from pyams_zmi.interfaces.menu import IContentManagementMenu
+from pyams_zmi.layer import IAdminLayer
from pyams_zmi.view import AdminView
-from z3c.table.column import GetAttrColumn
-from zope.interface import implementer, Interface
+
+
+__docformat__ = 'restructuredtext'
from pyams_content import _
@@ -812,22 +807,3 @@
icon_class = 'fa fa-fw fa-pencil-square'
title = _("Last updated contents")
-
-
-#
-# Custom columns
-#
-
-@adapter_config(name='tool', context=(Interface, IPyAMSLayer, ISiteRootDashboardTable), provides=IColumn)
-class SiteRootDashboardContentTypeColumn(I18nColumn, GetAttrColumn):
- """Shared tool dashboard content type column"""
-
- _header = _("Content")
- cssClasses = {'td': 'nowrap'}
- weight = 1
-
- def getValue(self, obj):
- try:
- return self.request.localizer.translate(obj.content_name)
- except AttributeError:
- return '--'
--- a/src/pyams_content/shared/blog/zmi/manager.py Wed Jul 01 14:10:50 2020 +0200
+++ b/src/pyams_content/shared/blog/zmi/manager.py Wed Jul 01 18:05:38 2020 +0200
@@ -10,8 +10,6 @@
# FOR A PARTICULAR PURPOSE.
#
-__docformat__ = 'restructuredtext'
-
from datetime import datetime
from pyramid.events import subscriber
@@ -20,23 +18,26 @@
from z3c.form.interfaces import IDataExtractedEvent
from zope.interface import Invalid
-from pyams_content.interfaces import MANAGE_SITE_ROOT_PERMISSION, MANAGE_SITE_PERMISSION, MANAGE_TOOL_PERMISSION
+from pyams_content.interfaces import MANAGE_SITE_PERMISSION, MANAGE_SITE_ROOT_PERMISSION, \
+ MANAGE_TOOL_PERMISSION
from pyams_content.root.interfaces import ISiteRoot
from pyams_content.shared.blog.interfaces import IBlogManager, IBlogManagerFactory
from pyams_content.shared.blog.manager import BlogManager
-from pyams_content.shared.common import IBaseSharedTool
+from pyams_content.shared.common import IBaseSharedTool, IDashboardTypeColumnValue
+from pyams_content.shared.common.interfaces.zmi import IDashboardTable
from pyams_content.shared.common.zmi.manager import SharedToolPropertiesEditForm
from pyams_content.zmi.interfaces import ISiteTreeTable, IUserAddingsMenuLabel
from pyams_form.form import AJAXAddForm, ajax_config
from pyams_i18n.interfaces import II18n, INegotiator
from pyams_pagelet.pagelet import pagelet_config
from pyams_skin.interfaces.container import ITableElementEditor
-from pyams_skin.interfaces.viewlet import IToolbarAddingMenu, ITableItemColumnActionsMenu, IMenuHeader
+from pyams_skin.interfaces.viewlet import IMenuHeader, ITableItemColumnActionsMenu, \
+ IToolbarAddingMenu
from pyams_skin.layer import IPyAMSLayer
from pyams_skin.table import DefaultElementEditorAdapter
from pyams_skin.viewlet.menu import MenuItem
from pyams_skin.viewlet.toolbar import ToolbarMenuItem
-from pyams_utils.adapter import adapter_config, ContextRequestAdapter
+from pyams_utils.adapter import ContextRequestAdapter, adapter_config
from pyams_utils.registry import query_utility
from pyams_utils.timezone import tztime
from pyams_utils.unicode import translate_string
@@ -47,9 +48,19 @@
from pyams_zmi.interfaces.menu import IPropertiesMenu, ISiteManagementMenu
from pyams_zmi.layer import IAdminLayer
+
+__docformat__ = 'restructuredtext'
+
from pyams_content import _
+@adapter_config(context=(IDashboardTable, IPyAMSLayer, IBlogManager),
+ provides=IDashboardTypeColumnValue)
+def blog_manager_dashboard_type(context, request):
+ """Blog manager dashboard type column adapter"""
+ return request.localizer.translate(context.content_name)
+
+
@adapter_config(context=(IBlogManager, ISiteManagementMenu), provides=IMenuHeader)
class BlogManagerSiteManagementMenuHeader(ContextRequestAdapter):
"""Blog manager site management menu header adapter"""
@@ -68,12 +79,14 @@
@property
def label(self):
return '{content} ({blog})'.format(
- content=self.request.localizer.translate(self.context.shared_content_factory.content_class.content_name),
+ content=self.request.localizer.translate(
+ self.context.shared_content_factory.content_class.content_name),
blog=II18n(self.context).query_attribute('title', request=self.request))
@viewlet_config(name='add-blog-manager.menu', context=ISiteRoot, layer=IAdminLayer,
- view=ISiteTreeTable, manager=IToolbarAddingMenu, permission=MANAGE_SITE_ROOT_PERMISSION)
+ view=ISiteTreeTable, manager=IToolbarAddingMenu,
+ permission=MANAGE_SITE_ROOT_PERMISSION)
class BlogManagerAddMenu(ToolbarMenuItem):
"""Blog manager add menu"""
@@ -121,18 +134,22 @@
negotiator = query_utility(INegotiator)
short_name = event.data['short_name'].get(negotiator.server_language)
if not short_name:
- event.form.widgets.errors += (Invalid(_("You must provide a short name for default server language!")),)
+ event.form.widgets.errors += (Invalid(_("You must provide a short name for default "
+ "server language!")),)
return
name = translate_string(short_name, force_lower=True, spaces='-')
if name in container:
- event.form.widgets.errors += (Invalid(_("Specified blog manager name is already used!")),)
+ event.form.widgets.errors += (Invalid(_("Specified blog manager name is already "
+ "used!")),)
return
blog = query_utility(IBlogManager, name=short_name)
if blog is not None:
- event.form.widgets.errors += (Invalid(_("A blog manager is already registered with this name!!")),)
+ event.form.widgets.errors += (Invalid(_("A blog manager is already registered with "
+ "this name!!")),)
-@adapter_config(context=(IBlogManager, IAdminLayer, ISiteTreeTable), provides=ITableElementEditor)
+@adapter_config(context=(IBlogManager, IAdminLayer, ISiteTreeTable),
+ provides=ITableElementEditor)
class BlogManagerTableElementEditor(DefaultElementEditorAdapter):
"""Blog manager table element editor"""
@@ -140,14 +157,16 @@
modal_target = False
-@pagelet_config(name='properties.html', context=IBlogManager, layer=IPyAMSLayer, permission=MANAGE_TOOL_PERMISSION)
+@pagelet_config(name='properties.html', context=IBlogManager, layer=IPyAMSLayer,
+ permission=MANAGE_TOOL_PERMISSION)
@ajax_config(name='properties.json', context=IBlogManager, layer=IPyAMSLayer)
class BlogManagerPropertiesEditForm(SharedToolPropertiesEditForm):
"""Site folder properties edit form"""
legend = _("Blog properties")
- fields = field.Fields(IBlogManager).select('title', 'short_name', 'description', 'notepad') + \
+ fields = field.Fields(IBlogManager).select('title', 'short_name', 'description',
+ 'notepad') + \
field.Fields(IBaseSharedTool).select('shared_content_workflow')
@@ -155,8 +174,9 @@
# Blog manager publication views
#
-@viewlet_config(name='workflow-publication.menu', context=IBlogManager, layer=IPyAMSLayer, view=ISiteTreeTable,
- manager=ITableItemColumnActionsMenu, permission=MANAGE_SITE_PERMISSION, weight=210)
+@viewlet_config(name='workflow-publication.menu', context=IBlogManager, layer=IPyAMSLayer,
+ view=ISiteTreeTable, manager=ITableItemColumnActionsMenu,
+ permission=MANAGE_SITE_PERMISSION, weight=210)
class BlogManagerTableItemWorkflowPublicationMenu(ToolbarMenuItem):
"""Blog manager tree item workflow publication menu"""
@@ -167,8 +187,8 @@
stop_propagation = True
-@viewlet_config(name='workflow-publication.menu', context=IBlogManager, layer=IAdminLayer, manager=IPropertiesMenu,
- permission=MANAGE_SITE_PERMISSION, weight=210)
+@viewlet_config(name='workflow-publication.menu', context=IBlogManager, layer=IAdminLayer,
+ manager=IPropertiesMenu, permission=MANAGE_SITE_PERMISSION, weight=210)
class BlogManagerWorkflowPublicationMenu(MenuItem):
"""Blog manager workflow publication menu"""
@@ -188,7 +208,8 @@
legend = _("Update publication dates")
- fields = field.Fields(IWorkflowPublicationInfo).select('publication_effective_date', 'publication_expiration_date')
+ fields = field.Fields(IWorkflowPublicationInfo).select('publication_effective_date',
+ 'publication_expiration_date')
edit_permission = MANAGE_SITE_PERMISSION
def updateWidgets(self, prefix=None):
@@ -196,4 +217,5 @@
if 'publication_effective_date' in self.widgets:
pub_info = IWorkflowPublicationInfo(self.context)
if pub_info.publication_effective_date is None:
- self.widgets['publication_effective_date'].value = tztime(datetime.utcnow()).strftime('%d/%m/%y %H:%M')
+ self.widgets['publication_effective_date'].value = \
+ tztime(datetime.utcnow()).strftime('%d/%m/%y %H:%M')
--- a/src/pyams_content/shared/common/interfaces/zmi.py Wed Jul 01 14:10:50 2020 +0200
+++ b/src/pyams_content/shared/common/interfaces/zmi.py Wed Jul 01 18:05:38 2020 +0200
@@ -38,3 +38,7 @@
class ISiteRootDashboardTable(IDashboardTable):
"""Site root dashboard table marker interface"""
+
+
+class IDashboardTypeColumnValue(Interface):
+ """Dashboard content type column interface"""
--- a/src/pyams_content/shared/common/zmi/__init__.py Wed Jul 01 14:10:50 2020 +0200
+++ b/src/pyams_content/shared/common/zmi/__init__.py Wed Jul 01 18:05:38 2020 +0200
@@ -24,8 +24,11 @@
from pyams_content.features.review.interfaces import IReviewComments
from pyams_content.interfaces import CREATE_CONTENT_PERMISSION, MANAGE_CONTENT_PERMISSION, \
MANAGE_SITE_ROOT_PERMISSION, PUBLISH_CONTENT_PERMISSION
+from pyams_content.shared.common import IDashboardTypeColumnValue
from pyams_content.shared.common.interfaces import IBaseSharedTool, IContributorRestrictions, \
IManagerRestrictions, ISharedContent, IWfSharedContent
+from pyams_content.shared.common.interfaces.types import IWfTypedSharedContent
+from pyams_content.shared.common.interfaces.zmi import IDashboardTable, ISiteRootDashboardTable
from pyams_form.form import AJAXAddForm, ajax_config
from pyams_form.interfaces.form import IFormContextPermissionChecker, IWidgetsPrefixViewletsManager
from pyams_form.schema import CloseButton
@@ -387,6 +390,34 @@
# Custom columns mixins
#
+@adapter_config(context=(IWfSharedContent, IPyAMSLayer, IDashboardTable),
+ provides=IDashboardTypeColumnValue)
+def typed_shared_content_tool_dashboard_type_adapter(context, request, view):
+ """Typed shared content dashboard type column adapter"""
+ content = IWfTypedSharedContent(context, None)
+ if content is not None:
+ data_type = content.get_data_type()
+ if data_type is not None:
+ return II18n(data_type).query_attribute('navigation_label', request=request) or \
+ II18n(data_type).query_attribute('label', request=request)
+
+
+@adapter_config(context=(IWfSharedContent, IPyAMSLayer, ISiteRootDashboardTable),
+ provides=IDashboardTypeColumnValue)
+def typed_shared_content_root_dashboard_type_adapter(context, request, view):
+ """Typed shared content root dashboard type column adapter"""
+ result = request.localizer.translate(context.content_name)
+ content = IWfTypedSharedContent(context, None)
+ if content is not None:
+ data_type = content.get_data_type()
+ if data_type is not None:
+ result = '{} ({})'.format(
+ result,
+ II18n(data_type).query_attribute('navigation_label', request=request) or
+ II18n(data_type).query_attribute('label', request=request))
+ return result
+
+
class WfModifiedContentColumnMixin(object):
"""Shared content modified column mixin"""
@@ -398,7 +429,7 @@
item_dc = IZopeDublinCore(item)
if item_dc.modified and (item_dc.modified > IZopeDublinCore(content).created):
translate = self.request.localizer.translate
- value += '<i class="fa fa-fw fa-circle txt-color-orange hint align-middle padding-left-5" ' \
- 'title="{0}" data-ams-hint-gravity="w"></i>'.format(
+ value += '<i class="fa fa-fw fa-circle txt-color-orange hint align-middle ' \
+ 'padding-left-5" title="{0}" data-ams-hint-gravity="w"></i>'.format(
translate(_("Created or modified in this version")))
return value
--- a/src/pyams_content/shared/common/zmi/dashboard.py Wed Jul 01 14:10:50 2020 +0200
+++ b/src/pyams_content/shared/common/zmi/dashboard.py Wed Jul 01 18:05:38 2020 +0200
@@ -10,27 +10,25 @@
# FOR A PARTICULAR PURPOSE.
#
-__docformat__ = 'restructuredtext'
-
from hypatia.catalog import CatalogQuery
from hypatia.interfaces import ICatalog
-from hypatia.query import And, Or, Eq, Any
+from hypatia.query import And, Any, Eq, Or
from z3c.table.column import GetAttrColumn
-from z3c.table.interfaces import IValues, IColumn
+from z3c.table.interfaces import IColumn, IValues
from zope.dublincore.interfaces import IZopeDublinCore
-from zope.interface import implementer, Interface
+from zope.interface import Interface, implementer
from zope.intid.interfaces import IIntIds
from pyams_catalog.query import CatalogResultSet
from pyams_content.interfaces import MANAGE_SITE_ROOT_PERMISSION, PUBLISH_CONTENT_PERMISSION
from pyams_content.profile.interfaces import IAdminProfile
from pyams_content.shared.common import CONTENT_TYPES
-from pyams_content.shared.common.interfaces import IBaseSharedTool, IWfSharedContent, IManagerRestrictions
-from pyams_content.shared.common.interfaces.types import IWfTypedSharedContent
-from pyams_content.shared.common.interfaces.zmi import IDashboardTable, ISharedToolDashboardTable, \
- IDashboardSearchHeader
+from pyams_content.shared.common.interfaces import IBaseSharedTool, IManagerRestrictions, \
+ ISharedTool, IWfSharedContent
+from pyams_content.shared.common.interfaces.zmi import IDashboardSearchHeader, IDashboardTable, \
+ IDashboardTypeColumnValue, ISharedToolDashboardTable
from pyams_content.zmi import pyams_content
-from pyams_content.zmi.interfaces import IDashboardMenu, IMyDashboardMenu, IAllContentsMenu
+from pyams_content.zmi.interfaces import IAllContentsMenu, IDashboardMenu, IMyDashboardMenu
from pyams_i18n.interfaces import II18n
from pyams_pagelet.pagelet import pagelet_config
from pyams_security.interfaces import ISecurityManager
@@ -40,11 +38,11 @@
from pyams_skin.interfaces.container import ITableElementName
from pyams_skin.layer import IPyAMSLayer
from pyams_skin.page import DefaultPageHeaderAdapter
-from pyams_skin.table import BaseTable, I18nColumn, NameColumn, JsActionColumn
+from pyams_skin.table import BaseTable, I18nColumn, JsActionColumn, NameColumn
from pyams_skin.viewlet.menu import MenuItem
from pyams_template.template import template_config
-from pyams_utils.adapter import adapter_config, ContextRequestViewAdapter
-from pyams_utils.date import format_datetime, SH_DATETIME_FORMAT
+from pyams_utils.adapter import ContextRequestViewAdapter, adapter_config
+from pyams_utils.date import SH_DATETIME_FORMAT, format_datetime
from pyams_utils.fanstatic import get_resource_path
from pyams_utils.interfaces import VIEW_SYSTEM_PERMISSION
from pyams_utils.list import unique_iter
@@ -54,11 +52,15 @@
from pyams_utils.traversing import get_parent
from pyams_viewlet.manager import viewletmanager_config
from pyams_viewlet.viewlet import viewlet_config
-from pyams_workflow.interfaces import IWorkflowState, IWorkflow, IWorkflowVersions, IWorkflowPublicationInfo
+from pyams_workflow.interfaces import IWorkflow, IWorkflowPublicationInfo, IWorkflowState, \
+ IWorkflowVersions
from pyams_zmi.interfaces.menu import IContentManagementMenu
from pyams_zmi.layer import IAdminLayer
from pyams_zmi.view import InnerAdminView
+
+__docformat__ = 'restructuredtext'
+
from pyams_content import _
@@ -102,17 +104,21 @@
class SharedToolDashboardTypeColumn(I18nColumn, GetAttrColumn):
"""Shared tool dashboard type column"""
- _header = _("Type")
+ _header = _("Content type")
weight = 9
def getValue(self, obj):
- content = IWfTypedSharedContent(obj, None)
- if content is not None:
- data_type = content.get_data_type()
- if data_type is not None:
- return II18n(data_type).query_attribute('navigation_label', request=self.request) or \
- II18n(data_type).query_attribute('label', request=self.request)
- return '--'
+ value = self.request.registry.queryMultiAdapter((obj, self.request, self.table),
+ IDashboardTypeColumnValue)
+ return value or '--'
+
+
+@adapter_config(name='type', context=(ISharedTool, IPyAMSLayer, ISharedToolDashboardTable),
+ provides=IColumn)
+class SharedContentDashboardTypeColumn(SharedToolDashboardTypeColumn):
+ """Shared tool dashboard type column"""
+
+ _header = _("Type")
@adapter_config(name='name', context=(Interface, IPyAMSLayer, IDashboardTable), provides=IColumn)
@@ -122,7 +128,8 @@
_header = _("Title")
-@adapter_config(context=(IBaseSharedTool, IPyAMSLayer, IDashboardTable), provides=ITableElementName)
+@adapter_config(context=(IBaseSharedTool, IPyAMSLayer, IDashboardTable),
+ provides=ITableElementName)
class SharedToolDashboardNameAdapter(ContextRequestViewAdapter):
"""Shared tool dashboard name adapter"""
@@ -131,7 +138,8 @@
return II18n(self.context).query_attribute('title', request=self.request)
-@adapter_config(context=(IWfSharedContent, IPyAMSLayer, IDashboardTable), provides=ITableElementName)
+@adapter_config(context=(IWfSharedContent, IPyAMSLayer, IDashboardTable),
+ provides=ITableElementName)
class SharedToolDashboardContentNameAdapter(ContextRequestViewAdapter):
"""Shared tool dashboard content name adapter"""
@@ -140,7 +148,8 @@
return II18n(self.context).query_attribute('title', request=self.request)
-@adapter_config(name='sequence', context=(Interface, IPyAMSLayer, IDashboardTable), provides=IColumn)
+@adapter_config(name='sequence', context=(Interface, IPyAMSLayer, IDashboardTable),
+ provides=IColumn)
class SharedToolDashboardSequenceColumn(I18nColumn, GetAttrColumn):
"""Shared tool dashboard sequence ID column"""
@@ -160,7 +169,8 @@
return '--'
-@adapter_config(name='status', context=(Interface, IPyAMSLayer, IDashboardTable), provides=IColumn)
+@adapter_config(name='status', context=(Interface, IPyAMSLayer, IDashboardTable),
+ provides=IColumn)
class SharedToolDashboardStatusColumn(I18nColumn, GetAttrColumn):
"""Shared tool dashboard status column"""
@@ -187,7 +197,8 @@
return '--'
-@adapter_config(name='status_date', context=(Interface, IPyAMSLayer, IDashboardTable), provides=IColumn)
+@adapter_config(name='status_date', context=(Interface, IPyAMSLayer, IDashboardTable),
+ provides=IColumn)
class SharedToolDashboardStatusDateColumn(I18nColumn, GetAttrColumn):
"""Shared tool dashboard status date column"""
@@ -204,7 +215,8 @@
return '--'
-@adapter_config(name='version', context=(Interface, IPyAMSLayer, IDashboardTable), provides=IColumn)
+@adapter_config(name='version', context=(Interface, IPyAMSLayer, IDashboardTable),
+ provides=IColumn)
class SharedToolDashboardVersionColumn(I18nColumn, GetAttrColumn):
"""Shared tool dashboard version column"""
@@ -219,7 +231,8 @@
return '--'
-@adapter_config(name='status_principal', context=(Interface, IPyAMSLayer, IDashboardTable), provides=IColumn)
+@adapter_config(name='status_principal', context=(Interface, IPyAMSLayer, IDashboardTable),
+ provides=IColumn)
class SharedToolDashboardStatusPrincipalColumn(I18nColumn, GetAttrColumn):
"""Shared tool dashboard status principal column"""
@@ -237,7 +250,8 @@
return '--'
-@adapter_config(name='owner', context=(Interface, IPyAMSLayer, IDashboardTable), provides=IColumn)
+@adapter_config(name='owner', context=(Interface, IPyAMSLayer, IDashboardTable),
+ provides=IColumn)
class SharedToolDashboardOwnerColumn(I18nColumn, GetAttrColumn):
"""Shared tool dashboard owner column"""
@@ -259,7 +273,8 @@
return '--'
-@adapter_config(name='modified', context=(Interface, IPyAMSLayer, IDashboardTable), provides=IColumn)
+@adapter_config(name='modified', context=(Interface, IPyAMSLayer, IDashboardTable),
+ provides=IColumn)
class SharedToolDashboardModifiedColumn(I18nColumn, GetAttrColumn):
"""Shared tool dashboard modified column"""
@@ -291,7 +306,8 @@
url = '#dashboard.html'
-@pagelet_config(name='dashboard.html', context=IBaseSharedTool, layer=IPyAMSLayer, permission=VIEW_SYSTEM_PERMISSION)
+@pagelet_config(name='dashboard.html', context=IBaseSharedTool, layer=IPyAMSLayer,
+ permission=VIEW_SYSTEM_PERMISSION)
@template_config(template='templates/dashboard.pt', layer=IAdminLayer)
class SharedToolDashboardView(InnerAdminView):
"""Shared tool dashboard view"""
@@ -314,17 +330,20 @@
@property
def header_title(self):
registry = self.request.registry
- adapter = registry.queryMultiAdapter((self.context, self.request, self), IDashboardSearchHeader)
+ adapter = registry.queryMultiAdapter((self.context, self.request, self),
+ IDashboardSearchHeader)
if adapter is not None:
return adapter.title
else:
translate = self.request.localizer.translate
- return translate(_("SEARCH - Between all contents of type « {type} »")).format(
+ return translate(_("SEARCH - Between all contents of type "
+ "« {type} »")).format(
type=II18n(self.context).query_attribute('title', request=self.request)
)
-@adapter_config(context=(IBaseSharedTool, IPyAMSLayer, SharedToolDashboardView), provides=IPageHeader)
+@adapter_config(context=(IBaseSharedTool, IPyAMSLayer, SharedToolDashboardView),
+ provides=IPageHeader)
class SharedToolDashboardHeaderAdapter(DefaultPageHeaderAdapter):
"""Shared tool properties header adapter"""
@@ -346,7 +365,8 @@
_plural_title = _("MANAGER - {0} contents waiting for your action")
-@adapter_config(context=(IBaseSharedTool, IPyAMSLayer, SharedToolDashboardManagerWaitingTable), provides=IValues)
+@adapter_config(context=(IBaseSharedTool, IPyAMSLayer, SharedToolDashboardManagerWaitingTable),
+ provides=IValues)
class SharedToolDashboardManagerWaitingValues(ContextRequestViewAdapter):
"""Shared tool dashboard waiting values adapter"""
@@ -359,8 +379,9 @@
Any(catalog['content_type'], CONTENT_TYPES.keys()) & \
Any(catalog['workflow_state'], workflow.waiting_states)
yield from filter(self.check_access,
- unique_iter(map(lambda x: sorted(IWorkflowVersions(x).get_versions(IWorkflowState(x).state),
- key=lambda y: IZopeDublinCore(y).modified, reverse=True)[0],
+ unique_iter(map(lambda x: sorted(
+ IWorkflowVersions(x).get_versions(IWorkflowState(x).state),
+ key=lambda y: IZopeDublinCore(y).modified, reverse=True)[0],
CatalogResultSet(CatalogQuery(catalog).query(params,
sort_index='modified_date')))))
@@ -390,7 +411,8 @@
dt_sort_order = 'asc'
-@adapter_config(context=(IBaseSharedTool, IPyAMSLayer, SharedToolDashboardOwnerWaitingTable), provides=IValues)
+@adapter_config(context=(IBaseSharedTool, IPyAMSLayer, SharedToolDashboardOwnerWaitingTable),
+ provides=IValues)
class SharedToolDashboardOwnerWaitingValues(ContextRequestViewAdapter):
"""Shared tool dashboard waiting owned contents values adapter"""
@@ -403,10 +425,11 @@
Any(catalog['content_type'], CONTENT_TYPES.keys()) & \
Any(catalog['workflow_state'], workflow.waiting_states) & \
Eq(catalog['workflow_principal'], self.request.principal.id)
- yield from unique_iter(map(lambda x: sorted(IWorkflowVersions(x).get_versions(IWorkflowState(x).state),
- key=lambda y: IZopeDublinCore(y).modified, reverse=True)[0],
- CatalogResultSet(CatalogQuery(catalog).query(params,
- sort_index='modified_date'))))
+ yield from unique_iter(
+ map(lambda x: sorted(IWorkflowVersions(x).get_versions(IWorkflowState(x).state),
+ key=lambda y: IZopeDublinCore(y).modified, reverse=True)[0],
+ CatalogResultSet(CatalogQuery(catalog).query(params,
+ sort_index='modified_date'))))
#
@@ -427,7 +450,8 @@
return _("CONTRIBUTOR - Last {0} modified contents")
-@adapter_config(context=(IBaseSharedTool, IPyAMSLayer, SharedToolDashboardOwnerModifiedTable), provides=IValues)
+@adapter_config(context=(IBaseSharedTool, IPyAMSLayer, SharedToolDashboardOwnerModifiedTable),
+ provides=IValues)
class SharedToolDashboardOwnerModifiedValues(ContextRequestViewAdapter):
"""Shared tool dashboard waiting owned contents values adapter"""
@@ -439,12 +463,13 @@
Any(catalog['content_type'], CONTENT_TYPES.keys()),
Or(Eq(catalog['role:owner'], self.request.principal.id),
Eq(catalog['role:contributor'], self.request.principal.id)))
- yield from unique_iter(map(lambda x: sorted(IWorkflowVersions(x).get_versions(IWorkflowState(x).state),
- key=lambda y: IZopeDublinCore(y).modified, reverse=True)[0],
- CatalogResultSet(CatalogQuery(catalog).query(params,
- limit=50,
- sort_index='modified_date',
- reverse=True))))
+ yield from unique_iter(
+ map(lambda x: sorted(IWorkflowVersions(x).get_versions(IWorkflowState(x).state),
+ key=lambda y: IZopeDublinCore(y).modified, reverse=True)[0],
+ CatalogResultSet(CatalogQuery(catalog).query(params,
+ limit=50,
+ sort_index='modified_date',
+ reverse=True))))
#
@@ -540,14 +565,16 @@
reverse=True))))
-@pagelet_config(name='my-favorites.html', context=IBaseSharedTool, layer=IPyAMSLayer, permission=VIEW_SYSTEM_PERMISSION)
+@pagelet_config(name='my-favorites.html', context=IBaseSharedTool, layer=IPyAMSLayer,
+ permission=VIEW_SYSTEM_PERMISSION)
class SharedToolFavoritesView(InnerAdminView, ContainerView):
"""Shared tool favorites view"""
table_class = SharedToolFavoritesTable
-@adapter_config(context=(IBaseSharedTool, IPyAMSLayer, SharedToolFavoritesView), provides=IPageHeader)
+@adapter_config(context=(IBaseSharedTool, IPyAMSLayer, SharedToolFavoritesView),
+ provides=IPageHeader)
class SharedToolFavoritesHeaderAdapter(DefaultPageHeaderAdapter):
"""Shared tool favorites header adapter"""
@@ -584,7 +611,8 @@
_plural_title = _("CONTRIBUTOR - {0} contents in preparation")
-@adapter_config(context=(IBaseSharedTool, IPyAMSLayer, SharedToolPreparationsTable), provides=IValues)
+@adapter_config(context=(IBaseSharedTool, IPyAMSLayer, SharedToolPreparationsTable),
+ provides=IValues)
class SharedToolPreparationsValues(ContextRequestViewAdapter):
"""Shared tool preparations values adapter"""
@@ -611,7 +639,8 @@
table_class = SharedToolPreparationsTable
-@adapter_config(context=(IBaseSharedTool, IPyAMSLayer, SharedToolPreparationsView), provides=IPageHeader)
+@adapter_config(context=(IBaseSharedTool, IPyAMSLayer, SharedToolPreparationsView),
+ provides=IPageHeader)
class SharedToolPreparationsHeaderAdapter(DefaultPageHeaderAdapter):
"""Shared tool preparations header adapter"""
@@ -648,7 +677,8 @@
_plural_title = _("CONTRIBUTOR - {0} submitted contents")
-@adapter_config(context=(IBaseSharedTool, IPyAMSLayer, SharedToolSubmissionsTable), provides=IValues)
+@adapter_config(context=(IBaseSharedTool, IPyAMSLayer, SharedToolSubmissionsTable),
+ provides=IValues)
class SharedToolSubmissionsValues(ContextRequestViewAdapter):
"""Shared tool submissions values adapter"""
@@ -675,7 +705,8 @@
table_class = SharedToolSubmissionsTable
-@adapter_config(context=(IBaseSharedTool, IPyAMSLayer, SharedToolSubmissionsView), provides=IPageHeader)
+@adapter_config(context=(IBaseSharedTool, IPyAMSLayer, SharedToolSubmissionsView),
+ provides=IPageHeader)
class SharedToolSubmissionsHeaderAdapter(DefaultPageHeaderAdapter):
"""Shared tool submissions header adapter"""
@@ -712,7 +743,8 @@
_plural_title = _("CONTRIBUTOR - {0} published contents")
-@adapter_config(context=(IBaseSharedTool, IPyAMSLayer, SharedToolPublicationsTable), provides=IValues)
+@adapter_config(context=(IBaseSharedTool, IPyAMSLayer, SharedToolPublicationsTable),
+ provides=IValues)
class SharedToolPublicationsValues(ContextRequestViewAdapter):
"""Shared tool publications values adapter"""
@@ -739,7 +771,8 @@
table_class = SharedToolPublicationsTable
-@adapter_config(context=(IBaseSharedTool, IPyAMSLayer, SharedToolPublicationsView), provides=IPageHeader)
+@adapter_config(context=(IBaseSharedTool, IPyAMSLayer, SharedToolPublicationsView),
+ provides=IPageHeader)
class SharedToolPublicationsHeaderAdapter(DefaultPageHeaderAdapter):
"""Shared tool publications header adapter"""
@@ -776,7 +809,8 @@
_plural_title = _("CONTRIBUTOR - {0} retired contents")
-@adapter_config(context=(IBaseSharedTool, IPyAMSLayer, SharedToolRetiredContentsTable), provides=IValues)
+@adapter_config(context=(IBaseSharedTool, IPyAMSLayer, SharedToolRetiredContentsTable),
+ provides=IValues)
class SharedToolRetiredContentsValues(ContextRequestViewAdapter):
"""Shared tool retired contents values adapter"""
@@ -803,7 +837,8 @@
table_class = SharedToolRetiredContentsTable
-@adapter_config(context=(IBaseSharedTool, IPyAMSLayer, SharedToolRetiredContentsView), provides=IPageHeader)
+@adapter_config(context=(IBaseSharedTool, IPyAMSLayer, SharedToolRetiredContentsView),
+ provides=IPageHeader)
class SharedToolRetiredContentsHeaderAdapter(DefaultPageHeaderAdapter):
"""Shared tool retired contents header adapter"""
@@ -840,7 +875,8 @@
_plural_title = _("CONTRIBUTOR - {0} archived contents")
-@adapter_config(context=(IBaseSharedTool, IPyAMSLayer, SharedToolArchivedContentsTable), provides=IValues)
+@adapter_config(context=(IBaseSharedTool, IPyAMSLayer, SharedToolArchivedContentsTable),
+ provides=IValues)
class SharedToolArchivedContentsValues(ContextRequestViewAdapter):
"""Shared tool archived contents values adapter"""
@@ -873,7 +909,8 @@
table_class = SharedToolArchivedContentsTable
-@adapter_config(context=(IBaseSharedTool, IPyAMSLayer, SharedToolArchivedContentsView), provides=IPageHeader)
+@adapter_config(context=(IBaseSharedTool, IPyAMSLayer, SharedToolArchivedContentsView),
+ provides=IPageHeader)
class SharedToolArchivedContentsHeaderAdapter(DefaultPageHeaderAdapter):
"""Shared tool archived contents header adapter"""
@@ -932,7 +969,8 @@
return _("CONTRIBUTORS - Last published contents (in the limit of 50)")
-@adapter_config(context=(IBaseSharedTool, IPyAMSLayer, SharedToolAllPublicationsTable), provides=IValues)
+@adapter_config(context=(IBaseSharedTool, IPyAMSLayer, SharedToolAllPublicationsTable),
+ provides=IValues)
class SharedToolAllPublicationsValues(ContextRequestViewAdapter):
"""Shared tool published contents values adapter"""
@@ -958,7 +996,8 @@
table_class = SharedToolAllPublicationsTable
-@adapter_config(context=(IBaseSharedTool, IPyAMSLayer, SharedToolAllPublicationsView), provides=IPageHeader)
+@adapter_config(context=(IBaseSharedTool, IPyAMSLayer, SharedToolAllPublicationsView),
+ provides=IPageHeader)
class SharedToolAllPublicationsHeaderAdapter(DefaultPageHeaderAdapter):
"""Shared tool published contents header adapter"""
@@ -1001,7 +1040,8 @@
return _("CONTRIBUTORS - Last updated contents (in the limit of 50)")
-@adapter_config(context=(IBaseSharedTool, IPyAMSLayer, SharedToolAllUpdatesTable), provides=IValues)
+@adapter_config(context=(IBaseSharedTool, IPyAMSLayer, SharedToolAllUpdatesTable),
+ provides=IValues)
class SharedToolAllUpdatesValues(ContextRequestViewAdapter):
"""Shared tool updated contents values adapter"""
@@ -1025,7 +1065,8 @@
table_class = SharedToolAllUpdatesTable
-@adapter_config(context=(IBaseSharedTool, IPyAMSLayer, SharedToolAllUpdatesView), provides=IPageHeader)
+@adapter_config(context=(IBaseSharedTool, IPyAMSLayer, SharedToolAllUpdatesView),
+ provides=IPageHeader)
class SharedToolAllUpdatesHeaderAdapter(DefaultPageHeaderAdapter):
"""Shared tool updated contents header adapter"""
--- a/src/pyams_content/shared/site/zmi/folder.py Wed Jul 01 14:10:50 2020 +0200
+++ b/src/pyams_content/shared/site/zmi/folder.py Wed Jul 01 18:05:38 2020 +0200
@@ -21,7 +21,9 @@
from zope.schema import Int, Text
from pyams_content.interfaces import MANAGE_SITE_PERMISSION, MANAGE_TOOL_PERMISSION
+from pyams_content.shared.common import IDashboardTypeColumnValue
from pyams_content.shared.common.interfaces import IBaseSharedTool
+from pyams_content.shared.common.interfaces.zmi import IDashboardTable
from pyams_content.shared.common.zmi.manager import SharedToolPropertiesEditForm
from pyams_content.shared.site.interfaces import ISiteContainer, ISiteFolder, ISiteManager
from pyams_content.shared.site.zmi.widget import SiteManagerFoldersSelectorFieldWidget
@@ -160,6 +162,13 @@
# Site folder edit form
#
+@adapter_config(context=(ISiteFolder, IPyAMSLayer, IDashboardTable),
+ provides=IDashboardTypeColumnValue)
+def site_folder_dashboard_type(context, request, view):
+ """Site folder dashboard type column adapter"""
+ return request.localizer.translate(context.content_name)
+
+
@adapter_config(context=(ISiteFolder, IPyAMSLayer), provides=ITableElementName)
class SiteFolderTableElementNameAdapter(ContextRequestAdapter):
"""Site folder table element name adapter"""
--- a/src/pyams_content/shared/site/zmi/manager.py Wed Jul 01 14:10:50 2020 +0200
+++ b/src/pyams_content/shared/site/zmi/manager.py Wed Jul 01 18:05:38 2020 +0200
@@ -10,18 +10,16 @@
# FOR A PARTICULAR PURPOSE.
#
-__docformat__ = 'restructuredtext'
-
from pyramid.events import subscriber
from pyramid.path import DottedNameResolver
from z3c.form import field
from z3c.form.interfaces import IDataExtractedEvent
from zope.interface import Interface, Invalid
-from pyams_content import _
from pyams_content.interfaces import MANAGE_SITE_ROOT_PERMISSION, MANAGE_TOOL_PERMISSION
from pyams_content.root.interfaces import ISiteRoot
-from pyams_content.shared.common import IBaseSharedTool
+from pyams_content.shared.common import IBaseSharedTool, IDashboardTypeColumnValue
+from pyams_content.shared.common.interfaces.zmi import IDashboardTable
from pyams_content.shared.common.zmi.manager import SharedToolPropertiesEditForm
from pyams_content.shared.site import WfSiteTopic
from pyams_content.shared.site.interfaces import ISiteManager, ISiteManagerFactory
@@ -46,6 +44,18 @@
from pyams_zmi.layer import IAdminLayer
+__docformat__ = 'restructuredtext'
+
+from pyams_content import _
+
+
+@adapter_config(context=(ISiteManager, IPyAMSLayer, IDashboardTable),
+ provides=IDashboardTypeColumnValue)
+def site_manager_dashboard_type(context, request, view):
+ """Site manager dashboard type column adapter"""
+ return request.localizer.translate(context.content_name)
+
+
@adapter_config(context=(ISiteManager, ISiteManagementMenu), provides=IMenuHeader)
class SiteManagerSiteManagementMenuHeader(ContextRequestAdapter):
"""Site manager site management menu header adapter"""
@@ -81,7 +91,8 @@
modal_target = False
-@adapter_config(context=(ISiteManager, IAdminLayer, ISiteTreeTable), provides=ITableElementEditor)
+@adapter_config(context=(ISiteManager, IAdminLayer, ISiteTreeTable),
+ provides=ITableElementEditor)
class SiteManagerTableElementEditor(DefaultElementEditorAdapter):
"""Site tree table element editor"""
@@ -101,7 +112,8 @@
@viewlet_config(name='add-site-manager.menu', context=ISiteRoot, layer=IAdminLayer,
- view=ISiteTreeTable, manager=IToolbarAddingMenu, permission=MANAGE_SITE_ROOT_PERMISSION)
+ view=ISiteTreeTable, manager=IToolbarAddingMenu,
+ permission=MANAGE_SITE_ROOT_PERMISSION)
class SiteManagerAddMenu(ToolbarMenuItem):
"""Site manager add menu"""
@@ -142,7 +154,8 @@
return absolute_url(self.context, self.request, 'site-tree.html')
-@pagelet_config(name='properties.html', context=ISiteManager, layer=IPyAMSLayer, permission=MANAGE_TOOL_PERMISSION)
+@pagelet_config(name='properties.html', context=ISiteManager, layer=IPyAMSLayer,
+ permission=MANAGE_TOOL_PERMISSION)
@ajax_config(name='properties.json', context=ISiteManager, layer=IPyAMSLayer)
class SiteManagerPropertiesEditForm(SharedToolPropertiesEditForm):
"""Site manager properties edit form"""
@@ -160,7 +173,8 @@
negotiator = query_utility(INegotiator)
short_name = event.data.get('short_name', {}).get(negotiator.server_language)
if not short_name:
- event.form.widgets.errors += (Invalid(_("You must provide a short name for default server language!")),)
+ event.form.widgets.errors += (Invalid(_("You must provide a short name for default "
+ "server language!")),)
return
name = translate_string(short_name, force_lower=True, spaces='-')
if name in container:
@@ -168,4 +182,5 @@
return
site = query_utility(ISiteManager, name=short_name)
if site is not None:
- event.form.widgets.errors += (Invalid(_("A site manager is already registered with this name!!")),)
+ event.form.widgets.errors += (Invalid(_("A site manager is already registered with "
+ "this name!!")),)