25 from zope.traversing.interfaces import ITraversable |
25 from zope.traversing.interfaces import ITraversable |
26 |
26 |
27 # import packages |
27 # import packages |
28 from persistent import Persistent |
28 from persistent import Persistent |
29 from pyams_utils.adapter import adapter_config, ContextAdapter |
29 from pyams_utils.adapter import adapter_config, ContextAdapter |
30 from pyams_utils.registry import utility_config |
30 from pyams_utils.registry import utility_config, get_global_registry |
31 from pyams_utils.request import check_request |
31 from pyams_utils.request import check_request |
32 from pyams_utils.schema import MailAddressField |
32 from pyams_utils.schema import MailAddressField |
33 from pyams_utils.vocabulary import vocabulary_config |
33 from pyams_utils.vocabulary import vocabulary_config |
34 from pyramid.threadlocal import get_current_registry |
34 from pyramid.threadlocal import get_current_registry |
35 from zope.component.globalregistry import getGlobalSiteManager |
|
36 from zope.container.contained import Contained |
35 from zope.container.contained import Contained |
37 from zope.container.ordered import OrderedContainer |
36 from zope.container.ordered import OrderedContainer |
38 from zope.interface import implementer |
37 from zope.interface import implementer |
39 from zope.lifecycleevent import ObjectCreatedEvent |
38 from zope.lifecycleevent import ObjectCreatedEvent |
40 from zope.location import locate |
39 from zope.location import locate |
63 @implementer(IFormFieldContainer) |
62 @implementer(IFormFieldContainer) |
64 class FormFieldContainer(OrderedContainer): |
63 class FormFieldContainer(OrderedContainer): |
65 """Form fields container persistent class""" |
64 """Form fields container persistent class""" |
66 |
65 |
67 def get_fields(self): |
66 def get_fields(self): |
68 registry = getGlobalSiteManager() |
67 registry = get_global_registry() |
69 fields = [] |
68 fields = [] |
70 for field in self.values(): |
69 for field in self.values(): |
71 if field.visible: |
70 if field.visible: |
72 factory = registry.queryUtility(IFormFieldFactory, name=field.field_type) |
71 factory = registry.queryUtility(IFormFieldFactory, name=field.field_type) |
73 if factory is not None: |
72 if factory is not None: |