--- a/src/pyams_content/component/theme/portlet.py Fri May 25 08:05:13 2018 +0200
+++ b/src/pyams_content/component/theme/portlet.py Fri May 25 15:48:59 2018 +0200
@@ -18,15 +18,13 @@
# import interfaces
from pyams_content.component.theme.interfaces import IPortletThemesSettings, IPortletThemesSettingsTarget, \
PORTLET_SETTINGS_THEMES_KEY
-from zope.annotation.interfaces import IAnnotations
from zope.traversing.interfaces import ITraversable
# import packages
from persistent import Persistent
-from pyams_utils.adapter import adapter_config, ContextAdapter
+from pyams_utils.adapter import adapter_config, ContextAdapter, get_annotation_adapter
from zope.container.contained import Contained
from zope.interface import implementer
-from zope.location import locate
@implementer(IPortletThemesSettings)
@@ -37,12 +35,7 @@
@adapter_config(context=IPortletThemesSettingsTarget, provides=IPortletThemesSettings)
def portlet_themes_settings_factory(context):
"""Portlet themes settings adapter"""
- annotations = IAnnotations(context)
- settings = annotations.get(PORTLET_SETTINGS_THEMES_KEY)
- if settings is None:
- settings = annotations[PORTLET_SETTINGS_THEMES_KEY] = PortletThemesSettings()
- locate(settings, context, '++themes++')
- return settings
+ return get_annotation_adapter(context, PORTLET_SETTINGS_THEMES_KEY, PortletThemesSettings, name='++themes++')
@adapter_config(name='themes', context=IPortletThemesSettingsTarget, provides=ITraversable)