summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristophe Simonis <chs@odoo.com>2018-07-31 18:52:40 +0200
committerChristophe Simonis <chs@odoo.com>2018-07-31 18:52:40 +0200
commit42e5b322af166c62f82f713087cb3c2a877965fe (patch)
treeda848fe33c907b9d258499f48860b6039b7a95c5
parent535d50afbde7c50b74c5e4f5a35e757103e64881 (diff)
parent0265884608b818a19a6b69f997e6ab46bd6fbbaa (diff)
[MERGE] forward port branch saas-14 up to 0265884608b
-rw-r--r--addons/im_livechat/static/src/js/im_livechat.js2
-rw-r--r--addons/website_sale/models/sale_order.py4
-rw-r--r--odoo/addons/base/res/res_users.py2
-rw-r--r--odoo/addons/base/tests/__init__.py1
-rw-r--r--odoo/addons/base/tests/test_non_regression.py26
5 files changed, 31 insertions, 4 deletions
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))