--- a/src/pyams_content/reference/pictograms/manager.py Fri May 25 08:05:13 2018 +0200
+++ b/src/pyams_content/reference/pictograms/manager.py Fri May 25 15:48:59 2018 +0200
@@ -20,18 +20,15 @@
from pyams_i18n.interfaces import II18n
from pyams_content.reference.pictograms.interfaces import IPictogramTable, IPictogramManager, IPictogramManagerTarget, \
PICTOGRAM_MANAGER_KEY, SELECTED_PICTOGRAM_VOCABULARY
-from zope.annotation import IAnnotations
# import packages
-from pyams_utils.adapter import adapter_config
-from pyams_utils.registry import get_current_registry, query_utility
+from pyams_utils.adapter import adapter_config, get_annotation_adapter
+from pyams_utils.registry import query_utility
from pyams_utils.request import check_request
from pyams_utils.traversing import get_parent
from pyams_utils.vocabulary import vocabulary_config
from zope.container.contained import Contained
from zope.interface import implementer
-from zope.lifecycleevent import ObjectCreatedEvent
-from zope.location import locate
from zope.schema.fieldproperty import FieldProperty
from zope.schema.vocabulary import SimpleVocabulary, SimpleTerm
@@ -46,13 +43,7 @@
@adapter_config(context=IPictogramManagerTarget, provides=IPictogramManager)
def pictogram_manager_factory(target):
"""Pictogram manager factory"""
- annotations = IAnnotations(target)
- manager = annotations.get(PICTOGRAM_MANAGER_KEY)
- if manager is None:
- manager = annotations[PICTOGRAM_MANAGER_KEY] = PictogramManager()
- get_current_registry().notify(ObjectCreatedEvent(manager))
- locate(manager, target)
- return manager
+ return get_annotation_adapter(target, PICTOGRAM_MANAGER_KEY, PictogramManager)
@vocabulary_config(name=SELECTED_PICTOGRAM_VOCABULARY)