33 BaseParagraphAJAXAddForm, BaseParagraphPropertiesEditForm, BaseParagraphAJAXEditForm |
33 BaseParagraphAJAXAddForm, BaseParagraphPropertiesEditForm, BaseParagraphAJAXEditForm |
34 from pyams_content.features.renderer.zmi import BaseRenderedContentRenderer |
34 from pyams_content.features.renderer.zmi import BaseRenderedContentRenderer |
35 from pyams_content.features.renderer.zmi.widget import RendererFieldWidget |
35 from pyams_content.features.renderer.zmi.widget import RendererFieldWidget |
36 from pyams_content.shared.logo.paragraph import LogosParagraph |
36 from pyams_content.shared.logo.paragraph import LogosParagraph |
37 from pyams_pagelet.pagelet import pagelet_config |
37 from pyams_pagelet.pagelet import pagelet_config |
|
38 from pyams_skin.event import get_json_widget_refresh_event |
38 from pyams_utils.adapter import adapter_config |
39 from pyams_utils.adapter import adapter_config |
39 from pyams_utils.traversing import get_parent |
40 from pyams_utils.traversing import get_parent |
40 from pyams_viewlet.viewlet import viewlet_config, BaseContentProvider |
41 from pyams_viewlet.viewlet import viewlet_config |
41 from pyams_zmi.form import AdminDialogAddForm |
42 from pyams_zmi.form import AdminDialogAddForm |
42 from pyramid.view import view_config |
43 from pyramid.view import view_config |
43 from z3c.form import field, button |
44 from z3c.form import field, button |
44 from zope.interface import implementer |
45 from zope.interface import implementer |
45 |
46 |
85 @pagelet_config(name='properties.html', context=ILogosParagraph, layer=IPyAMSLayer, |
86 @pagelet_config(name='properties.html', context=ILogosParagraph, layer=IPyAMSLayer, |
86 permission=MANAGE_CONTENT_PERMISSION) |
87 permission=MANAGE_CONTENT_PERMISSION) |
87 class LogosParagraphPropertiesEditForm(BaseParagraphPropertiesEditForm): |
88 class LogosParagraphPropertiesEditForm(BaseParagraphPropertiesEditForm): |
88 """Logos paragraph properties edit form""" |
89 """Logos paragraph properties edit form""" |
89 |
90 |
|
91 prefix = 'logos_properties.' |
|
92 |
90 @property |
93 @property |
91 def title(self): |
94 def title(self): |
92 content = get_parent(self.context, IWfSharedContent) |
95 content = get_parent(self.context, IWfSharedContent) |
93 return II18n(content).query_attribute('title', request=self.request) |
96 return II18n(content).query_attribute('title', request=self.request) |
94 |
97 |
131 |
134 |
132 def get_ajax_output(self, changes): |
135 def get_ajax_output(self, changes): |
133 output = super(LogosParagraphInnerAJAXEditForm, self).get_ajax_output(changes) |
136 output = super(LogosParagraphInnerAJAXEditForm, self).get_ajax_output(changes) |
134 updated = changes.get(ILogosParagraph, ()) |
137 updated = changes.get(ILogosParagraph, ()) |
135 if 'renderer' in updated: |
138 if 'renderer' in updated: |
136 form = LogosParagraphInnerEditForm(self.context, self.request) |
139 output.setdefault('events', []).append( |
137 form.update() |
140 get_json_widget_refresh_event(self.context, self.request, |
138 content = form.getContent() |
141 LogosParagraphInnerEditForm, 'renderer')) |
139 output.setdefault('events', []).append({ |
|
140 'evennt': 'myams.refresh', |
|
141 'options': { |
|
142 'handler': 'MyAMS.skin.refreshWidget', |
|
143 'parent_id': '{0}_{1}_{2}'.format( |
|
144 content.__class__.__name__, |
|
145 getattr(content, '__name__', 'noname').replace('++', ''), |
|
146 form.id), |
|
147 'widget_name': form.widgets['renderer'].name, |
|
148 'content': form.widgets['renderer'].render() |
|
149 } |
|
150 }) |
|
151 return output |
142 return output |
152 |
143 |
153 |
144 |
154 # |
145 # |
155 # Logos paragraph renderer |
146 # Logos paragraph renderer |