diff --git a/addons/im_livechat/static/src/js/im_livechat.js b/addons/im_livechat/static/src/js/im_livechat.js index 10cc5610214..f615b5b110b 100644 --- a/addons/im_livechat/static/src/js/im_livechat.js +++ b/addons/im_livechat/static/src/js/im_livechat.js @@ -313,7 +313,7 @@ var Feedback = Widget.extend({ // only display textearea if bad smiley selected var close_chat = false; - if (this.rating === 0) { + if (this.rating === 1) { this.$('.o_livechat_rating_reason').show(); } else { this.$('.o_livechat_rating_reason').hide(); diff --git a/addons/website_sale/models/sale_order.py b/addons/website_sale/models/sale_order.py index a828a612f0e..e7ca966e329 100644 --- a/addons/website_sale/models/sale_order.py +++ b/addons/website_sale/models/sale_order.py @@ -239,8 +239,8 @@ class Website(models.Model): if not pricelists: # no pricelist for this country, or no GeoIP pricelists |= all_pl.filtered(lambda pl: not show_visible or pl.selectable or pl.id in (current_pl, order_pl)) - else: - pricelists |= all_pl.filtered(lambda pl: not show_visible and pl.sudo().code) + if not show_visible and not country_code: + pricelists |= all_pl.filtered(lambda pl: pl.sudo().code) # This method is cached, must not return records! See also #8795 return pricelists.ids diff --git a/odoo/addons/base/res/res_users.py b/odoo/addons/base/res/res_users.py index f06c82dc912..03058c4065c 100644 --- a/odoo/addons/base/res/res_users.py +++ b/odoo/addons/base/res/res_users.py @@ -684,7 +684,7 @@ class UsersImplied(models.Model): for user in self.with_context({}): gs = set(concat(g.trans_implied_ids for g in user.groups_id)) vals = {'groups_id': [(4, g.id) for g in gs]} - super(UsersImplied, self).write(vals) + super(UsersImplied, user).write(vals) return res # diff --git a/odoo/addons/base/tests/__init__.py b/odoo/addons/base/tests/__init__.py index a59e87094f7..6aff4cf210c 100644 --- a/odoo/addons/base/tests/__init__.py +++ b/odoo/addons/base/tests/__init__.py @@ -32,3 +32,4 @@ import test_view_validation import test_views import test_xmlrpc import test_res_partner_bank +import test_non_regression diff --git a/odoo/addons/base/tests/test_non_regression.py b/odoo/addons/base/tests/test_non_regression.py new file mode 100644 index 00000000000..1f75578079a --- /dev/null +++ b/odoo/addons/base/tests/test_non_regression.py @@ -0,0 +1,26 @@ +# -*- coding: utf-8 -*- +""" + Non-Regression Tests +""" + +from openerp.tests.common import TransactionCase + + +class TestNR(TransactionCase): + def test_issue26036(self): + U = self.env["res.users"] + G = self.env["res.groups"] + + group_A = G.create({"name": "A"}) + group_AA = G.create({"name": "AA", "implied_ids": [(6, 0, [group_A.id])]}) + group_B = G.create({"name": "B"}) + group_BB = G.create({"name": "BB", "implied_ids": [(6, 0, [group_B.id])]}) + group_C = G.create({"name": "C"}) + + user_a = U.create({"name": "a", "login": "a", "groups_id": [(6, 0, [group_AA.id])]}) + user_b = U.create({"name": "b", "login": "b", "groups_id": [(6, 0, [group_BB.id])]}) + + (user_a + user_b).write({"groups_id": [(4, group_C.id)]}) + + self.assertEqual(user_a.groups_id, (group_AA + group_A + group_C)) + self.assertEqual(user_b.groups_id, (group_BB + group_B + group_C))