Commit 0d1ee91a authored by Xiaowu Zhang's avatar Xiaowu Zhang Committed by Ayush Tiwari

[erp5_pdm]: Migrate Resource_viewMovementHistory listbox's URL columns

parent f68c139d
...@@ -343,15 +343,20 @@ class MovementHistoryListBrain(InventoryListBrain): ...@@ -343,15 +343,20 @@ class MovementHistoryListBrain(InventoryListBrain):
return self._convertDateToZone(self.date_utc) return self._convertDateToZone(self.date_utc)
date = ComputedAttribute(_date, 1) date = ComputedAttribute(_date, 1)
def getListItem(self, cname_id, selection_index, selection_name):
document = self.getObject()
if document.isMovement():
return document.getExplanationValue()
def getListItemParamDict(self, cname_id, selection_index, selection_name):
return {}
def getListItemUrl(self, cname_id, selection_index, selection_name): def getListItemUrl(self, cname_id, selection_index, selection_name):
"""Returns the URL for column `cname_id`. Used by ListBox """Returns the URL for column `cname_id`. Used by ListBox
Here we just want a link to the explanation of movement. Here we just want a link to the explanation of movement.
""" """
document = self.getObject() item = self.getListItem(cname_id, selection_index, selection_name)
if document.isMovement(): if item is not None:
explanation = document.getExplanationValue() return item.absolute_url()
if explanation is not None:
return explanation.absolute_url()
return '' return ''
def _debit(self): def _debit(self):
......
...@@ -2344,20 +2344,24 @@ class ListBoxHTMLRendererLine(ListBoxRendererLine): ...@@ -2344,20 +2344,24 @@ class ListBoxHTMLRendererLine(ListBoxRendererLine):
result_dict[key] = value(selection=selection, selection_name=selection.getName(), column_id=sql, index=self.index) result_dict[key] = value(selection=selection, selection_name=selection.getName(), column_id=sql, index=self.index)
except TypeError: except TypeError:
result_dict[key] = value() result_dict[key] = value()
if result_dict:
if 'jio_key' not in result_dict: if 'jio_key' not in result_dict:
url = '' url = ''
else: if getattr(brain, 'getListItem', None) is not None:
try: item = brain.getListItem(alias, self.index, selection_name)
url = self.getObject().getPortalObject().restrictedTraverse(result_dict['jio_key']).absolute_url() if item is not None:
except KeyError: url = item.absolute_url()
url = result_dict['jio_key'] else:
try:
if 'view_action' in result_dict: url = self.getObject().getPortalObject().restrictedTraverse(result_dict['jio_key']).absolute_url()
url += result_dict['view_action'] except KeyError:
if 'parameter' not in result_dict and getattr(brain, 'getListItemParamDict', None) is not None: url = result_dict['jio_key']
result_dict['parameter'] = brain.getListItemParamDict(alias, self.index, selection_name)
if 'parameter' in result_dict: if 'view_action' in result_dict:
url += result_dict['view_action']
if 'parameter' not in result_dict and getattr(brain, 'getListItemParamDict', None) is not None:
result_dict['parameter'] = brain.getListItemParamDict(alias, self.index, selection_name)
if 'parameter' in result_dict:
url = '%s?%s' % (url, make_query(result_dict['parameter'])) url = '%s?%s' % (url, make_query(result_dict['parameter']))
# Find an URL method. # Find an URL method.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment