[Erp5-report] r43461 seb - /erp5/trunk/products/ERP5/Document/AccountTypeConstraint.py

nobody at svn.erp5.org nobody at svn.erp5.org
Fri Feb 18 09:59:02 CET 2011


Author: seb
Date: Fri Feb 18 09:59:02 2011
New Revision: 43461

URL: http://svn.erp5.org?rev=43461&view=rev
Log:
- add acquisition wrappers on temp constraint
- fix some typo errors

Modified:
    erp5/trunk/products/ERP5/Document/AccountTypeConstraint.py

Modified: erp5/trunk/products/ERP5/Document/AccountTypeConstraint.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/Document/AccountTypeConstraint.py?rev=43461&r1=43460&r2=43461&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/Document/AccountTypeConstraint.py [utf8] (original)
+++ erp5/trunk/products/ERP5/Document/AccountTypeConstraint.py [utf8] Fri Feb 18 09:59:02 2011
@@ -58,6 +58,9 @@ class AccountTypeConstraint(ConstraintMi
   def _checkConsistency(self, obj, fixit=0):
     """Implement here the consistency checker
     """
+    # self, the constraint is a temp object without acquisition wrappers, for
+    # now we need to add acquisition wrappers for category accessors
+    self_in_context = self.__of__(obj.getPortalObject())
     error_list = []
     errors = []
     if getattr(obj, 'getAccountType', _MARKER) is _MARKER:
@@ -65,20 +68,20 @@ class AccountTypeConstraint(ConstraintMi
         obj,
         translateString("Account does not have account_type category")))
     else:
-      constraint_line_list = self.objectValues(sort_on='int_index')
+      constraint_line_list = self_in_context.objectValues(sort_on='int_index')
       if len(constraint_line_list) == 0:
         raise NotImplementedError(
            "AccountTypeConstraint does not define an account type mapping lines")
       for constraint_line in constraint_line_list:
-        gap = constraint_line.getGap()
-        account_type_list = contraint_line.getAccountTypeList()
-        if obj.isMemberOf(category):
+        gap = constraint_line.getGap(base=1)
+        account_type_list = constraint_line.getAccountTypeList()
+        if obj.isMemberOf(gap):
           if obj.getAccountType() not in account_type_list:
             error_list.append(self._generateError(obj,
                 self._getMessage('message_inconsistent_account_type'),
                 # XXX we should probably print translated logical path of
                 # categories instead of category path.
-                    mapping=dict(category=category,
+                    mapping=dict(category=gap,
                                  account_type_list=
                                     ', '.join(account_type_list))))
             if fixit:



More information about the Erp5-report mailing list