30 from pyams_zmi.layer import IAdminLayer |
30 from pyams_zmi.layer import IAdminLayer |
31 |
31 |
32 # import packages |
32 # import packages |
33 from pyams_content.component.paragraph.zmi.container import ParagraphContainerTable, ParagraphContainerBaseTable |
33 from pyams_content.component.paragraph.zmi.container import ParagraphContainerTable, ParagraphContainerBaseTable |
34 from pyams_content.features.renderer.zmi import BaseRenderedContentRenderer |
34 from pyams_content.features.renderer.zmi import BaseRenderedContentRenderer |
35 from pyams_form.form import AJAXEditForm, AJAXAddForm |
35 from pyams_form.form import AJAXEditForm, AJAXAddForm, ajax_config |
36 from pyams_form.help import FormHelp |
36 from pyams_form.help import FormHelp |
37 from pyams_form.schema import ActionButton, CloseButton |
37 from pyams_form.schema import ActionButton, CloseButton |
38 from pyams_form.security import ProtectedFormObjectMixin |
38 from pyams_form.security import ProtectedFormObjectMixin |
39 from pyams_pagelet.pagelet import pagelet_config |
39 from pyams_pagelet.pagelet import pagelet_config |
40 from pyams_skin.event import get_json_switched_table_refresh_event |
40 from pyams_skin.event import get_json_switched_table_refresh_event |
45 from pyams_utils.registry import query_utility |
45 from pyams_utils.registry import query_utility |
46 from pyams_utils.traversing import get_parent |
46 from pyams_utils.traversing import get_parent |
47 from pyams_viewlet.viewlet import viewlet_config |
47 from pyams_viewlet.viewlet import viewlet_config |
48 from pyams_zmi.form import AdminDialogEditForm |
48 from pyams_zmi.form import AdminDialogEditForm |
49 from pyramid.location import lineage |
49 from pyramid.location import lineage |
50 from pyramid.view import view_config |
|
51 from z3c.form import field, button |
50 from z3c.form import field, button |
52 from zope.interface import Interface |
51 from zope.interface import Interface |
53 |
52 |
54 from pyams_content import _ |
53 from pyams_content import _ |
55 |
54 |
69 modal_target = True |
68 modal_target = True |
70 |
69 |
71 |
70 |
72 @pagelet_config(name='default-paragraphs.html', context=IParagraphFactorySettings, layer=IPyAMSLayer, |
71 @pagelet_config(name='default-paragraphs.html', context=IParagraphFactorySettings, layer=IPyAMSLayer, |
73 permission=MANAGE_TOOL_PERMISSION) |
72 permission=MANAGE_TOOL_PERMISSION) |
|
73 @ajax_config(name='default-paragraphs.json', context=IParagraphFactorySettings, layer=IPyAMSLayer) |
74 class DefaultParagraphsEditForm(AdminDialogEditForm): |
74 class DefaultParagraphsEditForm(AdminDialogEditForm): |
75 """Default paragraphs edit form""" |
75 """Default paragraphs edit form""" |
76 |
76 |
77 prefix = 'default_paragraphs.' |
77 prefix = 'default_paragraphs.' |
78 |
78 |
79 legend = _("Content block types") |
79 legend = _("Content block types") |
80 |
80 |
81 fields = field.Fields(IParagraphFactorySettings) |
81 fields = field.Fields(IParagraphFactorySettings) |
82 ajax_handler = 'default-paragraphs.json' |
|
83 edit_permission = MANAGE_TOOL_PERMISSION |
82 edit_permission = MANAGE_TOOL_PERMISSION |
84 |
|
85 |
|
86 @view_config(name='default-paragraphs.json', context=IParagraphFactorySettings, request_type=IPyAMSLayer, |
|
87 permission=MANAGE_TOOL_PERMISSION, renderer='json', xhr=True) |
|
88 class DefaultParagraphAJAXEditForm(AJAXEditForm, DefaultParagraphsEditForm): |
|
89 """Default paragraphs edit form, JSON renderer""" |
|
90 |
83 |
91 |
84 |
92 @adapter_config(context=(IParagraphFactorySettings, IPyAMSLayer, DefaultParagraphsEditForm), provides=IFormHelp) |
85 @adapter_config(context=(IParagraphFactorySettings, IPyAMSLayer, DefaultParagraphsEditForm), provides=IFormHelp) |
93 class DefaultParagraphsEditFormHelp(FormHelp): |
86 class DefaultParagraphsEditFormHelp(FormHelp): |
94 """Default paragraphs edit form help""" |
87 """Default paragraphs edit form help""" |