src/pyams_content/features/search/zmi/properties.py
changeset 1187 b55bdf60c6cd
parent 1061 d1db251eeea3
child 1447 53f02f01df65
equal deleted inserted replaced
1186:1cefd3e1ba43 1187:b55bdf60c6cd
    12 
    12 
    13 __docformat__ = 'restructuredtext'
    13 __docformat__ = 'restructuredtext'
    14 
    14 
    15 from z3c.form import field
    15 from z3c.form import field
    16 
    16 
       
    17 from pyams_content import _
    17 from pyams_content.features.search import ISearchFolder
    18 from pyams_content.features.search import ISearchFolder
       
    19 from pyams_content.interfaces import MANAGE_CONTENT_PERMISSION
    18 from pyams_content.shared.common.zmi.properties import SharedContentPropertiesEditForm
    20 from pyams_content.shared.common.zmi.properties import SharedContentPropertiesEditForm
    19 from pyams_content.shared.view.zmi.properties import ViewPropertiesEditForm
    21 from pyams_content.shared.view.zmi.properties import ViewPropertiesEditForm
       
    22 from pyams_form.form import ajax_config
    20 from pyams_form.group import NamedWidgetsGroup
    23 from pyams_form.group import NamedWidgetsGroup
    21 from pyams_form.interfaces.form import IInnerSubForm
    24 from pyams_form.interfaces.form import IInnerSubForm
    22 from pyams_form.widget import HiddenSelect2FieldWidget
    25 from pyams_form.widget import HiddenSelect2FieldWidget
       
    26 from pyams_pagelet.pagelet import pagelet_config
    23 from pyams_skin.layer import IPyAMSLayer
    27 from pyams_skin.layer import IPyAMSLayer
    24 from pyams_utils.adapter import adapter_config
    28 from pyams_utils.adapter import adapter_config
       
    29 from pyams_utils.interfaces import VIEW_SYSTEM_PERMISSION
    25 from pyams_zmi.form import InnerAdminEditForm
    30 from pyams_zmi.form import InnerAdminEditForm
    26 
    31 
    27 from pyams_content import _
    32 
       
    33 @pagelet_config(name='properties.html', context=ISearchFolder, layer=IPyAMSLayer,
       
    34                 permission=VIEW_SYSTEM_PERMISSION)
       
    35 @ajax_config(name='properties.json', context=ISearchFolder, layer=IPyAMSLayer,
       
    36              permission=MANAGE_CONTENT_PERMISSION)
       
    37 class SearchFolderPropertiesEditForm(SharedContentPropertiesEditForm):
       
    38     """Search folder properties edit form"""
       
    39 
       
    40     def updateWidgets(self, prefix=None):
       
    41         # don't override base widgets update method
       
    42         super(SharedContentPropertiesEditForm, self).updateWidgets(prefix)
    28 
    43 
    29 
    44 
    30 @adapter_config(name='view-settings',
    45 @adapter_config(name='view-settings',
    31                 context=(ISearchFolder, IPyAMSLayer, SharedContentPropertiesEditForm),
    46                 context=(ISearchFolder, IPyAMSLayer, SharedContentPropertiesEditForm),
    32                 provides=IInnerSubForm)
    47                 provides=IInnerSubForm)
    33 class SearchFolderPropertiesEditForm(ViewPropertiesEditForm):
    48 class SearchFolderSettingsEditSubform(ViewPropertiesEditForm):
    34     """Search folder properties edit form extension"""
    49     """Search folder settings edit sub-form extension"""
    35 
    50 
    36     legend = _("Main search settings")
    51     legend = _("Main search settings")
    37 
    52 
    38     fields = field.Fields(ISearchFolder).select('selected_content_types', 'selected_datatypes',
    53     fields = field.Fields(ISearchFolder).select('selected_content_types', 'selected_datatypes',
    39                                                 'order_by', 'reversed_order', 'limit')
    54                                                 'order_by', 'reversed_order', 'limit')