[Erp5-report] r38158 yo - /erp5/trunk/products/ERP5/Document/OrderBuilder.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Tue Sep 7 07:22:38 CEST 2010
Author: yo
Date: Tue Sep 7 07:22:37 2010
New Revision: 38158
URL: http://svn.erp5.org?rev=38158&view=rev
Log:
Clean up the code.
Modified:
erp5/trunk/products/ERP5/Document/OrderBuilder.py
Modified: erp5/trunk/products/ERP5/Document/OrderBuilder.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/Document/OrderBuilder.py?rev=38158&r1=38157&r2=38158&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/Document/OrderBuilder.py [utf8] (original)
+++ erp5/trunk/products/ERP5/Document/OrderBuilder.py [utf8] Tue Sep 7 07:22:37 2010
@@ -716,19 +716,32 @@ class OrderBuilder(XMLObject, Amount, Pr
"""
Return a list of movement groups sorted by collect order group and index.
"""
- category_index_dict = {}
- for i in self.getPortalObject().portal_categories.collect_order_group.contentValues():
- category_index_dict[i.getId()] = i.getIntIndex()
-
- def sort_movement_group(a, b):
- return cmp(category_index_dict.get(a.getCollectOrderGroup()),
- category_index_dict.get(b.getCollectOrderGroup())) or \
- cmp(a.getIntIndex(), b.getIntIndex())
+ portal = self.getPortalObject()
if portal_type is None:
- portal_type = self.getPortalMovementGroupTypeList()
- movement_group_list = [x for x in self.contentValues(filter={'portal_type': portal_type}) \
- if collect_order_group is None or collect_order_group == x.getCollectOrderGroup()]
- return sorted(movement_group_list, sort_movement_group)
+ portal_type = portal.getPortalMovementGroupTypeList()
+
+ if collect_order_group is None:
+ category_index_dict = {}
+ for i in portal.portal_categories.collect_order_group.contentValues():
+ category_index_dict[i.getId()] = i.getIntIndex()
+
+ def getMovementGroupKey(movement_group):
+ return (category_index_dict.get(movement_group.getCollectOrderGroup()),
+ movement_group.getIntIndex())
+
+ filter_dict = dict(portal_type=portal_type)
+ movement_group_list = self.contentValues(filter=filter_dict)
+ else:
+ def getMovementGroupKey(movement_group):
+ return movement_group.getIntIndex()
+
+ filter_dict = dict(portal_type=portal_type)
+ movement_group_list = []
+ for movement_group in self.contentValues(filter=filter_dict):
+ if movement_group.getCollectOrderGroup() == collect_order_group:
+ movement_group_list.append(movement_group)
+
+ return sorted(movement_group_list, key=getMovementGroupKey)
# XXX category name is hardcoded.
def getDeliveryMovementGroupList(self, **kw):
More information about the Erp5-report
mailing list