[Erp5-report] r17080 - in /erp5/trunk/products/ERP5: Tool/ tests/
nobody at svn.erp5.org
nobody at svn.erp5.org
Mon Oct 22 11:00:33 CEST 2007
Author: jerome
Date: Mon Oct 22 11:00:33 2007
New Revision: 17080
URL: http://svn.erp5.org?rev=17080&view=rev
Log:
support group_by_date in inventory API
Modified:
erp5/trunk/products/ERP5/Tool/SimulationTool.py
erp5/trunk/products/ERP5/tests/testInventoryAPI.py
Modified: erp5/trunk/products/ERP5/Tool/SimulationTool.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/Tool/SimulationTool.py?rev=17080&r1=17079&r2=17080&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/Tool/SimulationTool.py (original)
+++ erp5/trunk/products/ERP5/Tool/SimulationTool.py Mon Oct 22 11:00:33 2007
@@ -476,6 +476,7 @@
group_by_variation=0,
group_by_movement=0,
group_by_resource=0,
+ group_by_date=0,
# sort_on
sort_on=None,
# keywords for related keys
@@ -649,6 +650,8 @@
group_by_expression_list.append('uid')
if group_by_resource:
group_by_expression_list.append('resource_uid')
+ if group_by_date:
+ group_by_expression_list.append('date')
if group_by_expression_list:
new_kw['group_by'] = group_by_expression_list
return sql_kw, new_kw
@@ -827,7 +830,7 @@
group_by_section=0, group_by_mirror_section=0,
group_by_payment=0,
group_by_variation=0, group_by_sub_variation=0,
- group_by_movement=0,
+ group_by_movement=0, group_by_date=0,
group_by_resource=None,
**ignored):
"""
@@ -843,7 +846,8 @@
if not ignore_group_by:
if group_by_node or group_by_mirror_node or group_by_section or \
group_by_mirror_section or group_by_payment or \
- group_by_sub_variation or group_by_variation or group_by_movement:
+ group_by_sub_variation or group_by_variation or \
+ group_by_movement or group_by_date:
if group_by_resource is None:
group_by_resource = 1
new_group_by_dict['group_by_resource'] = group_by_resource
Modified: erp5/trunk/products/ERP5/tests/testInventoryAPI.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/tests/testInventoryAPI.py?rev=17080&r1=17079&r2=17080&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/tests/testInventoryAPI.py (original)
+++ erp5/trunk/products/ERP5/tests/testInventoryAPI.py Mon Oct 22 11:00:33 2007
@@ -692,6 +692,21 @@
None][0].inventory, 100)
self.assertEquals([r for r in inventory_list if r.payment_uid ==
self.payment_node.getUid()][0].inventory, 200)
+
+ def test_GroupByDate(self):
+ # group by date currently only groups by *exact* date
+ getInventoryList = self.getSimulationTool().getInventoryList
+ self._makeMovement(quantity=1, start_date=DateTime(2000, 1, 1))
+ self._makeMovement(quantity=1, start_date=DateTime(2000, 1, 1))
+ self._makeMovement(quantity=1, start_date=DateTime(2001, 1, 1))
+ inventory_list = getInventoryList(node_uid=self.node.getUid(),
+ group_by_date=1)
+ self.assertEquals(2, len(inventory_list))
+ self.assertEquals([r for r in inventory_list
+ if r.date.year() == 2000][0].inventory, 2)
+ self.assertEquals([r for r in inventory_list
+ if r.date.year() == 2001][0].inventory, 1)
+
def test_OmitInputOmitOutput(self):
getInventoryList = self.getSimulationTool().getInventoryList
More information about the Erp5-report
mailing list