src/pyams_content/shared/site/zmi/link.py
changeset 300 49e8f3cef75a
parent 294 8742c8ac126c
child 323 bedd601d32bf
equal deleted inserted replaced
299:70de02fd0cd1 300:49e8f3cef75a
     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