equal
deleted
inserted
replaced
16 # import standard library |
16 # import standard library |
17 |
17 |
18 # import interfaces |
18 # import interfaces |
19 from pyams_skin.interfaces.container import IContainerBaseView |
19 from pyams_skin.interfaces.container import IContainerBaseView |
20 from pyams_skin.layer import IPyAMSLayer |
20 from pyams_skin.layer import IPyAMSLayer |
|
21 from zope.container.interfaces import IContainer |
21 |
22 |
22 # import packages |
23 # import packages |
23 from pyams_skin.table import BaseTable |
24 from pyams_skin.table import BaseTable |
24 from pyams_template.template import template_config |
25 from pyams_template.template import template_config |
|
26 from pyramid.view import view_config |
25 from zope.interface import implementer |
27 from zope.interface import implementer |
|
28 |
|
29 from pyams_utils import _ |
26 |
30 |
27 |
31 |
28 @template_config(template='templates/container.pt', layer=IPyAMSLayer) |
32 @template_config(template='templates/container.pt', layer=IPyAMSLayer) |
29 @implementer(IContainerBaseView) |
33 @implementer(IContainerBaseView) |
30 class ContainerView(object): |
34 class ContainerView(object): |
37 self.table = self.table_class(context, request) |
41 self.table = self.table_class(context, request) |
38 |
42 |
39 def update(self): |
43 def update(self): |
40 super(ContainerView, self).update() |
44 super(ContainerView, self).update() |
41 self.table.update() |
45 self.table.update() |
|
46 |
|
47 |
|
48 @view_config(name='delete-element.json', context=IContainer, request_type=IPyAMSLayer, |
|
49 permission='manage', renderer='json', xhr=True) |
|
50 def delete_container_element(request): |
|
51 """Delete container element""" |
|
52 translate = request.localizer.translate |
|
53 name = request.params.get('object_name') |
|
54 if not name: |
|
55 return {'status': 'message', |
|
56 'messagebox': {'status': 'error', |
|
57 'content': translate(_("No provided object_name argument!"))}} |
|
58 if name not in request.context: |
|
59 return {'status': 'message', |
|
60 'messagebox': {'status': 'error', |
|
61 'content': translate(_("Given plug-in name doesn't exist!"))}} |
|
62 del request.context[name] |
|
63 return {'status': 'success'} |