src/pyams_content/shared/form/__init__.py
changeset 492 04503227569d
parent 390 beac02490657
child 501 3407e6940f6a
equal deleted inserted replaced
491:828f9c9303cf 492:04503227569d
    18 # import interfaces
    18 # import interfaces
    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
    23     IFormFieldContainerTarget, IFormHandler, IFormFieldContainer, IWfFormFactory
    24 
    24 
    25 # import packages
    25 # import packages
    26 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, \
       
    27     IWfSharedContentFactory
    27 from pyams_utils.adapter import adapter_config
    28 from pyams_utils.adapter import adapter_config
    28 from pyams_utils.registry import get_global_registry
    29 from pyams_utils.registry import get_global_registry
    29 from zope.interface import implementer, alsoProvides, noLongerProvides
    30 from zope.interface import implementer, provider, alsoProvides, noLongerProvides
    30 from zope.schema.fieldproperty import FieldProperty
    31 from zope.schema.fieldproperty import FieldProperty
    31 
    32 
    32 from pyams_content import _
    33 from pyams_content import _
    33 
    34 
    34 
    35 
    74             return registry.queryUtility(IFormHandler, name=handler)
    75             return registry.queryUtility(IFormHandler, name=handler)
    75 
    76 
    76 register_content_type(WfForm)
    77 register_content_type(WfForm)
    77 
    78 
    78 
    79 
       
    80 @provider(IWfFormFactory)
    79 @implementer(IForm)
    81 @implementer(IForm)
    80 class Form(SharedContent):
    82 class Form(SharedContent):
    81     """Workflow managed form class"""
    83     """Workflow managed form class"""
    82 
    84 
    83     content_class = WfForm
    85 
       
    86 @adapter_config(context=IWfFormFactory, provides=IWfSharedContentFactory)
       
    87 def FormContentFactory(context):
       
    88     return WfForm
    84 
    89 
    85 
    90 
    86 @adapter_config(name='properties', context=IWfForm, provides=IContentChecker)
    91 @adapter_config(name='properties', context=IWfForm, provides=IContentChecker)
    87 class WfFormContentChecker(WfSharedContentChecker):
    92 class WfFormContentChecker(WfSharedContentChecker):
    88     """Form content checker"""
    93     """Form content checker"""