diff --git a/addons/website_theme_install/views/views.xml b/addons/website_theme_install/views/views.xml index d53e1494570..258783a0489 100644 --- a/addons/website_theme_install/views/views.xml +++ b/addons/website_theme_install/views/views.xml @@ -86,6 +86,7 @@ action = { + 0 diff --git a/odoo/addons/base/ir/ir_actions.py b/odoo/addons/base/ir/ir_actions.py index e24ebedba1b..982a0364089 100644 --- a/odoo/addons/base/ir/ir_actions.py +++ b/odoo/addons/base/ir/ir_actions.py @@ -602,18 +602,19 @@ class IrActionsTodo(models.Model): def create(self, vals): todo = super(IrActionsTodo, self).create(vals) if todo.state == "open": - todo.ensure_one_open_todo() + self.ensure_one_open_todo() return todo + @api.multi def write(self, vals): res = super(IrActionsTodo, self).write(vals) if vals.get('state', '') == 'open': - for todo in self: - todo.ensure_one_open_todo() + self.ensure_one_open_todo() return res + @api.model def ensure_one_open_todo(self): - open_todo = self.search(['&', ('state', '=', 'open'), ('id', '!=', self.id)]) + open_todo = self.search([('state', '=', 'open')], order='sequence asc, id desc', offset=1) if open_todo: open_todo.write({'state': 'done'})