[Erp5-report] r43159 romain - /erp5/trunk/products/ERP5Type/Core/

nobody at svn.erp5.org nobody at svn.erp5.org
Tue Feb 8 10:38:03 CET 2011


Author: romain
Date: Tue Feb  8 10:38:03 2011
New Revision: 43159

URL: http://svn.erp5.org?rev=43159&view=rev
Log:
Allow to convert the "filter_parameter" parameter.

Modified:
    erp5/trunk/products/ERP5Type/Core/CategoryRelatedMembershipArityConstraint.py

Modified: erp5/trunk/products/ERP5Type/Core/CategoryRelatedMembershipArityConstraint.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Type/Core/CategoryRelatedMembershipArityConstraint.py?rev=43159&r1=43158&r2=43159&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Type/Core/CategoryRelatedMembershipArityConstraint.py [utf8] (original)
+++ erp5/trunk/products/ERP5Type/Core/CategoryRelatedMembershipArityConstraint.py [utf8] Tue Feb  8 10:38:03 2011
@@ -75,3 +75,39 @@ class CategoryRelatedMembershipArityCons
 
     portal = obj.getPortalObject()
     return len(portal.portal_catalog.unrestrictedSearchResults(**sql_kw))
+
+  @staticmethod
+  def _convertFromFilesystemDefinition(min_arity,
+                                       portal_type=(),
+                                       max_arity=None,
+                                       base_category=(),
+                                       filter_parameter=None):
+    """
+    @see ERP5Type.mixin.constraint.ConstraintMixin._convertFromFilesystemDefinition
+
+    Filesystem definition example:
+    { 'id'            : 'source',
+      'description'   : '',
+      'type'          : 'CategoryMembershipArity',
+      'min_arity'     : '1',
+      'max_arity'     : '1',
+      'portal_type'   : ('Organisation', ),
+      'base_category' : ('source',)
+      'condition'     : 'python: object.getPortalType() == 'Foo',
+    }
+    """
+    constraint_portal_type_str = isinstance(portal_type, Expression) and \
+        portal_type.text or 'python: ' + repr(portal_type)
+
+    zodb_property_dict = dict(
+      min_arity=int(min_arity),
+      constraint_portal_type=constraint_portal_type_str,
+      constraint_base_category_list=base_category)
+
+    if max_arity is not None:
+      zodb_property_dict['max_arity'] = int(max_arity)
+
+    if filter_parameter is not None:
+      zodb_property_dict['filter_parameter'] = filter_parameter
+
+    yield zodb_property_dict



More information about the Erp5-report mailing list