src/pyams_thesaurus/zmi/thesaurus.py
changeset 24 e1a86d99c7d4
parent 22 9f1ca1ad2a12
child 29 01a2ab1f4bd8
--- a/src/pyams_thesaurus/zmi/thesaurus.py	Tue Nov 15 10:41:35 2016 +0100
+++ b/src/pyams_thesaurus/zmi/thesaurus.py	Tue Nov 15 10:42:18 2016 +0100
@@ -30,7 +30,6 @@
 from pyams_thesaurus.zmi.interfaces import IThesaurusTermsMenu, IThesaurusView
 from pyams_utils.interfaces import VIEW_PERMISSION, VIEW_SYSTEM_PERMISSION, MANAGE_SYSTEM_PERMISSION
 from pyams_utils.interfaces.tree import INode, ITree
-from pyams_zmi.interfaces import IAdminView
 from pyams_zmi.interfaces.menu import ISiteManagementMenu, IPropertiesMenu
 from pyams_zmi.layer import IAdminLayer
 from z3c.form.interfaces import IDataExtractedEvent, DISPLAY_MODE
@@ -40,7 +39,7 @@
 from pyams_form.schema import CloseButton
 from pyams_pagelet.pagelet import pagelet_config
 from pyams_skin.layer import IPyAMSLayer
-from pyams_skin.page import InnerPage, DefaultPageHeaderAdapter
+from pyams_skin.page import DefaultPageHeaderAdapter
 from pyams_skin.table import DefaultElementEditorAdapter
 from pyams_skin.viewlet.menu import MenuItem
 from pyams_skin.viewlet.toolbar import ToolbarMenuItem
@@ -57,6 +56,7 @@
 from pyams_viewlet.viewlet import viewlet_config
 from pyams_zmi.control_panel import UtilitiesTable
 from pyams_zmi.form import AdminDialogAddForm, AdminEditForm
+from pyams_zmi.view import InnerAdminView
 from pyramid.events import subscriber
 from pyramid.exceptions import NotFound
 from pyramid.httpexceptions import HTTPBadRequest
@@ -106,7 +106,8 @@
 
     def updateWidgets(self, prefix=None):
         super(ThesaurusAddForm, self).updateWidgets(prefix)
-        self.widgets['description'].label_css_class = 'input textarea'
+        if 'description' in self.widgets:
+            self.widgets['description'].widget_css_class = 'input textarea'
 
     def create(self, data):
         return Thesaurus()
@@ -205,8 +206,10 @@
 
     def updateWidgets(self, prefix=None):
         super(ThesaurusPropertiesEditForm, self).updateWidgets(prefix)
-        self.widgets['name'].mode = DISPLAY_MODE
-        self.widgets['description'].label_css_class = 'input textarea'
+        if 'name' in self.widgets:
+            self.widgets['name'].mode = DISPLAY_MODE
+        if 'description' in self.widgets:
+            self.widgets['description'].widget_css_class = 'input textarea'
 
 
 @view_config(name='properties.json', context=IThesaurus, request_type=IPyAMSLayer,
@@ -233,8 +236,8 @@
 
 @pagelet_config(name='terms.html', context=IThesaurus, layer=IPyAMSLayer, permission=VIEW_SYSTEM_PERMISSION)
 @template_config(template='templates/terms-tree.pt', layer=IPyAMSLayer)
-@implementer(IAdminView, IThesaurusView)
-class ThesaurusTermsView(InnerPage):
+@implementer(IThesaurusView)
+class ThesaurusTermsView(InnerAdminView):
     """Thesaurus terms view"""
 
     def __init__(self, context, request):