mirror of
https://github.com/OCA/server-backend.git
synced 2025-02-18 09:52:42 +02:00
[MIG] base_user_role: Migration to 12.0
This commit is contained in:
committed by
Tatiana Deribina
parent
a06bae9190
commit
48831feac8
@@ -6,71 +6,19 @@
|
||||
User roles
|
||||
==========
|
||||
|
||||
This module was written to extend the standard functionality regarding users
|
||||
and groups management.
|
||||
It helps creating well-defined user roles and associating them to users.
|
||||
|
||||
It can become very hard to maintain a large number of user profiles over time,
|
||||
juggling with many technical groups. For this purpose, this module will help
|
||||
you to:
|
||||
|
||||
* define functional roles by aggregating low-level groups,
|
||||
* set user accounts with the predefined roles (roles are cumulative),
|
||||
* update groups of all relevant user accounts (all at once),
|
||||
* ensure that user accounts will have the groups defined in their roles
|
||||
(nothing more, nothing less). In other words, you can not set groups
|
||||
manually on a user as long as there is roles configured on it,
|
||||
* activate/deactivate roles depending on the date (useful to plan holidays, etc)
|
||||
* get a quick overview of roles and the related user accounts.
|
||||
|
||||
That way you make clear the different responsabilities within a company, and
|
||||
are able to add and update user accounts in a scalable and reliable way.
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
||||
To configure this module, you need to go to *Configuration / Users / Roles*,
|
||||
and create a new role. From there, you can add groups to compose your role,
|
||||
and then associate users to it.
|
||||
|
||||
You can also define default roles for a new user by editing the user called
|
||||
"Default User".
|
||||
|
||||
Roles:
|
||||
|
||||
.. image:: /base_user_role/static/description/roles.png
|
||||
|
||||
Add groups:
|
||||
|
||||
.. image:: /base_user_role/static/description/role_groups.png
|
||||
|
||||
Add users (with dates or not):
|
||||
|
||||
.. image:: /base_user_role/static/description/role_users.png
|
||||
|
||||
Bug Tracker
|
||||
===========
|
||||
|
||||
Bugs are tracked on `GitHub Issues
|
||||
<https://github.com/OCA/server-backend/issues>`_. In case of trouble, please
|
||||
check there if your issue has already been reported. If you spotted it first,
|
||||
help us smash it by providing detailed and welcomed feedback.
|
||||
|
||||
Credits
|
||||
=======
|
||||
|
||||
Images
|
||||
------
|
||||
|
||||
* Oxygen Team: `Icon <http://www.iconarchive.com/show/oxygen-icons-by-oxygen-icons.org/Actions-user-group-new-icon.html>`_ (LGPL)
|
||||
|
||||
Contributors
|
||||
------------
|
||||
|
||||
* Sébastien Alix <sebastien.alix@osiell.com>
|
||||
* Duc, Dao Dong <duc.dd@komit-consulting.com> (https://komit-consulting.com)
|
||||
|
||||
Do not contact contributors directly about support or help with technical issues.
|
||||
|
||||
Maintainer
|
||||
----------
|
||||
|
||||
@@ -3,11 +3,11 @@
|
||||
|
||||
{
|
||||
'name': 'User roles',
|
||||
'version': '11.0.1.0.1',
|
||||
'version': '12.0.1.0.0',
|
||||
'category': 'Tools',
|
||||
'author': 'ABF OSIELL, Odoo Community Association (OCA)',
|
||||
'license': 'AGPL-3',
|
||||
'maintainer': 'ABF OSIELL',
|
||||
'maintainers': ['ABF OSIELL', 'jcdrubay'],
|
||||
'website': 'http://www.osiell.com',
|
||||
'depends': [
|
||||
'base',
|
||||
@@ -20,5 +20,4 @@
|
||||
'views/user.xml',
|
||||
],
|
||||
'installable': True,
|
||||
'auto_install': False,
|
||||
}
|
||||
|
||||
@@ -19,14 +19,16 @@ class ResUsersRole(models.Model):
|
||||
readonly=True, string="Associated group")
|
||||
line_ids = fields.One2many(
|
||||
comodel_name='res.users.role.line',
|
||||
inverse_name='role_id', string="Users")
|
||||
inverse_name='role_id', string="Role lines")
|
||||
user_ids = fields.One2many(
|
||||
comodel_name='res.users', string="Users",
|
||||
comodel_name='res.users', string="Users list",
|
||||
compute='_compute_user_ids')
|
||||
group_category_id = fields.Many2one(
|
||||
related='group_id.category_id',
|
||||
default=lambda cls: cls.env.ref(
|
||||
'base_user_role.ir_module_category_role').id)
|
||||
'base_user_role.ir_module_category_role').id,
|
||||
string="Associated category",
|
||||
help="Associated group's category")
|
||||
|
||||
@api.multi
|
||||
@api.depends('line_ids.user_id')
|
||||
@@ -86,11 +88,11 @@ class ResUsersRoleLine(models.Model):
|
||||
for role_line in self:
|
||||
role_line.is_enabled = True
|
||||
if role_line.date_from:
|
||||
date_from = fields.Date.from_string(role_line.date_from)
|
||||
date_from = role_line.date_from
|
||||
if date_from > today:
|
||||
role_line.is_enabled = False
|
||||
if role_line.date_to:
|
||||
date_to = fields.Date.from_string(role_line.date_to)
|
||||
date_to = role_line.date_to
|
||||
if today > date_to:
|
||||
role_line.is_enabled = False
|
||||
|
||||
|
||||
18
base_user_role/readme/CONFIGURE.rst
Normal file
18
base_user_role/readme/CONFIGURE.rst
Normal file
@@ -0,0 +1,18 @@
|
||||
To configure this module, you need to go to *Configuration / Users / Roles*,
|
||||
and create a new role. From there, you can add groups to compose your role,
|
||||
and then associate users to it.
|
||||
|
||||
You can also define default roles for a new user by editing the user called
|
||||
"Default User".
|
||||
|
||||
Roles:
|
||||
|
||||
.. image:: /base_user_role/static/description/roles.png
|
||||
|
||||
Add groups:
|
||||
|
||||
.. image:: /base_user_role/static/description/role_groups.png
|
||||
|
||||
Add users (with dates or not):
|
||||
|
||||
.. image:: /base_user_role/static/description/role_users.png
|
||||
5
base_user_role/readme/CONTRIBUTORS.rst
Normal file
5
base_user_role/readme/CONTRIBUTORS.rst
Normal file
@@ -0,0 +1,5 @@
|
||||
* Sébastien Alix <sebastien.alix@osiell.com>
|
||||
* Duc, Dao Dong <duc.dd@komit-consulting.com> (https://komit-consulting.com)
|
||||
* Jean-Charles Drubay <jc@komit-consulting.com> (https://komit-consulting.com)
|
||||
|
||||
Do not contact contributors directly about support or help with technical issues.
|
||||
4
base_user_role/readme/CREDITS.rst
Normal file
4
base_user_role/readme/CREDITS.rst
Normal file
@@ -0,0 +1,4 @@
|
||||
Images
|
||||
------
|
||||
|
||||
* Oxygen Team: `Icon <http://www.iconarchive.com/show/oxygen-icons-by-oxygen-icons.org/Actions-user-group-new-icon.html>`_ (LGPL)
|
||||
19
base_user_role/readme/DESCRIPTION.rst
Normal file
19
base_user_role/readme/DESCRIPTION.rst
Normal file
@@ -0,0 +1,19 @@
|
||||
This module was written to extend the standard functionality regarding users
|
||||
and groups management.
|
||||
It helps creating well-defined user roles and associating them to users.
|
||||
|
||||
It can become very hard to maintain a large number of user profiles over time,
|
||||
juggling with many technical groups. For this purpose, this module will help
|
||||
you to:
|
||||
|
||||
* define functional roles by aggregating low-level groups,
|
||||
* set user accounts with the predefined roles (roles are cumulative),
|
||||
* update groups of all relevant user accounts (all at once),
|
||||
* ensure that user accounts will have the groups defined in their roles
|
||||
(nothing more, nothing less). In other words, you can not set groups
|
||||
manually on a user as long as there is roles configured on it,
|
||||
* activate/deactivate roles depending on the date (useful to plan holidays, etc)
|
||||
* get a quick overview of roles and the related user accounts.
|
||||
|
||||
That way you make clear the different responsabilities within a company, and
|
||||
are able to add and update user accounts in a scalable and reliable way.
|
||||
4
base_user_role/readme/ROADMAP.rst
Normal file
4
base_user_role/readme/ROADMAP.rst
Normal file
@@ -0,0 +1,4 @@
|
||||
Bugs are tracked on `GitHub Issues
|
||||
<https://github.com/OCA/server-backend/issues>`_. In case of trouble, please
|
||||
check there if your issue has already been reported. If you spotted it first,
|
||||
help us smash it by providing detailed and welcomed feedback.
|
||||
13
base_user_role/readme/USAGE.rst
Normal file
13
base_user_role/readme/USAGE.rst
Normal file
@@ -0,0 +1,13 @@
|
||||
[ This file must be present and contains the usage instructions
|
||||
for end-users. As all other rst files included in the README,
|
||||
it MUST NOT contain reStructuredText sections
|
||||
only body text (paragraphs, lists, tables, etc). Should you need
|
||||
a more elaborate structure to explain the addon, please create a
|
||||
Sphinx documentation (which may include this file as a "quick start"
|
||||
section). ]
|
||||
|
||||
To use this module, you need to:
|
||||
|
||||
#. Go to Configuration / Users / Users choose user and set Roles:
|
||||
|
||||
.. image:: /base_user_role/static/description/user_form.png
|
||||
BIN
base_user_role/static/description/user_form.png
Normal file
BIN
base_user_role/static/description/user_form.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 22 KiB |
@@ -28,13 +28,16 @@ class TestUserRole(TransactionCase):
|
||||
self.role1_id = self.role_model.create(vals)
|
||||
|
||||
# ROLE_2
|
||||
# Must have group_user in order to have sufficient groups. Check:
|
||||
# github.com/odoo/odoo/commit/c3717f3018ce0571aa41f70da4262cc946d883b4
|
||||
self.group_multi_currency_id = self.env.ref(
|
||||
'base.group_multi_currency')
|
||||
self.group_settings_id = self.env.ref('base.group_system')
|
||||
vals = {
|
||||
'name': "ROLE_2",
|
||||
'implied_ids': [
|
||||
(6, 0, [self.group_multi_currency_id.id,
|
||||
(6, 0, [self.group_user_id.id,
|
||||
self.group_multi_currency_id.id,
|
||||
self.group_settings_id.id])],
|
||||
}
|
||||
self.role2_id = self.role_model.create(vals)
|
||||
|
||||
Reference in New Issue
Block a user