[Erp5-report] r31954 nicolas - /erp5/trunk/products/ERP5Type/Constraint/
nobody at svn.erp5.org
nobody at svn.erp5.org
Mon Jan 25 18:05:29 CET 2010
Author: nicolas
Date: Mon Jan 25 18:05:27 2010
New Revision: 31954
URL: http://svn.erp5.org?rev=31954&view=rev
Log:
Extend Constraint definition to support additional parameters, approved by jerome
Modified:
erp5/trunk/products/ERP5Type/Constraint/CategoryRelatedMembershipArity.py
Modified: erp5/trunk/products/ERP5Type/Constraint/CategoryRelatedMembershipArity.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Type/Constraint/CategoryRelatedMembershipArity.py?rev=31954&r1=31953&r2=31954&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Type/Constraint/CategoryRelatedMembershipArity.py [utf8] (original)
+++ erp5/trunk/products/ERP5Type/Constraint/CategoryRelatedMembershipArity.py [utf8] Mon Jan 25 18:05:27 2010
@@ -1,6 +1,7 @@
+# -*- coding: utf-8 -*-
##############################################################################
#
-# Copyright (c) 2002, 2005 Nexedi SARL and Contributors. All Rights Reserved.
+# Copyright (c) 2010 Nexedi SA and Contributors. All Rights Reserved.
# Sebastien Robin <seb at nexedi.com>
# Courteaud Romain <romain at nexedi.com>
#
@@ -48,11 +49,17 @@
'base_category' : ('causality',)
'condition' : 'python: object.getPortalType() == 'Foo',
},
+
+ additional parameters passed to catalog are accepted:
+ 'filter_parameter': {'simulation_state': ('planned',)},
"""
-
+
def _calculateArity(self, obj):
base_category = self.constraint_definition['base_category']
- portal_type = self.constraint_definition['portal_type']
- return len(obj._getRelatedValueList(base_category,
- portal_type=portal_type))
+ sql_kw = {'portal_type': self.constraint_definition['portal_type'],
+ '%s_uid' % base_category: obj.getUid()}
+ filter_parameter = self.constraint_definition.get('filter_parameter', {})
+ sql_kw.update(filter_parameter)
+ portal = obj.getPortalObject()
+ return len(portal.portal_catalog.unrestrictedSearchResults(**sql_kw))
More information about the Erp5-report
mailing list