equal
deleted
inserted
replaced
196 """ |
196 """ |
197 __regid__ = 'deletecomposite' |
197 __regid__ = 'deletecomposite' |
198 events = ('before_delete_relation',) |
198 events = ('before_delete_relation',) |
199 |
199 |
200 def __call__(self): |
200 def __call__(self): |
|
201 # if the relation is being delete, don't delete composite's components |
|
202 # automatically |
|
203 pendingrdefs = self._cw.transaction_data.get('pendingrdefs', ()) |
|
204 if (self._cw.describe(eidfrom)[0], rtype, self._cw.describe(eidto)[0]) in pendingrdefs: |
|
205 return |
201 composite = self._cw.schema_rproperty(self.rtype, self.eidfrom, self.eidto, |
206 composite = self._cw.schema_rproperty(self.rtype, self.eidfrom, self.eidto, |
202 'composite') |
207 'composite') |
203 if composite == 'subject': |
208 if composite == 'subject': |
204 _DelayedDeleteOp(self._cw, eid=self.eidto, |
209 _DelayedDeleteOp(self._cw, eid=self.eidto, |
205 relation='Y %s X' % self.rtype) |
210 relation='Y %s X' % self.rtype) |