src/pyams_content/component/illustration/zmi/paragraph.py
changeset 1106 7a431c7ffcef
parent 1084 6b6a884fa28a
child 1124 de6e9b0637b6
equal deleted inserted replaced
1105:226ee1507157 1106:7a431c7ffcef
    22 from pyams_content.component.illustration.paragraph import Illustration
    22 from pyams_content.component.illustration.paragraph import Illustration
    23 from pyams_content.component.paragraph.interfaces import IParagraphContainer, IParagraphContainerTarget
    23 from pyams_content.component.paragraph.interfaces import IParagraphContainer, IParagraphContainerTarget
    24 from pyams_content.component.paragraph.zmi import BaseParagraphAJAXAddForm, BaseParagraphAJAXEditForm, \
    24 from pyams_content.component.paragraph.zmi import BaseParagraphAJAXAddForm, BaseParagraphAJAXEditForm, \
    25     BaseParagraphAddMenu, BaseParagraphPropertiesEditForm, IParagraphInnerEditFormButtons, \
    25     BaseParagraphAddMenu, BaseParagraphPropertiesEditForm, IParagraphInnerEditFormButtons, \
    26     get_json_paragraph_refresh_event
    26     get_json_paragraph_refresh_event
       
    27 from pyams_content.component.paragraph.zmi.container import ParagraphContainerCounterBase
    27 from pyams_content.component.paragraph.zmi.interfaces import IParagraphContainerTable, IParagraphContainerView, \
    28 from pyams_content.component.paragraph.zmi.interfaces import IParagraphContainerTable, IParagraphContainerView, \
    28     IParagraphInnerEditor, IParagraphTitleToolbar
    29     IParagraphInnerEditor, IParagraphTitleToolbar
    29 from pyams_content.features.renderer.zmi.widget import RendererFieldWidget
    30 from pyams_content.features.renderer.zmi.widget import RendererFieldWidget
    30 from pyams_content.interfaces import MANAGE_CONTENT_PERMISSION
    31 from pyams_content.interfaces import MANAGE_CONTENT_PERMISSION
    31 from pyams_form.form import ajax_config
    32 from pyams_form.form import ajax_config
    32 from pyams_form.interfaces.form import IInnerForm
    33 from pyams_form.interfaces.form import IInnerForm
    33 from pyams_pagelet.pagelet import pagelet_config
    34 from pyams_pagelet.pagelet import pagelet_config
    34 from pyams_skin.event import get_json_form_refresh_event
    35 from pyams_skin.event import get_json_form_refresh_event
    35 from pyams_skin.interfaces.viewlet import IToolbarAddingMenu
    36 from pyams_skin.interfaces.viewlet import IToolbarAddingMenu
    36 from pyams_skin.layer import IPyAMSLayer
    37 from pyams_skin.layer import IPyAMSLayer
    37 from pyams_template.template import template_config
       
    38 from pyams_utils.adapter import adapter_config
    38 from pyams_utils.adapter import adapter_config
    39 from pyams_utils.interfaces import VIEW_SYSTEM_PERMISSION
    39 from pyams_utils.interfaces import VIEW_SYSTEM_PERMISSION
    40 from pyams_viewlet.viewlet import Viewlet, viewlet_config
    40 from pyams_viewlet.viewlet import viewlet_config
    41 from pyams_zmi.form import AdminDialogAddForm
    41 from pyams_zmi.form import AdminDialogAddForm
    42 
    42 
    43 from pyams_content import _
    43 from pyams_content import _
    44 
    44 
    45 
    45 
   143 
   143 
   144 @viewlet_config(name='illustration', context=IIllustrationParagraph, layer=IPyAMSLayer, view=IParagraphContainerTable,
   144 @viewlet_config(name='illustration', context=IIllustrationParagraph, layer=IPyAMSLayer, view=IParagraphContainerTable,
   145                 manager=IParagraphTitleToolbar, permission=VIEW_SYSTEM_PERMISSION, weight=5)
   145                 manager=IParagraphTitleToolbar, permission=VIEW_SYSTEM_PERMISSION, weight=5)
   146 @viewlet_config(name='illustration', context=IBasicIllustrationTarget, layer=IPyAMSLayer, view=IParagraphContainerTable,
   146 @viewlet_config(name='illustration', context=IBasicIllustrationTarget, layer=IPyAMSLayer, view=IParagraphContainerTable,
   147                 manager=IParagraphTitleToolbar, permission=VIEW_SYSTEM_PERMISSION, weight=5)
   147                 manager=IParagraphTitleToolbar, permission=VIEW_SYSTEM_PERMISSION, weight=5)
   148 @template_config(template='templates/paragraph-illustration-icon.pt', layer=IPyAMSLayer)
   148 class ParagraphIllustrationMarker(ParagraphContainerCounterBase):
   149 class ParagraphIllustrationMarker(Viewlet):
       
   150     """Paragraph illustration marker column"""
   149     """Paragraph illustration marker column"""
   151 
   150 
   152     weight = 5
   151     weight = 5
   153     action_class = 'action illustration nowrap width-40'
   152     action_class = 'action illustration nowrap width-40'
   154     icon_class = 'fa fa-fw fa-picture-o'
   153     icon_class = 'fa fa-fw fa-picture-o'
   155     icon_hint = _("Illustration")
   154     icon_hint = _("Illustration")
   156 
   155 
   157     marker_type = 'illustration'
   156     marker_type = 'illustration'
   158 
   157 
   159     def render(self):
   158     @property
       
   159     def count(self):
   160         illustration = IIllustration(self.context, None)
   160         illustration = IIllustration(self.context, None)
   161         if illustration and illustration.data:
   161         if illustration and illustration.data:
   162             for value in illustration.data.values():
   162             for value in illustration.data.values():
   163                 if value:
   163                 if value:
   164                     return super(ParagraphIllustrationMarker, self).render()
   164                     return 1
   165         return ''
   165         return 0