16 # import standard library |
16 # import standard library |
17 |
17 |
18 # import interfaces |
18 # import interfaces |
19 from pyams_content.interfaces import MANAGE_CONTENT_PERMISSION |
19 from pyams_content.interfaces import MANAGE_CONTENT_PERMISSION |
20 from pyams_content.shared.view.interfaces import IWfView, IViewInternalReferencesSettings |
20 from pyams_content.shared.view.interfaces import IWfView, IViewInternalReferencesSettings |
21 from pyams_form.interfaces.form import IWidgetForm |
21 from pyams_form.interfaces.form import IWidgetForm, IUncheckedEditFormButtons |
22 from pyams_skin.interfaces import IInnerPage |
22 from pyams_skin.interfaces import IInnerPage |
23 from pyams_skin.layer import IPyAMSLayer |
23 from pyams_skin.layer import IPyAMSLayer |
24 from pyams_utils.interfaces import VIEW_SYSTEM_PERMISSION |
24 from pyams_utils.interfaces import VIEW_SYSTEM_PERMISSION |
25 from pyams_zmi.interfaces.menu import IPropertiesMenu |
25 from pyams_zmi.interfaces.menu import IPropertiesMenu |
26 from pyams_zmi.layer import IAdminLayer |
26 from pyams_zmi.layer import IAdminLayer |
40 from pyams_content import _ |
40 from pyams_content import _ |
41 |
41 |
42 |
42 |
43 @viewlet_config(name='references.divider', context=IWfView, layer=IAdminLayer, |
43 @viewlet_config(name='references.divider', context=IWfView, layer=IAdminLayer, |
44 manager=IPropertiesMenu, permission=VIEW_SYSTEM_PERMISSION, weight=289) |
44 manager=IPropertiesMenu, permission=VIEW_SYSTEM_PERMISSION, weight=289) |
45 class ReferencesMenuDivider(MenuDivider): |
45 class ViewReferencesMenuDivider(MenuDivider): |
46 """References menu divider""" |
46 """View references menu divider""" |
47 |
47 |
48 |
48 |
49 @viewlet_config(name='references.menu', context=IWfView, layer=IAdminLayer, |
49 @viewlet_config(name='references.menu', context=IWfView, layer=IAdminLayer, |
50 manager=IPropertiesMenu, permission=VIEW_SYSTEM_PERMISSION, weight=290) |
50 manager=IPropertiesMenu, permission=VIEW_SYSTEM_PERMISSION, weight=290) |
51 class ReferencesMenu(MenuItem): |
51 class ViewReferencesMenu(MenuItem): |
52 """References menu""" |
52 """View references menu""" |
53 |
53 |
54 label = _("References...") |
54 label = _("References...") |
55 icon_class = 'fa-link' |
55 icon_class = 'fa-link' |
56 url = '#references.html' |
56 url = '#references.html' |
57 |
57 |
58 |
58 |
59 class IReferencesEditButtons(Interface): |
|
60 """References settings form buttons""" |
|
61 |
|
62 reset = ResetButton(name='reset', title=_("Reset")) |
|
63 submit = button.Button(name='submit', title=_("Submit")) |
|
64 |
|
65 |
|
66 @pagelet_config(name='references.html', context=IWfView, layer=IPyAMSLayer, permission=VIEW_SYSTEM_PERMISSION) |
59 @pagelet_config(name='references.html', context=IWfView, layer=IPyAMSLayer, permission=VIEW_SYSTEM_PERMISSION) |
67 @implementer(IWidgetForm, IInnerPage) |
60 @implementer(IWidgetForm, IInnerPage) |
68 class ReferencesEditForm(AdminEditForm): |
61 class ViewReferencesEditForm(AdminEditForm): |
69 """References settings edit form""" |
62 """View references settings edit form""" |
70 |
63 |
71 legend = _("View internal references settings") |
64 legend = _("View internal references settings") |
72 |
65 |
73 fields = field.Fields(IViewInternalReferencesSettings) |
66 fields = field.Fields(IViewInternalReferencesSettings) |
74 |
67 |
75 @property |
68 @property |
76 def buttons(self): |
69 def buttons(self): |
77 if self.mode == INPUT_MODE: |
70 if self.mode == INPUT_MODE: |
78 return button.Buttons(IReferencesEditButtons) |
71 return button.Buttons(IUncheckedEditFormButtons) |
79 else: |
72 else: |
80 return button.Buttons(Interface) |
73 return button.Buttons(Interface) |
81 |
74 |
82 ajax_handler = 'references.json' |
75 ajax_handler = 'references.json' |
83 |
76 |
84 |
77 |
85 @view_config(name='references.json', context=IWfView, request_type=IPyAMSLayer, |
78 @view_config(name='references.json', context=IWfView, request_type=IPyAMSLayer, |
86 permission=MANAGE_CONTENT_PERMISSION, renderer='json', xhr=True) |
79 permission=MANAGE_CONTENT_PERMISSION, renderer='json', xhr=True) |
87 class ReferencesAJAXEditForm(AJAXEditForm, ReferencesEditForm): |
80 class ViewReferencesAJAXEditForm(AJAXEditForm, ViewReferencesEditForm): |
88 """References settings edit form, JSON renderer""" |
81 """References settings edit form, JSON renderer""" |