src/pyams_content/shared/form/__init__.py
changeset 618 3c48622a2937
parent 501 3407e6940f6a
child 621 a75b1fc09fde
equal deleted inserted replaced
617:2e4dbe6fa156 618:3c48622a2937
    19 from pyams_content.features.checker.interfaces import IContentChecker, ERROR_VALUE
    19 from pyams_content.features.checker.interfaces import IContentChecker, ERROR_VALUE
    20 from pyams_content.features.preview.interfaces import IPreviewTarget
    20 from pyams_content.features.preview.interfaces import IPreviewTarget
    21 from pyams_content.features.review.interfaces import IReviewTarget
    21 from pyams_content.features.review.interfaces import IReviewTarget
    22 from pyams_content.shared.form.interfaces import IWfForm, IForm, FORM_CONTENT_TYPE, FORM_CONTENT_NAME, \
    22 from pyams_content.shared.form.interfaces import IWfForm, IForm, FORM_CONTENT_TYPE, FORM_CONTENT_NAME, \
    23     IFormFieldContainerTarget, IFormHandler, IFormFieldContainer, IWfFormFactory
    23     IFormFieldContainerTarget, IFormHandler, IFormFieldContainer, IWfFormFactory
       
    24 from pyams_portal.interfaces import IPortalPage, PORTAL_PAGE_KEY, IPortalContext
    24 
    25 
    25 # import packages
    26 # import packages
    26 from pyams_content.shared.common import WfSharedContent, SharedContent, register_content_type, WfSharedContentChecker, \
    27 from pyams_content.shared.common import WfSharedContent, SharedContent, register_content_type, WfSharedContentChecker, \
    27     IWfSharedContentFactory
    28     IWfSharedContentFactory
    28 from pyams_utils.adapter import adapter_config
    29 from pyams_content.shared.common.portal import SharedContentPortalPage
       
    30 from pyams_utils.adapter import adapter_config, get_annotation_adapter
    29 from pyams_utils.registry import get_global_registry
    31 from pyams_utils.registry import get_global_registry
    30 from zope.interface import implementer, provider, alsoProvides, noLongerProvides
    32 from zope.interface import implementer, provider, alsoProvides, noLongerProvides
    31 from zope.schema.fieldproperty import FieldProperty
    33 from zope.schema.fieldproperty import FieldProperty
    32 
    34 
    33 from pyams_content import _
    35 from pyams_content import _
    34 
    36 
    35 
    37 
    36 @implementer(IWfForm, IFormFieldContainerTarget,
    38 @implementer(IWfForm, IFormFieldContainerTarget,
    37              IPreviewTarget, IReviewTarget)
    39              IPortalContext, IPreviewTarget, IReviewTarget)
    38 class WfForm(WfSharedContent):
    40 class WfForm(WfSharedContent):
    39     """Base form"""
    41     """Base form"""
    40 
    42 
    41     content_type = FORM_CONTENT_TYPE
    43     content_type = FORM_CONTENT_TYPE
    42     content_name = FORM_CONTENT_NAME
    44     content_name = FORM_CONTENT_NAME
    86 @adapter_config(context=IWfFormFactory, provides=IWfSharedContentFactory)
    88 @adapter_config(context=IWfFormFactory, provides=IWfSharedContentFactory)
    87 def form_content_factory(context):
    89 def form_content_factory(context):
    88     return WfForm
    90     return WfForm
    89 
    91 
    90 
    92 
       
    93 @adapter_config(context=IWfForm, provides=IPortalPage)
       
    94 def form_portal_page_adapter(context):
       
    95     """Form portal page adapter"""
       
    96     return get_annotation_adapter(context, PORTAL_PAGE_KEY, SharedContentPortalPage)
       
    97 
       
    98 
    91 @adapter_config(name='properties', context=IWfForm, provides=IContentChecker)
    99 @adapter_config(name='properties', context=IWfForm, provides=IContentChecker)
    92 class WfFormContentChecker(WfSharedContentChecker):
   100 class WfFormContentChecker(WfSharedContentChecker):
    93     """Form content checker"""
   101     """Form content checker"""
    94 
   102 
    95     def inner_check(self, request):
   103     def inner_check(self, request):