doc/book/en/devrepo/repo/hooks.rst
branchstable
changeset 8062 ffd510fb71da
parent 6756 46297c498842
child 8190 2a3c1b787688
equal deleted inserted replaced
8053:fcb2d83de850 8062:ffd510fb71da
   108                 msg = session._('detected %s cycle' % rtype)
   108                 msg = session._('detected %s cycle' % rtype)
   109                 raise ValidationError(eid, {rtype: msg})
   109                 raise ValidationError(eid, {rtype: msg})
   110             parents.add(parent.eid)
   110             parents.add(parent.eid)
   111 
   111 
   112 
   112 
   113     class CheckSubsidiaryCycleOp(DataOperationMixIn, Operation):
   113     class CheckSubsidiaryCycleOp(Operation):
   114 
   114 
   115         def precommit_event(self):
   115         def precommit_event(self):
   116             check_cycle(self.session, self.eidto, 'subsidiary_of')
   116             check_cycle(self.session, self.eidto, 'subsidiary_of')
   117 
   117 
   118 
   118 
   143        __select__ = Hook.__select__ & match_rtype('subsidiary_of')
   143        __select__ = Hook.__select__ & match_rtype('subsidiary_of')
   144 
   144 
   145        def __call__(self):
   145        def __call__(self):
   146            CheckSubsidiaryCycleOp.get_instance(self._cw).add_data(self.eidto)
   146            CheckSubsidiaryCycleOp.get_instance(self._cw).add_data(self.eidto)
   147 
   147 
   148    class CheckSubsidiaryCycleOp(Operation):
   148    class CheckSubsidiaryCycleOp(DataOperationMixIn, Operation):
   149 
   149 
   150        def precommit_event(self):
   150        def precommit_event(self):
   151            for eid in self.get_data():
   151            for eid in self.get_data():
   152                check_cycle(self.session, eid, self.rtype)
   152                check_cycle(self.session, eid, self.rtype)
   153 
   153