--- a/src/pyams_content/shared/imagemap/zmi/container.py Mon Sep 11 14:52:15 2017 +0200
+++ b/src/pyams_content/shared/imagemap/zmi/container.py Mon Sep 11 14:53:15 2017 +0200
@@ -14,10 +14,9 @@
# import standard library
-import html
# import interfaces
-from pyams_content.component.links.interfaces import ILinkContainer, IInternalLink
+from pyams_content.component.association.interfaces import IAssociationContainer, IAssociationInfo
from pyams_content.interfaces import MANAGE_CONTENT_PERMISSION
from pyams_content.shared.imagemap.interfaces import IWfImageMap
from pyams_i18n.interfaces import II18n
@@ -33,7 +32,6 @@
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
@@ -49,7 +47,7 @@
@viewlet_config(name='areas.submenu', context=IWfImageMap, layer=IAdminLayer,
- manager=IPropertiesMenu, permission=MANAGE_CONTENT_PERMISSION, weight=20)
+ manager=IPropertiesMenu, permission=MANAGE_CONTENT_PERMISSION, weight=30)
class ImagemapAreasMenu(MenuItem):
"""Image map areas menu"""
@@ -123,7 +121,12 @@
weight = 10
def getValue(self, obj):
- return II18n(obj).query_attribute('title', request=self.request)
+ title = II18n(obj).query_attribute('title', request=self.request)
+ if not title:
+ item = IAssociationContainer(self.context).get(obj.link)
+ if item is not None:
+ title = IAssociationInfo(item).user_title
+ return title
@adapter_config(name='target', context=(IWfImageMap, IPyAMSLayer, ImagemapAreasTable), provides=IColumn)
@@ -135,14 +138,9 @@
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))
+ item = IAssociationContainer(self.context).get(obj.link)
+ if item is not None:
+ return IAssociationInfo(item).inner_title
@adapter_config(name='trash', context=(IWfImageMap, IPyAMSLayer, ImagemapAreasTable), provides=IColumn)