src/pyams_content/shared/imagemap/zmi/container.py
changeset 527 5dd1aa8bedd9
parent 374 4d7a326b3434
child 668 a63bc2aa60bb
equal deleted inserted replaced
526:b15153f45957 527:5dd1aa8bedd9
    74 
    74 
    75 
    75 
    76 class ImagemapAreasTable(BaseTable):
    76 class ImagemapAreasTable(BaseTable):
    77     """Image map areas table"""
    77     """Image map areas table"""
    78 
    78 
       
    79     prefix = 'imagemaps'
       
    80 
    79     hide_header = True
    81     hide_header = True
    80     cssClasses = {'table': 'table table-bordered table-striped table-hover table-tight'}
    82     cssClasses = {'table': 'table table-bordered table-striped table-hover table-tight'}
    81 
    83 
    82     def __init__(self, context, request):
    84     def __init__(self, context, request):
    83         super(ImagemapAreasTable, self).__init__(context, request)
    85         super(ImagemapAreasTable, self).__init__(context, request)
    85         alsoProvides(self, IObjectData)
    87         alsoProvides(self, IObjectData)
    86 
    88 
    87     @property
    89     @property
    88     def data_attributes(self):
    90     def data_attributes(self):
    89         attributes = super(ImagemapAreasTable, self).data_attributes
    91         attributes = super(ImagemapAreasTable, self).data_attributes
    90         attributes['table'] = {'data-ams-location': absolute_url(self.context, self.request),
    92         attributes['table'] = {
    91                                'data-ams-datatable-sort': 'false',
    93             'data-ams-location': absolute_url(self.context, self.request),
    92                                'data-ams-datatable-pagination': 'false'}
    94             'data-ams-datatable-sort': 'false',
       
    95             'data-ams-datatable-pagination': 'false'
       
    96         }
    93         return attributes
    97         return attributes
    94 
    98 
    95     @reify
    99     @reify
    96     def values(self):
   100     def values(self):
    97         return list(super(ImagemapAreasTable, self).values)
   101         return list(super(ImagemapAreasTable, self).values)
   162 def delete_imagemap_area(request):
   166 def delete_imagemap_area(request):
   163     """Delete image map area"""
   167     """Delete image map area"""
   164     translate = request.localizer.translate
   168     translate = request.localizer.translate
   165     name = request.params.get('object_name')
   169     name = request.params.get('object_name')
   166     if not name:
   170     if not name:
   167         return {'status': 'message',
   171         return {
   168                 'messagebox': {'status': 'error',
   172             'status': 'message',
   169                                'content': translate(_("No provided object_name argument!"))}}
   173             'messagebox': {
       
   174                 'status': 'error',
       
   175                 'content': translate(_("No provided object_name argument!"))
       
   176             }
       
   177         }
   170     if '++' in name:
   178     if '++' in name:
   171         try:
   179         try:
   172             name = name.split('++', 2)[2]
   180             name = name.split('++', 2)[2]
   173         except IndexError:
   181         except IndexError:
   174             return {'status': 'message',
   182             return {
   175                     'messagebox': {'status': 'error',
   183                 'status': 'message',
   176                                    'content': translate(_("Bad query object_name parameter value!"))}}
   184                 'messagebox': {
       
   185                     'status': 'error',
       
   186                     'content': translate(_("Bad query object_name parameter value!"))
       
   187                 }
       
   188             }
   177     if name not in request.context.areas:
   189     if name not in request.context.areas:
   178         return {'status': 'message',
   190         return {
   179                 'messagebox': {'status': 'error',
   191             'status': 'message',
   180                                'content': translate(_("Given area name doesn't exist!"))}}
   192             'messagebox': {
       
   193                 'status': 'error',
       
   194                 'content': translate(_("Given area name doesn't exist!"))
       
   195             }
       
   196         }
   181     request.context.remove_area(name)
   197     request.context.remove_area(name)
   182     return {'status': 'success'}
   198     return {'status': 'success'}