def create(self, vals): vals['state'] = 'done' rule = super(AuditRule, self).create(vals) rule.update_rule() if self._register_hook(rule.id): RegistryManager.signal_registry_change(self.env.cr.dbname) return rule
def _update_registry(self): """ Update the registry after a modification on action rules. """ if self.env.registry.ready: # for the sake of simplicity, simply force the registry to reload self._cr.commit() self.env.reset() RegistryManager.new(self._cr.dbname) RegistryManager.signal_registry_change(self._cr.dbname)
def _update_models(self, models=None): update = False if not models: checklists = self.with_context(active_test=True).search([]) models = { checklist.model_id: checklist for checklist in checklists } for model, checklist in models.iteritems(): if model.model not in self.env.registry.models: continue if checklist: update |= self._patch_model_decoration(model.model) else: update |= self._revert_model_decoration(model.model) if update: if self.pool.ready: RegistryManager.signal_registry_change(self._cr.dbname) self.clear_caches()
def create(self, vals): if self._context and self._context.get('bve'): vals['state'] = 'base' res = super(IrModel, self).create(vals) # this sql update is necessary since a write method here would # be not working (an orm constraint is restricting the modification # of the state field while updating ir.model) q = "UPDATE ir_model SET state = 'manual' WHERE id = %s" self.env.cr.execute(q, (res.id, )) # # update registry if self._context.get('bve'): # setup models; this reloads custom models in registry self.pool.setup_models(self._cr, partial=(not self.pool.ready)) # signal that registry has changed RegistryManager.signal_registry_change(self.env.cr.dbname) return res
def write(self, vals): res = super(AuditRule, self).write(vals) self.update_rule() if self._register_hook(self._ids): RegistryManager.signal_registry_change(self.env.cr.dbname) return res
def write(self, vals): res = super(AccountDaysOverdue, self).write(vals) if self.env['account.move.line']._register_hook(): RegistryManager.signal_registry_change( self.env.cr.dbname) return res
def _force_registry_reload(self): # setup models: this automatically adds model in registry self.pool.setup_models(self._cr, partial=(not self.pool.ready)) RegistryManager.signal_registry_change(self.env.cr.dbname)