src/pyams_content/shared/form/__init__.py
changeset 621 a75b1fc09fde
parent 618 3c48622a2937
child 919 45ff6cd59fe0
equal deleted inserted replaced
620:7de4aaf90bff 621:a75b1fc09fde
    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
       
    25 
    24 
    26 # import packages
    25 # import packages
    27 from pyams_content.shared.common import WfSharedContent, SharedContent, register_content_type, WfSharedContentChecker, \
    26 from pyams_content.shared.common import WfSharedContent, SharedContent, register_content_type, WfSharedContentChecker, \
    28     IWfSharedContentFactory
    27     IWfSharedContentFactory
    29 from pyams_content.shared.common.portal import SharedContentPortalPage
    28 from pyams_utils.adapter import adapter_config
    30 from pyams_utils.adapter import adapter_config, get_annotation_adapter
       
    31 from pyams_utils.registry import get_global_registry
    29 from pyams_utils.registry import get_global_registry
    32 from zope.interface import implementer, provider, alsoProvides, noLongerProvides
    30 from zope.interface import implementer, provider, alsoProvides, noLongerProvides
    33 from zope.schema.fieldproperty import FieldProperty
    31 from zope.schema.fieldproperty import FieldProperty
    34 
    32 
    35 from pyams_content import _
    33 from pyams_content import _
    36 
    34 
    37 
    35 
    38 @implementer(IWfForm, IFormFieldContainerTarget,
    36 @implementer(IWfForm, IFormFieldContainerTarget,
    39              IPortalContext, IPreviewTarget, IReviewTarget)
    37              IPreviewTarget, IReviewTarget)
    40 class WfForm(WfSharedContent):
    38 class WfForm(WfSharedContent):
    41     """Base form"""
    39     """Base form"""
    42 
    40 
    43     content_type = FORM_CONTENT_TYPE
    41     content_type = FORM_CONTENT_TYPE
    44     content_name = FORM_CONTENT_NAME
    42     content_name = FORM_CONTENT_NAME
    88 @adapter_config(context=IWfFormFactory, provides=IWfSharedContentFactory)
    86 @adapter_config(context=IWfFormFactory, provides=IWfSharedContentFactory)
    89 def form_content_factory(context):
    87 def form_content_factory(context):
    90     return WfForm
    88     return WfForm
    91 
    89 
    92 
    90 
    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 
       
    99 @adapter_config(name='properties', context=IWfForm, provides=IContentChecker)
    91 @adapter_config(name='properties', context=IWfForm, provides=IContentChecker)
   100 class WfFormContentChecker(WfSharedContentChecker):
    92 class WfFormContentChecker(WfSharedContentChecker):
   101     """Form content checker"""
    93     """Form content checker"""
   102 
    94 
   103     def inner_check(self, request):
    95     def inner_check(self, request):