src/pyams_content/reference/pictograms/zmi/__init__.py
changeset 609 375ab52043d6
parent 591 b694d5667d17
child 625 abd143a83a07
equal deleted inserted replaced
608:03a373d91db5 609:375ab52043d6
    42 from pyams_utils.traversing import get_parent
    42 from pyams_utils.traversing import get_parent
    43 from pyams_utils.url import absolute_url
    43 from pyams_utils.url import absolute_url
    44 from pyams_viewlet.viewlet import viewlet_config
    44 from pyams_viewlet.viewlet import viewlet_config
    45 from pyams_zmi.form import AdminDialogAddForm, AdminDialogEditForm
    45 from pyams_zmi.form import AdminDialogAddForm, AdminDialogEditForm
    46 from pyramid.httpexceptions import HTTPNotFound, HTTPBadRequest
    46 from pyramid.httpexceptions import HTTPNotFound, HTTPBadRequest
       
    47 from pyramid.renderers import render, render_to_response
    47 from pyramid.response import Response
    48 from pyramid.response import Response
    48 from pyramid.view import view_config
    49 from pyramid.view import view_config
    49 from z3c.form import field
    50 from z3c.form import field
    50 from z3c.table.column import GetAttrColumn
    51 from z3c.table.column import GetAttrColumn
    51 
    52 
   161     table_class = PictogramTableContentsTable
   162     table_class = PictogramTableContentsTable
   162 
   163 
   163 
   164 
   164 @view_config(name='get-pictogram-header.html', context=IPictogramTable, request_type=IPyAMSLayer,
   165 @view_config(name='get-pictogram-header.html', context=IPictogramTable, request_type=IPyAMSLayer,
   165              permission=VIEW_SYSTEM_PERMISSION)
   166              permission=VIEW_SYSTEM_PERMISSION)
   166 def get_pictogram_label(request):
   167 def get_pictogram_header_view(request):
   167     """Get alternate label associated with a given pictogram"""
   168     """View used to get thumbnail and alternate label associated with a given pictogram"""
   168     name = request.params.get('value')
   169     name = request.params.get('value')
   169     if not name:
   170     if not name:
   170         raise HTTPBadRequest()
   171         raise HTTPBadRequest()
   171     translate = request.localizer.translate
   172     translate = request.localizer.translate
   172     if name == '--NOVALUE--':
   173     if name == '--NOVALUE--':
   173         return Response(translate(_("Default header: --")))
   174         return Response(translate(_("Default header: --")))
   174     pictogram = request.context.get(name)
   175     pictogram = request.context.get(name)
   175     if pictogram is None:
   176     if pictogram is None:
   176         raise HTTPNotFound()
   177         raise HTTPNotFound()
   177     return Response(translate(_("Default header: {0}")).format(
   178     return render_to_response('templates/pictogram-header.pt', {
   178         II18n(pictogram).query_attribute('header', request=request) or '--'))
   179         'context': pictogram
       
   180     }, request=request)
       
   181 
       
   182 
       
   183 def get_pictogram_header(pictogram, request=None):
       
   184     """Get thumbnail and alternate label associated with a given pictogram"""
       
   185     return render('templates/pictogram-header.pt', {
       
   186         'context': pictogram
       
   187     }, request=request)