[Erp5-report] r10030 - in /erp5/trunk/products/CMFCategory: ./ tests/
nobody at svn.erp5.org
nobody at svn.erp5.org
Sat Sep 16 15:48:56 CEST 2006
Author: jerome
Date: Sat Sep 16 15:48:52 2006
New Revision: 10030
URL: http://svn.erp5.org?rev=10030&view=rev
Log:
Implement support for strict_membership in getCategoryMemberValueList. from Guy Oswald Obama
Modified:
erp5/trunk/products/CMFCategory/CategoryTool.py
erp5/trunk/products/CMFCategory/tests/testCMFCategory.py
Modified: erp5/trunk/products/CMFCategory/CategoryTool.py
URL: http://svn.erp5.org/erp5/trunk/products/CMFCategory/CategoryTool.py?rev=10030&r1=10029&r2=10030&view=diff
==============================================================================
--- erp5/trunk/products/CMFCategory/CategoryTool.py (original)
+++ erp5/trunk/products/CMFCategory/CategoryTool.py Sat Sep 16 15:48:52 2006
@@ -1380,11 +1380,14 @@
else:
raise CategoryError('getCategoryMemberValueList must know the base category')
strict_membership = kw.get('strict_membership', kw.get('strict', 0))
- catalog_search = self.portal_catalog(portal_type = portal_type,
- # TODO: make it work in catalog tool
- # category_strict_membership = strict_membership,
- selection_domain = DomainSelection(domain_dict = {base_category:context}))
-
+
+ if strict_membership:
+ catalog_search = self.portal_catalog(portal_type = portal_type,
+ selection_report = DomainSelection(domain_dict = {base_category:context}))
+ else:
+ catalog_search = self.portal_catalog(portal_type = portal_type,
+ selection_domain = DomainSelection(domain_dict = {base_category:context}))
+
return catalog_search
security.declareProtected( Permissions.AccessContentsInformation, 'getCategoryMemberItemList' )
Modified: erp5/trunk/products/CMFCategory/tests/testCMFCategory.py
URL: http://svn.erp5.org/erp5/trunk/products/CMFCategory/tests/testCMFCategory.py?rev=10030&r1=10029&r2=10030&view=diff
==============================================================================
--- erp5/trunk/products/CMFCategory/tests/testCMFCategory.py (original)
+++ erp5/trunk/products/CMFCategory/tests/testCMFCategory.py Sat Sep 16 15:48:52 2006
@@ -611,6 +611,49 @@
region_value.setCategoryList(category_list)
self.assertEqual(category_list, region_value.getCategoryList())
+ def test_19_CategoryMemberValueList(self, quiet=0, run=run_all_test):
+ """Test strict_membership parameter to Category Member Value List """
+ if not run : return
+ if not quiet:
+ message = 'Test strict_membership and Category Member Value List'
+ ZopeTestCase._print('\n '+message)
+ LOG('Testing... ',0,message)
+
+ portal_categories = self.getCategoryTool()
+ organisation = self.getOrganisationModule().newContent(
+ portal_type='Organisation', region='west/france')
+
+ get_transaction().commit()
+ self.tic()
+
+ self.assertEquals([x.getObject() for x in
+ portal_categories.getCategoryMemberValueList(
+ portal_categories.region.west.france,
+ base_category='region',
+ strict_membership=0,
+ portal_type='Organisation')], [organisation])
+
+ self.assertEquals([x.getObject() for x in
+ portal_categories.getCategoryMemberValueList(
+ portal_categories.region.west.france,
+ base_category='region',
+ strict_membership=1,
+ portal_type='Organisation')], [organisation])
+
+ self.assertEquals([x.getObject() for x in
+ portal_categories.getCategoryMemberValueList(
+ portal_categories.region.west,
+ base_category='region',
+ strict_membership=0,
+ portal_type='Organisation')], [organisation])
+
+ self.assertEquals([x.getObject() for x in
+ portal_categories.getCategoryMemberValueList(
+ portal_categories.region.west,
+ base_category='region',
+ strict_membership=1,
+ portal_type='Organisation')], [])
+
if __name__ == '__main__':
framework()
else:
More information about the Erp5-report
mailing list