diff --git a/web_responsive/models/inherited_res_users.py b/web_responsive/models/inherited_res_users.py index f567f3aa..7b80a979 100644 --- a/web_responsive/models/inherited_res_users.py +++ b/web_responsive/models/inherited_res_users.py @@ -11,3 +11,16 @@ class ResUsers(models.Model): ('normal', 'Normal'), ('sided', 'Sided'), ], string="Chatter Position", default='normal') + + def __init__(self, pool, cr): + """ Override of __init__ to add access rights. + Access rights are disabled by default, but allowed on some specific + fields defined in self.SELF_{READ/WRITE}ABLE_FIELDS. + """ + super(ResUsers, self).__init__(pool, cr) + # duplicate list to avoid modifying the original reference + type(self).SELF_WRITEABLE_FIELDS = list(self.SELF_WRITEABLE_FIELDS) + type(self).SELF_WRITEABLE_FIELDS.extend(['chatter_position']) + # duplicate list to avoid modifying the original reference + type(self).SELF_READABLE_FIELDS = list(self.SELF_READABLE_FIELDS) + type(self).SELF_READABLE_FIELDS.extend(['chatter_position']) diff --git a/web_responsive/static/src/js/web_responsive.js b/web_responsive/static/src/js/web_responsive.js index 56e60fac..bbc86175 100644 --- a/web_responsive/static/src/js/web_responsive.js +++ b/web_responsive/static/src/js/web_responsive.js @@ -10,7 +10,6 @@ odoo.define('web_responsive', function(require) { var core = require('web.core'); var config = require('web.config'); var ViewManager = require('web.ViewManager'); - var Session = require('web.session'); Menu.include({ diff --git a/web_responsive/tests/__init__.py b/web_responsive/tests/__init__.py index 6dab214a..cabee067 100644 --- a/web_responsive/tests/__init__.py +++ b/web_responsive/tests/__init__.py @@ -1 +1,2 @@ from . import test_ui +from . import test_res_users diff --git a/web_responsive/tests/test_res_users.py b/web_responsive/tests/test_res_users.py new file mode 100644 index 00000000..6f4f0322 --- /dev/null +++ b/web_responsive/tests/test_res_users.py @@ -0,0 +1,16 @@ +# Copyright 2018 Alexandre Díaz +# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html). + +from odoo.tests import common + + +class TestResUsers(common.TransactionCase): + + def test_chatter_position_wr(self): + user_public = self.env.ref('base.public_user') + + self.assertEqual(user_public.chatter_position, 'normal') + user_public.sudo(user_public).write({ + 'chatter_position': 'sided', + }) + self.assertEqual(user_public.chatter_position, 'sided') diff --git a/web_responsive/views/inherited_view_users_form_simple_modif.xml b/web_responsive/views/inherited_view_users_form_simple_modif.xml index ac389f85..9e465ba8 100644 --- a/web_responsive/views/inherited_view_users_form_simple_modif.xml +++ b/web_responsive/views/inherited_view_users_form_simple_modif.xml @@ -13,7 +13,7 @@ - +