--- a/src/pyams_content/reference/pictograms/zmi/__init__.py Mon Jun 04 15:00:16 2018 +0200
+++ b/src/pyams_content/reference/pictograms/zmi/__init__.py Mon Jun 04 16:43:56 2018 +0200
@@ -9,6 +9,7 @@
# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
# FOR A PARTICULAR PURPOSE.
#
+from z3c.form.interfaces import NOVALUE, NO_VALUE
__docformat__ = 'restructuredtext'
@@ -43,6 +44,8 @@
from pyams_utils.url import absolute_url
from pyams_viewlet.viewlet import viewlet_config
from pyams_zmi.form import AdminDialogAddForm, AdminDialogEditForm
+from pyramid.httpexceptions import HTTPNotFound, HTTPBadRequest
+from pyramid.response import Response
from pyramid.view import view_config
from z3c.form import field
from z3c.table.column import GetAttrColumn
@@ -169,3 +172,20 @@
"""Pictograms table contents view"""
table_class = PictogramTableContentsTable
+
+
+@view_config(name='get-pictogram-header.html', context=IPictogramTable, request_type=IPyAMSLayer,
+ permission=VIEW_SYSTEM_PERMISSION)
+def get_pictogram_label(request):
+ """Get alternate label associated with a given pictogram"""
+ name = request.params.get('value')
+ if not name:
+ raise HTTPBadRequest()
+ translate = request.localizer.translate
+ if name == '--NOVALUE--':
+ return Response(translate(_("Default header: --")))
+ pictogram = request.context.get(name)
+ if pictogram is None:
+ raise HTTPNotFound()
+ return Response(translate(_("Default header: {0}")).format(
+ II18n(pictogram).query_attribute('header', request=request) or '--'))