src/pyams_content/shared/imagemap/zmi/area.py
changeset 591 b694d5667d17
parent 527 5dd1aa8bedd9
child 644 e8af44ddd0ae
equal deleted inserted replaced
590:4fafaf94701d 591:b694d5667d17
    24 
    24 
    25 # import packages
    25 # import packages
    26 from pyams_content.shared.imagemap import ImageMapArea
    26 from pyams_content.shared.imagemap import ImageMapArea
    27 from pyams_content.shared.imagemap.zmi.container import ImagemapAreasContainerView
    27 from pyams_content.shared.imagemap.zmi.container import ImagemapAreasContainerView
    28 from pyams_content.shared.imagemap.zmi.widget import ImgareaInputFieldWidget
    28 from pyams_content.shared.imagemap.zmi.widget import ImgareaInputFieldWidget
    29 from pyams_form.form import AJAXAddForm, AJAXEditForm
    29 from pyams_form.form import AJAXAddForm, ajax_config
    30 from pyams_pagelet.pagelet import pagelet_config
    30 from pyams_pagelet.pagelet import pagelet_config
    31 from pyams_skin.viewlet.toolbar import ToolbarAction
    31 from pyams_skin.viewlet.toolbar import ToolbarAction
    32 from pyams_viewlet.viewlet import viewlet_config
    32 from pyams_viewlet.viewlet import viewlet_config
    33 from pyams_zmi.form import AdminDialogAddForm, AdminDialogEditForm
    33 from pyams_zmi.form import AdminDialogAddForm, AdminDialogEditForm
    34 from pyramid.view import view_config
       
    35 from z3c.form import field
    34 from z3c.form import field
    36 
    35 
    37 from pyams_content import _
    36 from pyams_content import _
    38 
    37 
    39 
    38 
    56                     return ToolbarAction.__new__(cls)
    55                     return ToolbarAction.__new__(cls)
    57         return None
    56         return None
    58 
    57 
    59 
    58 
    60 @pagelet_config(name='add-area.html', context=IWfImageMap, layer=IPyAMSLayer, permission=MANAGE_CONTENT_PERMISSION)
    59 @pagelet_config(name='add-area.html', context=IWfImageMap, layer=IPyAMSLayer, permission=MANAGE_CONTENT_PERMISSION)
       
    60 @ajax_config(name='add-area.json', context=IWfImageMap, layer=IPyAMSLayer, base=AJAXAddForm)
    61 class ImagemapAreaAddForm(AdminDialogAddForm):
    61 class ImagemapAreaAddForm(AdminDialogAddForm):
    62     """Imagemap area add form"""
    62     """Imagemap area add form"""
    63 
    63 
    64     legend = _("Add new image area")
    64     legend = _("Add new image area")
    65 
    65 
    78             return 'modal-large'
    78             return 'modal-large'
    79 
    79 
    80     fields = field.Fields(IImageMapArea)
    80     fields = field.Fields(IImageMapArea)
    81     fields['area'].widgetFactory = ImgareaInputFieldWidget
    81     fields['area'].widgetFactory = ImgareaInputFieldWidget
    82 
    82 
    83     ajax_handler = 'add-area.json'
       
    84     edit_permission = MANAGE_CONTENT_PERMISSION
    83     edit_permission = MANAGE_CONTENT_PERMISSION
    85 
    84 
    86     def create(self, data):
    85     def create(self, data):
    87         return ImageMapArea()
    86         return ImageMapArea()
    88 
    87 
    91 
    90 
    92     def nextURL(self):
    91     def nextURL(self):
    93         return 'areas.html'
    92         return 'areas.html'
    94 
    93 
    95 
    94 
    96 @view_config(name='add-area.json', context=IWfImageMap, request_type=IPyAMSLayer,
       
    97              permission=MANAGE_CONTENT_PERMISSION, renderer='json', xhr=True)
       
    98 class ImagemapAreaAJAXAddForm(AJAXAddForm, ImagemapAreaAddForm):
       
    99     """Image map area add form, JSON renderer"""
       
   100 
       
   101 
       
   102 @pagelet_config(name='properties.html', context=IImageMapArea, layer=IPyAMSLayer, permission=MANAGE_CONTENT_PERMISSION)
    95 @pagelet_config(name='properties.html', context=IImageMapArea, layer=IPyAMSLayer, permission=MANAGE_CONTENT_PERMISSION)
       
    96 @ajax_config(name='properties.json', context=IImageMapArea, layer=IPyAMSLayer)
   103 class ImagemapAreaPropertiesEditForm(AdminDialogEditForm):
    97 class ImagemapAreaPropertiesEditForm(AdminDialogEditForm):
   104     """Image map area properties edit form"""
    98     """Image map area properties edit form"""
   105 
    99 
   106     prefix = 'area_properties.'
   100     prefix = 'area_properties.'
   107 
   101 
   122             return 'modal-large'
   116             return 'modal-large'
   123 
   117 
   124     fields = field.Fields(IImageMapArea)
   118     fields = field.Fields(IImageMapArea)
   125     fields['area'].widgetFactory = ImgareaInputFieldWidget
   119     fields['area'].widgetFactory = ImgareaInputFieldWidget
   126 
   120 
   127     ajax_handler = 'properties.json'
       
   128     edit_permission = MANAGE_CONTENT_PERMISSION
   121     edit_permission = MANAGE_CONTENT_PERMISSION
   129 
       
   130 
       
   131 @view_config(name='properties.json', context=IImageMapArea, request_type=IPyAMSLayer,
       
   132              permission=MANAGE_CONTENT_PERMISSION, renderer='json', xhr=True)
       
   133 class ImagemapAreaPropertiesAJAXEditForm(AJAXEditForm, ImagemapAreaPropertiesEditForm):
       
   134     """Image map properties edit form, JSON rendener"""