Exemple #1
0
 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
Exemple #2
0
 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)
Exemple #3
0
 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()
Exemple #4
0
    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
Exemple #5
0
 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
Exemple #7
0
 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)