src/pyams_content/shared/imagemap/zmi/area.py
changeset 85 f6474843036e
parent 69 8c5bbc396670
child 139 99a481dc4c89
equal deleted inserted replaced
84:7214a95eaa9b 85:f6474843036e
     7 # THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
     7 # THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
     8 # WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
     8 # WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
     9 # WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
     9 # WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
    10 # FOR A PARTICULAR PURPOSE.
    10 # FOR A PARTICULAR PURPOSE.
    11 #
    11 #
       
    12 from pyams_i18n.interfaces import II18n
    12 
    13 
    13 __docformat__ = 'restructuredtext'
    14 __docformat__ = 'restructuredtext'
    14 
    15 
    15 
    16 
    16 # import standard library
    17 # import standard library
    60 @pagelet_config(name='add-area.html', context=IWfImageMap, layer=IPyAMSLayer, permission=MANAGE_CONTENT_PERMISSION)
    61 @pagelet_config(name='add-area.html', context=IWfImageMap, layer=IPyAMSLayer, permission=MANAGE_CONTENT_PERMISSION)
    61 class ImagemapAreaAddForm(AdminDialogAddForm):
    62 class ImagemapAreaAddForm(AdminDialogAddForm):
    62     """Imagemap area add form"""
    63     """Imagemap area add form"""
    63 
    64 
    64     legend = _("Add new image area")
    65     legend = _("Add new image area")
    65     dialog_class = 'modal-large'
    66 
       
    67     @property
       
    68     def dialog_class(self):
       
    69         image = II18n(self.context).query_attribute('image', request=self.request)
       
    70         if image is not None:
       
    71             width = image.get_image_size()[0]
       
    72             if width > 1000:
       
    73                 return 'modal-max'
       
    74             elif width > 800:
       
    75                 return 'modal-xlarge'
       
    76             else:
       
    77                 return 'modal-large'
       
    78         else:
       
    79             return 'modal-large'
    66 
    80 
    67     fields = field.Fields(IImageMapArea)
    81     fields = field.Fields(IImageMapArea)
    68     fields['link'].widgetFactory = SingleLinkLinkSelectFieldWidget
    82     fields['link'].widgetFactory = SingleLinkLinkSelectFieldWidget
    69     fields['area'].widgetFactory = ImgareaInputFieldWidget
    83     fields['area'].widgetFactory = ImgareaInputFieldWidget
    70 
    84 
    90 @pagelet_config(name='properties.html', context=IImageMapArea, layer=IPyAMSLayer, permission=MANAGE_CONTENT_PERMISSION)
   104 @pagelet_config(name='properties.html', context=IImageMapArea, layer=IPyAMSLayer, permission=MANAGE_CONTENT_PERMISSION)
    91 class ImagemapAreaPropertiesEditForm(AdminDialogEditForm):
   105 class ImagemapAreaPropertiesEditForm(AdminDialogEditForm):
    92     """Image map area properties edit form"""
   106     """Image map area properties edit form"""
    93 
   107 
    94     legend = _("Edit image map properties")
   108     legend = _("Edit image map properties")
    95     dialog_class = 'modal-large'
   109 
       
   110     @property
       
   111     def dialog_class(self):
       
   112         image = II18n(self.context.__parent__).query_attribute('image', request=self.request)
       
   113         if image is not None:
       
   114             width = image.get_image_size()[0]
       
   115             if width > 1000:
       
   116                 return 'modal-max'
       
   117             elif width > 800:
       
   118                 return 'modal-xlarge'
       
   119             else:
       
   120                 return 'modal-large'
       
   121         else:
       
   122             return 'modal-large'
    96 
   123 
    97     fields = field.Fields(IImageMapArea)
   124     fields = field.Fields(IImageMapArea)
    98     fields['link'].widgetFactory = SingleLinkLinkSelectFieldWidget
   125     fields['link'].widgetFactory = SingleLinkLinkSelectFieldWidget
    99     fields['area'].widgetFactory = ImgareaInputFieldWidget
   126     fields['area'].widgetFactory = ImgareaInputFieldWidget
   100 
   127