# HG changeset patch
# User Sylvain Thénault <sylvain.thenault@logilab.fr>
# Date 1307720501 -7200
# Node ID 0c75ed374b06250df0e7aea75fc72300bf8ee876
# Parent  3c46b93908711a9d9d770a0701163c98d8036917# Parent  09d245a9bf5ff68c4dd8e702e7a0037028e9b3ff
backport stable

diff -r 3c46b9390871 -r 0c75ed374b06 hooks/integrity.py
--- a/hooks/integrity.py	Fri Jun 10 16:54:20 2011 +0200
+++ b/hooks/integrity.py	Fri Jun 10 17:41:41 2011 +0200
@@ -126,9 +126,10 @@
             return
         card = session.schema_rproperty(rtype, eidfrom, eidto, 'cardinality')
         if card[0] in '1+' and not session.deleted_in_transaction(eidfrom):
-            _CheckSRelationOp.get_instance(self._cw).add_data((eidfrom, rtype))
+            _CheckSRelationOp.get_instance(session).add_data((eidfrom, rtype))
         if card[1] in '1+' and not session.deleted_in_transaction(eidto):
-            _CheckORelationOp.get_instance(self._cw).add_data((eidto, rtype))
+            _CheckORelationOp.get_instance(session).add_data((eidto, rtype))
+
 
 class CheckCardinalityHookAfterAddEntity(IntegrityHook):
     """check cardinalities are satisfied"""
@@ -150,21 +151,6 @@
                     op = _CheckORelationOp.get_instance(self._cw)
                 op.add_data((eid, rschema.type))
 
-    def before_delete_relation(self):
-        rtype = self.rtype
-        if rtype in DONT_CHECK_RTYPES_ON_DEL:
-            return
-        session = self._cw
-        eidfrom, eidto = self.eidfrom, self.eidto
-        pendingrdefs = session.transaction_data.get('pendingrdefs', ())
-        if (session.describe(eidfrom)[0], rtype, session.describe(eidto)[0]) in pendingrdefs:
-            return
-        card = session.schema_rproperty(rtype, eidfrom, eidto, 'cardinality')
-        if card[0] in '1+' and not session.deleted_in_transaction(eidfrom):
-            _CheckSRelationOp.get_instance(self._cw).add_data((eidfrom, rtype))
-        if card[1] in '1+' and not session.deleted_in_transaction(eidto):
-            _CheckORelationOp.get_instance(self._cw).add_data((eidto, rtype))
-
 
 class _CheckConstraintsOp(hook.DataOperationMixIn, hook.LateOperation):
     """ check a new relation satisfy its constraints """