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):
return self._convertDateToZone(self.date_utc)
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):
"""Returns the URL for column `cname_id`. Used by ListBox
Here we just want a link to the explanation of movement.
"""
document = self.getObject()
if document.isMovement():
explanation = document.getExplanationValue()
if explanation is not None:
return explanation.absolute_url()
item = self.getListItem(cname_id, selection_index, selection_name)
if item is not None:
return item.absolute_url()
return ''
def _debit(self):
......
......@@ -2344,20 +2344,24 @@ class ListBoxHTMLRendererLine(ListBoxRendererLine):
result_dict[key] = value(selection=selection, selection_name=selection.getName(), column_id=sql, index=self.index)
except TypeError:
result_dict[key] = value()
if result_dict:
if 'jio_key' not in result_dict:
url = ''
else:
try:
url = self.getObject().getPortalObject().restrictedTraverse(result_dict['jio_key']).absolute_url()
except KeyError:
url = result_dict['jio_key']
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:
if 'jio_key' not in result_dict:
url = ''
if getattr(brain, 'getListItem', None) is not None:
item = brain.getListItem(alias, self.index, selection_name)
if item is not None:
url = item.absolute_url()
else:
try:
url = self.getObject().getPortalObject().restrictedTraverse(result_dict['jio_key']).absolute_url()
except KeyError:
url = result_dict['jio_key']
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']))
# 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