--- a/src/pyams_content/shared/imagemap/__init__.py Mon Sep 11 14:52:15 2017 +0200
+++ b/src/pyams_content/shared/imagemap/__init__.py Mon Sep 11 14:53:15 2017 +0200
@@ -18,9 +18,11 @@
from persistent.mapping import PersistentMapping
# import interfaces
+from pyams_content.component.extfile.interfaces import IExtFileContainerTarget
from pyams_content.component.links.interfaces import ILinkContainerTarget
from pyams_content.shared.imagemap.interfaces import IMAGEMAP_CONTENT_TYPE, IMAGEMAP_CONTENT_NAME, \
IWfImageMap, IImageMap, IImageMapArea
+from z3c.form.interfaces import NOT_CHANGED
from zope.location.interfaces import ISublocations
from zope.traversing.interfaces import ITraversable
@@ -45,7 +47,7 @@
area = FieldProperty(IImageMapArea['area'])
-@implementer(IWfImageMap, ILinkContainerTarget)
+@implementer(IWfImageMap, IExtFileContainerTarget, ILinkContainerTarget)
class WfImageMap(WfSharedContent):
"""Base image map"""
@@ -66,9 +68,12 @@
@image.setter
def image(self, value):
+ if value:
+ for image in value.values():
+ if image and (image is not NOT_CHANGED):
+ self.areas = PersistentMapping()
+ break
self._image = value
- if value:
- self.areas = PersistentMapping()
def add_area(self, area):
self._index += 1