[Erp5-report] r36153 yusei - /erp5/trunk/products/ERP5/Tool/DomainTool.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Wed Jun 9 13:29:13 CEST 2010
Author: yusei
Date: Wed Jun 9 13:29:12 2010
New Revision: 36153
URL: http://svn.erp5.org?rev=36153&view=rev
Log:
Make categories together if base category is the same.
Modified:
erp5/trunk/products/ERP5/Tool/DomainTool.py
Modified: erp5/trunk/products/ERP5/Tool/DomainTool.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/Tool/DomainTool.py?rev=36153&r1=36152&r2=36153&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/Tool/DomainTool.py [utf8] (original)
+++ erp5/trunk/products/ERP5/Tool/DomainTool.py [utf8] Wed Jun 9 13:29:12 2010
@@ -196,10 +196,16 @@
# defined and tested_base_category_list is passed.
predicate_category_query_list = []
predicate_category_table_name_list = []
+ category_dict = {}
for relative_url in category_list:
category_value = portal_categories.getCategoryValue(relative_url)
base_category_id = portal_categories.getBaseCategoryId(relative_url)
base_category_value = portal_categories.getCategoryValue(base_category_id)
+ if not base_category_value in category_dict:
+ category_dict[base_category_value] = []
+ category_dict[base_category_value].append(category_value)
+
+ for base_category_value, category_value_list in category_dict.iteritems():
if base_category_value.getId() in preferred_predicate_category_list:
table_index = len(predicate_category_query_list)
predicate_category_table_name = 'predicate_category_for_domain_tool_%s' % table_index
@@ -209,7 +215,7 @@
Query(predicate_category_base_category_uid=base_category_value.getUid(), table_alias_list=table_alias_list),
Query(predicate_category_category_strict_membership=1, table_alias_list=table_alias_list),
ComplexQuery(
- Query(predicate_category_category_uid=category_value.getUid(), table_alias_list=table_alias_list),
+ Query(predicate_category_category_uid=[category_value.getUid() for category_value in category_value_list], table_alias_list=table_alias_list),
Query(predicate_category_category_uid='NULL', table_alias_list=table_alias_list),
logical_operator='OR'),
logical_operator='AND'))
More information about the Erp5-report
mailing list