9 # WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS |
9 # WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS |
10 # FOR A PARTICULAR PURPOSE. |
10 # FOR A PARTICULAR PURPOSE. |
11 # |
11 # |
12 from pyramid.location import lineage |
12 from pyramid.location import lineage |
13 |
13 |
14 from pyams_content.shared.site.zmi.container import SiteContainerTreeTable, SiteContainerTreeNameColumn |
14 from pyams_content.shared.site.zmi.container import SiteContainerTreeTable, SiteContainerTreeNameColumn, \ |
|
15 SiteContainerTreeOidColumn |
15 from pyams_utils.interfaces import VIEW_SYSTEM_PERMISSION |
16 from pyams_utils.interfaces import VIEW_SYSTEM_PERMISSION |
16 |
17 |
17 __docformat__ = 'restructuredtext' |
18 __docformat__ = 'restructuredtext' |
18 |
19 |
19 |
20 |
125 title = II18n(self.context).query_attribute('alt_title', request=self.request) |
126 title = II18n(self.context).query_attribute('alt_title', request=self.request) |
126 if not title: |
127 if not title: |
127 target = self.context.get_target() |
128 target = self.context.get_target() |
128 if target is not None: |
129 if target is not None: |
129 title = get_object_name(target, self.request, self.view) |
130 title = get_object_name(target, self.request, self.view) |
130 return '<i class="fa fa-fw fa-external-link-square rotate-90"></i>{title}'.format( |
131 return '<i class="fa fa-fw fa-external-link-square fa-rotate-90"></i>{title}'.format( |
131 title=title or '--') |
132 title=title or '--') |
132 |
133 |
133 |
134 |
134 @pagelet_config(name='properties.html', context=IContentLink, layer=IPyAMSLayer, |
135 @pagelet_config(name='properties.html', context=IContentLink, layer=IPyAMSLayer, |
135 permission=VIEW_SYSTEM_PERMISSION) |
136 permission=VIEW_SYSTEM_PERMISSION) |
149 class ContentLinkPropertiesAJAXEditForm(AJAXEditForm, ContentLinkPropertiesEditForm): |
150 class ContentLinkPropertiesAJAXEditForm(AJAXEditForm, ContentLinkPropertiesEditForm): |
150 """Content link properties edit form, JSON renderer""" |
151 """Content link properties edit form, JSON renderer""" |
151 |
152 |
152 def get_ajax_output(self, changes): |
153 def get_ajax_output(self, changes): |
153 output = super(ContentLinkPropertiesAJAXEditForm, self).get_ajax_output(changes) |
154 output = super(ContentLinkPropertiesAJAXEditForm, self).get_ajax_output(changes) |
|
155 intids = get_utility(IIntIds) |
154 if 'alt_title' in changes.get(IContentLink, ()): |
156 if 'alt_title' in changes.get(IContentLink, ()): |
155 intids = get_utility(IIntIds) |
|
156 adapter = ContentLinkTableElementName(self.context, self.request, None) |
157 adapter = ContentLinkTableElementName(self.context, self.request, None) |
157 column = SiteContainerTreeNameColumn(self.context, self.request, None) |
158 column = SiteContainerTreeNameColumn(self.context, self.request, None) |
158 output.setdefault('events', []).append({ |
159 output.setdefault('events', []).append({ |
159 'event': 'myams.refresh', |
160 'event': 'myams.refresh', |
160 'options': { |
161 'options': { |
162 'object_id': '{0}::{1}'.format(SiteContainerTreeTable.id, intids.queryId(self.context)), |
163 'object_id': '{0}::{1}'.format(SiteContainerTreeTable.id, intids.queryId(self.context)), |
163 'col_name': 'name', |
164 'col_name': 'name', |
164 'cell': column.renderCell(self.context, name=adapter.name) |
165 'cell': column.renderCell(self.context, name=adapter.name) |
165 } |
166 } |
166 }) |
167 }) |
|
168 if 'reference' in changes.get(IContentLink, ()): |
|
169 column = SiteContainerTreeOidColumn(self.context, self.request, None) |
|
170 output.setdefault('events', []).append({ |
|
171 'event': 'myams.refresh', |
|
172 'options': { |
|
173 'handler': 'MyAMS.skin.refreshRowCell', |
|
174 'object_id': '{0}::{1}'.format(SiteContainerTreeTable.id, intids.queryId(self.context)), |
|
175 'col_name': 'oid', |
|
176 'cell': column.renderCell(self.context) |
|
177 } |
|
178 }) |
167 return output |
179 return output |