--- a/src/pyams_content/shared/imagemap/zmi/container.py Fri Jan 20 15:42:51 2017 +0100
+++ b/src/pyams_content/shared/imagemap/zmi/container.py Wed Jan 25 11:26:00 2017 +0100
@@ -14,8 +14,10 @@
# import standard library
+import html
# import interfaces
+from pyams_content.component.links.interfaces import ILinkContainer, IInternalLink
from pyams_content.interfaces import MANAGE_CONTENT_PERMISSION
from pyams_content.shared.imagemap.interfaces import IWfImageMap
from pyams_i18n.interfaces import II18n
@@ -31,6 +33,7 @@
from pyams_content.shared.common.zmi import WfModifiedContentColumnMixin
from pyams_form.security import ProtectedFormObjectMixin
from pyams_pagelet.pagelet import pagelet_config
+from pyams_sequence.utility import get_sequence_dict
from pyams_skin.table import BaseTable, I18nColumn, TrashColumn
from pyams_skin.viewlet.menu import MenuItem
from pyams_template.template import template_config
@@ -123,6 +126,25 @@
return II18n(obj).query_attribute('title', request=self.request)
+@adapter_config(name='target', context=(IWfImageMap, IPyAMSLayer, ImagemapAreasTable), provides=IColumn)
+class ImagemapAreasContainerTargetColumn(I18nColumn, GetAttrColumn):
+ """Image map areas container target URL column"""
+
+ _header = _("Link target")
+
+ weight = 20
+
+ def getValue(self, obj):
+ link = ILinkContainer(self.context).get(obj.link)
+ if link is None:
+ return '--'
+ if IInternalLink.providedBy(link):
+ mapping = get_sequence_dict(link.get_target())
+ return mapping['text']
+ else:
+ return html.escape(link.get_url(self.request))
+
+
@adapter_config(name='trash', context=(IWfImageMap, IPyAMSLayer, ImagemapAreasTable), provides=IColumn)
class ImagemapAreasContainerTrashColumn(ProtectedFormObjectMixin, TrashColumn):
"""Image map areas container trash column"""