23 from pyams_content.component.paragraph.zmi.interfaces import IParagraphContainerTable, IParagraphTitleToolbar |
23 from pyams_content.component.paragraph.zmi.interfaces import IParagraphContainerTable, IParagraphTitleToolbar |
24 from pyams_content.interfaces import MANAGE_CONTENT_PERMISSION |
24 from pyams_content.interfaces import MANAGE_CONTENT_PERMISSION |
25 from pyams_skin.interfaces.viewlet import IToolbarAddingMenu |
25 from pyams_skin.interfaces.viewlet import IToolbarAddingMenu |
26 from pyams_skin.layer import IPyAMSLayer |
26 from pyams_skin.layer import IPyAMSLayer |
27 from pyams_utils.interfaces import VIEW_SYSTEM_PERMISSION |
27 from pyams_utils.interfaces import VIEW_SYSTEM_PERMISSION |
|
28 from pyams_zmi.interfaces import IPropertiesEditForm |
28 |
29 |
29 # import packages |
30 # import packages |
30 from pyams_content.component.association.zmi import AssociationItemAJAXAddForm, AssociationItemAJAXEditForm |
31 from pyams_content.component.association.zmi import AssociationItemAJAXAddForm, AssociationItemAJAXEditForm |
31 from pyams_content.component.links import InternalLink, ExternalLink, MailtoLink |
32 from pyams_content.component.links import InternalLink, ExternalLink, MailtoLink |
32 from pyams_content.component.paragraph.zmi import get_json_paragraph_markers_refresh_event |
33 from pyams_content.component.paragraph.zmi import get_json_paragraph_markers_refresh_event |
37 from pyams_pagelet.pagelet import pagelet_config |
38 from pyams_pagelet.pagelet import pagelet_config |
38 from pyams_skin.viewlet.toolbar import ToolbarMenuItem |
39 from pyams_skin.viewlet.toolbar import ToolbarMenuItem |
39 from pyams_viewlet.viewlet import viewlet_config |
40 from pyams_viewlet.viewlet import viewlet_config |
40 from pyams_zmi.form import AdminDialogAddForm, AdminDialogEditForm |
41 from pyams_zmi.form import AdminDialogAddForm, AdminDialogEditForm |
41 from z3c.form import field |
42 from z3c.form import field |
|
43 from zope.interface import implementer |
42 |
44 |
43 from pyams_content import _ |
45 from pyams_content import _ |
44 |
46 |
45 |
47 |
46 # |
48 # |
112 |
114 |
113 |
115 |
114 @pagelet_config(name='properties.html', context=IInternalLink, layer=IPyAMSLayer, permission=VIEW_SYSTEM_PERMISSION) |
116 @pagelet_config(name='properties.html', context=IInternalLink, layer=IPyAMSLayer, permission=VIEW_SYSTEM_PERMISSION) |
115 @ajax_config(name='properties.json', context=IInternalLink, layer=IPyAMSLayer, |
117 @ajax_config(name='properties.json', context=IInternalLink, layer=IPyAMSLayer, |
116 permission=MANAGE_CONTENT_PERMISSION, base=AssociationItemAJAXEditForm) |
118 permission=MANAGE_CONTENT_PERMISSION, base=AssociationItemAJAXEditForm) |
|
119 @implementer(IPropertiesEditForm) |
117 class InternalLinkPropertiesEditForm(AdminDialogEditForm): |
120 class InternalLinkPropertiesEditForm(AdminDialogEditForm): |
118 """Internal link properties edit form""" |
121 """Internal link properties edit form""" |
119 |
122 |
120 prefix = 'internallink_properties.' |
123 prefix = 'internallink_properties.' |
121 |
124 |
122 legend = _("Edit internal link properties") |
125 legend = _("Edit internal link properties") |
123 icon_css_class = 'fa fa-fw fa-external-link-square fa-rotate-90' |
126 icon_css_class = 'fa fa-fw fa-external-link-square fa-rotate-90' |
|
127 dialog_class = 'modal-large' |
124 |
128 |
125 fields = field.Fields(IInternalLink).select('reference', 'title', 'description', 'pictogram_name') |
129 fields = field.Fields(IInternalLink).select('reference', 'title', 'description', 'pictogram_name') |
126 fields['pictogram_name'].widgetFactory = PictogramSelectFieldWidget |
130 fields['pictogram_name'].widgetFactory = PictogramSelectFieldWidget |
127 |
131 |
128 edit_permission = None # defined by IFormContextPermissionChecker adapter |
132 edit_permission = None # defined by IFormContextPermissionChecker adapter |
209 |
213 |
210 |
214 |
211 @pagelet_config(name='properties.html', context=IExternalLink, layer=IPyAMSLayer, permission=VIEW_SYSTEM_PERMISSION) |
215 @pagelet_config(name='properties.html', context=IExternalLink, layer=IPyAMSLayer, permission=VIEW_SYSTEM_PERMISSION) |
212 @ajax_config(name='properties.json', context=IExternalLink, layer=IPyAMSLayer, |
216 @ajax_config(name='properties.json', context=IExternalLink, layer=IPyAMSLayer, |
213 permission=MANAGE_CONTENT_PERMISSION, base=AssociationItemAJAXEditForm) |
217 permission=MANAGE_CONTENT_PERMISSION, base=AssociationItemAJAXEditForm) |
|
218 @implementer(IPropertiesEditForm) |
214 class ExternalLinkPropertiesEditForm(AdminDialogEditForm): |
219 class ExternalLinkPropertiesEditForm(AdminDialogEditForm): |
215 """External link properties edit form""" |
220 """External link properties edit form""" |
216 |
221 |
217 prefix = 'externallink_properties.' |
222 prefix = 'externallink_properties.' |
218 |
223 |
306 |
311 |
307 |
312 |
308 @pagelet_config(name='properties.html', context=IMailtoLink, layer=IPyAMSLayer, permission=VIEW_SYSTEM_PERMISSION) |
313 @pagelet_config(name='properties.html', context=IMailtoLink, layer=IPyAMSLayer, permission=VIEW_SYSTEM_PERMISSION) |
309 @ajax_config(name='properties.json', context=IMailtoLink, layer=IPyAMSLayer, |
314 @ajax_config(name='properties.json', context=IMailtoLink, layer=IPyAMSLayer, |
310 permission=MANAGE_CONTENT_PERMISSION, base=AssociationItemAJAXEditForm) |
315 permission=MANAGE_CONTENT_PERMISSION, base=AssociationItemAJAXEditForm) |
|
316 @implementer(IPropertiesEditForm) |
311 class MailtoLinkPropertiesEditForm(AdminDialogEditForm): |
317 class MailtoLinkPropertiesEditForm(AdminDialogEditForm): |
312 """Mailto link properties edit form""" |
318 """Mailto link properties edit form""" |
313 |
319 |
314 prefix = 'mailtolink_properties.' |
320 prefix = 'mailtolink_properties.' |
315 |
321 |