[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