src/pyams_content/shared/common/zmi/search.py
changeset 308 adc7fa946d13
parent 277 9649f8ce3b1c
child 334 6b2f75e60076
equal deleted inserted replaced
307:01af83bd6054 308:adc7fa946d13
    18 # import interfaces
    18 # import interfaces
    19 from hypatia.interfaces import ICatalog
    19 from hypatia.interfaces import ICatalog
    20 from pyams_content.profile.interfaces import IAdminProfile
    20 from pyams_content.profile.interfaces import IAdminProfile
    21 from pyams_content.shared.common.interfaces import IBaseSharedTool
    21 from pyams_content.shared.common.interfaces import IBaseSharedTool
    22 from pyams_content.shared.common.interfaces.zmi import ISharedToolDashboardTable
    22 from pyams_content.shared.common.interfaces.zmi import ISharedToolDashboardTable
       
    23 from pyams_content.zmi.interfaces import IAllContentsMenu
    23 from pyams_i18n.interfaces import INegotiator
    24 from pyams_i18n.interfaces import INegotiator
    24 from pyams_pagelet.interfaces import PageletCreatedEvent
    25 from pyams_pagelet.interfaces import PageletCreatedEvent
    25 from pyams_sequence.interfaces import ISequentialIntIds
    26 from pyams_sequence.interfaces import ISequentialIntIds
    26 from pyams_skin.interfaces import IPageHeader, IContentSearch, IInnerPage
    27 from pyams_skin.interfaces import IPageHeader, IContentSearch, IInnerPage
    27 from pyams_skin.layer import IPyAMSLayer
    28 from pyams_skin.layer import IPyAMSLayer
    28 from pyams_utils.interfaces import VIEW_SYSTEM_PERMISSION
    29 from pyams_utils.interfaces import VIEW_SYSTEM_PERMISSION
    29 from pyams_workflow.interfaces import IWorkflowVersions, IWorkflow
    30 from pyams_workflow.interfaces import IWorkflowVersions, IWorkflow
       
    31 from pyams_zmi.layer import IAdminLayer
    30 from z3c.table.interfaces import IValues
    32 from z3c.table.interfaces import IValues
    31 from zope.dublincore.interfaces import IZopeDublinCore
    33 from zope.dublincore.interfaces import IZopeDublinCore
    32 from zope.intid.interfaces import IIntIds
    34 from zope.intid.interfaces import IIntIds
    33 
    35 
    34 # import packages
    36 # import packages
    41 from pyams_pagelet.pagelet import pagelet_config
    43 from pyams_pagelet.pagelet import pagelet_config
    42 from pyams_security.schema import Principal
    44 from pyams_security.schema import Principal
    43 from pyams_skin.page import DefaultPageHeaderAdapter
    45 from pyams_skin.page import DefaultPageHeaderAdapter
    44 from pyams_skin.skin import apply_skin
    46 from pyams_skin.skin import apply_skin
    45 from pyams_skin.table import BaseTable
    47 from pyams_skin.table import BaseTable
       
    48 from pyams_skin.viewlet.menu import MenuItem
    46 from pyams_template.template import template_config
    49 from pyams_template.template import template_config
    47 from pyams_utils.adapter import adapter_config, ContextRequestViewAdapter
    50 from pyams_utils.adapter import adapter_config, ContextRequestViewAdapter
    48 from pyams_utils.list import unique
    51 from pyams_utils.list import unique
    49 from pyams_utils.registry import get_utility
    52 from pyams_utils.registry import get_utility
    50 from pyams_utils.url import absolute_url
    53 from pyams_utils.url import absolute_url
       
    54 from pyams_viewlet.viewlet import viewlet_config
    51 from pyams_zmi.view import AdminView
    55 from pyams_zmi.view import AdminView
    52 from pyramid.view import view_config
    56 from pyramid.view import view_config
    53 from z3c.form import field
    57 from z3c.form import field
    54 from zope.interface import implementer
    58 from zope.interface import implementer
    55 from zope.schema import Datetime, Choice
    59 from zope.schema import Datetime, Choice
   125                                                                        sort_index='modified_date',
   129                                                                        sort_index='modified_date',
   126                                                                        reverse=True))))
   130                                                                        reverse=True))))
   127 
   131 
   128 
   132 
   129 #
   133 #
   130 # Advanced search adapters
   134 # Advanced search views
   131 #
   135 #
       
   136 
       
   137 @viewlet_config(name='advanced-search.menu', context=IBaseSharedTool, layer=IAdminLayer,
       
   138                 manager=IAllContentsMenu, permission=VIEW_SYSTEM_PERMISSION, weight=90)
       
   139 class SharedToolAdvancedSearchMenu(MenuItem):
       
   140     """Shared tool advanced search menu"""
       
   141 
       
   142     label = _("Advanced search")
       
   143     icon_class = None
       
   144     url = '#advanced-search.html'
       
   145 
   132 
   146 
   133 class ISharedToolAdvancedSearchFields(ISearchFields):
   147 class ISharedToolAdvancedSearchFields(ISearchFields):
   134     """Shared tool advanced search fields"""
   148     """Shared tool advanced search fields"""
   135 
   149 
   136     owner = Principal(title=_("Owner"),
   150     owner = Principal(title=_("Owner"),