124 pendingrdefs = session.transaction_data.get('pendingrdefs', ()) |
124 pendingrdefs = session.transaction_data.get('pendingrdefs', ()) |
125 if (session.describe(eidfrom)[0], rtype, session.describe(eidto)[0]) in pendingrdefs: |
125 if (session.describe(eidfrom)[0], rtype, session.describe(eidto)[0]) in pendingrdefs: |
126 return |
126 return |
127 card = session.schema_rproperty(rtype, eidfrom, eidto, 'cardinality') |
127 card = session.schema_rproperty(rtype, eidfrom, eidto, 'cardinality') |
128 if card[0] in '1+' and not session.deleted_in_transaction(eidfrom): |
128 if card[0] in '1+' and not session.deleted_in_transaction(eidfrom): |
129 _CheckSRelationOp.get_instance(self._cw).add_data((eidfrom, rtype)) |
129 _CheckSRelationOp.get_instance(session).add_data((eidfrom, rtype)) |
130 if card[1] in '1+' and not session.deleted_in_transaction(eidto): |
130 if card[1] in '1+' and not session.deleted_in_transaction(eidto): |
131 _CheckORelationOp.get_instance(self._cw).add_data((eidto, rtype)) |
131 _CheckORelationOp.get_instance(session).add_data((eidto, rtype)) |
|
132 |
132 |
133 |
133 class CheckCardinalityHookAfterAddEntity(IntegrityHook): |
134 class CheckCardinalityHookAfterAddEntity(IntegrityHook): |
134 """check cardinalities are satisfied""" |
135 """check cardinalities are satisfied""" |
135 __regid__ = 'checkcard_after_add_entity' |
136 __regid__ = 'checkcard_after_add_entity' |
136 events = ('after_add_entity',) |
137 events = ('after_add_entity',) |