Commit 6af84365 authored by Xiaowu Zhang's avatar Xiaowu Zhang Committed by Ayush Tiwari

erp5_core: add method to get url parameter

parent ac01cf72
...@@ -173,38 +173,16 @@ class InventoryListBrain(ComputedAttributeGetItemCompatibleMixin): ...@@ -173,38 +173,16 @@ class InventoryListBrain(ComputedAttributeGetItemCompatibleMixin):
return resource.reference return resource.reference
resource_reference = ComputedAttribute(getResourceReference, 1) resource_reference = ComputedAttribute(getResourceReference, 1)
def getListItemUrl(self, cname_id, selection_index, selection_name): def getListItemParamDict(self, cname_id, selection_index, selection_name):
"""Returns the URL for column `cname_id`. Used by ListBox
"""
resource = self.getResourceValue()
if cname_id in ('getExplanationText', 'getExplanation', ):
o = self.getObject()
if o is not None:
if not getattr(o, 'isDelivery', 0):
explanation = o.getExplanationValue()
else:
# Additional inventory movements are catalogged in stock table
# with the inventory's uid. Then they are their own explanation.
explanation = o
if explanation is not None:
return explanation.absolute_url()
return ''
elif resource is not None:
# A resource is defined, so try to display the movement list
form_id = 'Resource_viewMovementHistory'
query_kw = { query_kw = {
'variation_text': self.variation_text, 'variation_text': self.variation_text,
'selection_name': selection_name, 'selection_name': selection_name,
'selection_index': selection_index, 'selection_index': selection_index,
'domain_name': selection_name, 'domain_name': selection_name,
"node_uid": self.node_uid 'node_uid': self.node_uid
} }
# Add parameters to query_kw
query_kw_update = {} query_kw_update = {}
if cname_id in ('getCurrentInventory', ):
if cname_id in ('transformed_resource_title', ):
return resource.absolute_url()
elif cname_id in ('getCurrentInventory', ):
query_kw_update = { query_kw_update = {
'simulation_state': 'simulation_state':
list(self.getPortalCurrentInventoryStateList() + \ list(self.getPortalCurrentInventoryStateList() + \
...@@ -242,6 +220,30 @@ class InventoryListBrain(ComputedAttributeGetItemCompatibleMixin): ...@@ -242,6 +220,30 @@ class InventoryListBrain(ComputedAttributeGetItemCompatibleMixin):
list(self.getPortalReservedInventoryStateList()) list(self.getPortalReservedInventoryStateList())
} }
query_kw.update(query_kw_update) query_kw.update(query_kw_update)
return query_kw
def getListItemUrl(self, cname_id, selection_index, selection_name):
"""Returns the URL for column `cname_id`. Used by ListBox
"""
resource = self.getResourceValue()
if cname_id in ('getExplanationText', 'getExplanation', ):
o = self.getObject()
if o is not None:
if not getattr(o, 'isDelivery', 0):
explanation = o.getExplanationValue()
else:
# Additional inventory movements are catalogged in stock table
# with the inventory's uid. Then they are their own explanation.
explanation = o
if explanation is not None:
return explanation.absolute_url()
return ''
elif resource is not None:
if cname_id in ('transformed_resource_title', ):
return resource.absolute_url()
# A resource is defined, so try to display the movement list
form_id = 'Resource_viewMovementHistory'
query_kw = self.getListItemParamDict(cname_id, selection_index, selection_name)
return '%s/%s?%s&reset=1' % ( resource.absolute_url(), return '%s/%s?%s&reset=1' % ( resource.absolute_url(),
form_id, form_id,
make_query(**query_kw) ) make_query(**query_kw) )
......
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