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""" |