Guest User

Untitled

a guest
Oct 7th, 2019
755
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Diff 1.75 KB | None | 0 0
  1. ++ b/addons/crm/models/crm_lead.py
  2. @@ -213,7 +213,10 @@ class Lead(models.Model):
  3.      @api.onchange('stage_id')
  4.      def _onchange_stage_id(self):
  5.          values = self._onchange_stage_id_values(self.stage_id.id)
  6. -        self.update(values)
  7. +        action = self.env.ref('crm.crm_lead_lost_action').read()[0]
  8. +        return {
  9. +            'action': action
  10. +        }
  11.  
  12.      def _onchange_partner_id_values(self, partner_id):
  13.          """ returns the new values when partner_id has changed """
  14. diff --git a/addons/web/static/src/js/views/basic/basic_model.js b/addons/web/static/src/js/views/basic/basic_model.js
  15. index cb48e09fe98..b3ea29ed198 100644
  16. --- a/addons/web/static/src/js/views/basic/basic_model.js
  17. +++ b/addons/web/static/src/js/views/basic/basic_model.js
  18. @@ -3753,6 +3753,9 @@ var BasicModel = AbstractModel.extend({
  19.                      // ignore the onchange.
  20.                      return;
  21.                  }
  22. +                if (result.action) {
  23. +                    self.do_action(result.action);
  24. +                }
  25.                  if (result.warning) {
  26.                      self.trigger_up('warning', {
  27.                          message: result.warning.message,
  28. diff --git a/odoo/models.py b/odoo/models.py
  29. index a69ee54781f..53103697f69 100644
  30. --- a/odoo/models.py
  31. +++ b/odoo/models.py
  32. @@ -5345,6 +5345,8 @@ class BaseModel(MetaModel('DummyModel', (object,), {'_register': False})):
  33.                      res['warning'].get('title') or _("Warning"),
  34.                      res['warning'].get('message') or "",
  35.                  ))
  36. +            if res.get('action'):
  37. +                result['action'] = res['action']
  38.  
  39.          if onchange in ("1", "true"):
  40.              for method in self._onchange_methods.get(field_name, ()):
Add Comment
Please, Sign In to add comment