Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
167 changes: 167 additions & 0 deletions base_user_role/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,167 @@
==========
User roles
==========

..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:88b9523f2857963839e1f027acf90d647e11340019289270069f3df5063fbc25
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |badge1| image:: https://img.shields.io/badge/maturity-Production%2FStable-green.png
:target: https://odoo-community.org/page/development-status
:alt: Production/Stable
.. |badge2| image:: https://img.shields.io/badge/licence-LGPL--3-blue.png
:target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html
:alt: License: LGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fserver--backend-lightgray.png?logo=github
:target: https://github.com/OCA/server-backend/tree/16.0/base_user_role
:alt: OCA/server-backend
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/server-backend-16-0/server-backend-16-0-base_user_role
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
:target: https://runboat.odoo-community.org/builds?repo=OCA/server-backend&target_branch=16.0
:alt: Try me on Runboat

|badge1| |badge2| |badge3| |badge4| |badge5|

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.

**Table of contents**

.. contents::
:local:

Configuration
=============

To configure this module, you need to go to *Settings / 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:

.. figure:: https://raw.githubusercontent.com/OCA/server-backend/16.0/base_user_role/static/description/roles.png
:width: 80 %
:align: center

Add groups:

.. figure:: https://raw.githubusercontent.com/OCA/server-backend/16.0/base_user_role/static/description/role_groups.png
:width: 80 %
:align: center

Add users (with dates or not):

.. figure:: https://raw.githubusercontent.com/OCA/server-backend/16.0/base_user_role/static/description/role_users.png
:width: 80 %
:align: center

Instead of creating roles from scratch, it is possible to create a role
based on the groups of an existing user: select or open the user and choose
"Create role from user" in the action menu.

Usage
=====

To use this module, you need to:

#. Go to Configuration / Users / Users choose user and set Roles:

.. image:: https://raw.githubusercontent.com/OCA/server-backend/base_user_role/static/description/user_form.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 to smash it by providing a detailed and welcomed
`feedback <https://github.com/OCA/server-backend/issues/new?body=module:%20base_user_role%0Aversion:%2016.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

Do not contact contributors directly about support or help with technical issues.

Credits
=======

Authors
~~~~~~~

* ABF OSIELL

Contributors
~~~~~~~~~~~~

* Sébastien Alix <[email protected]>
* Duc, Dao Dong <[email protected]> (https://komit-consulting.com)
* Jean-Charles Drubay <[email protected]> (https://komit-consulting.com)
* Alan Ramos <[email protected]> (https://www.jarsa.com.mx)
* Harald Panten <[email protected]>
* Kevin Khao <[email protected]>
* Tatiana Deribina <[email protected]> (https://sprintit.fi)
* Guillem Casassas <[email protected]>
* Guillaume Pothier <[email protected]>

Do not contact contributors directly about support or help with technical issues.

Other credits
~~~~~~~~~~~~~

Images
------

* Oxygen Team: `Icon <http://www.iconarchive.com/show/oxygen-icons-by-oxygen-icons.org/Actions-user-group-new-icon.html>`_ (LGPL)

Maintainers
~~~~~~~~~~~

This module is maintained by the OCA.

.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org

OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.

.. |maintainer-sebalix| image:: https://github.com/sebalix.png?size=40px
:target: https://github.com/sebalix
:alt: sebalix
.. |maintainer-jcdrubay| image:: https://github.com/jcdrubay.png?size=40px
:target: https://github.com/jcdrubay
:alt: jcdrubay
.. |maintainer-novawish| image:: https://github.com/novawish.png?size=40px
:target: https://github.com/novawish
:alt: novawish

Current `maintainers <https://odoo-community.org/page/maintainer-role>`__:

|maintainer-sebalix| |maintainer-jcdrubay| |maintainer-novawish|

This module is part of the `OCA/server-backend <https://github.com/OCA/server-backend/tree/16.0/base_user_role>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
2 changes: 2 additions & 0 deletions base_user_role/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
from . import models
from . import wizards
26 changes: 26 additions & 0 deletions base_user_role/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Copyright 2014 ABF OSIELL <http://osiell.com>
# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl).


{
"name": "User roles",
"version": "16.0.1.4.1",
"category": "Tools",
"author": "ABF OSIELL, Odoo Community Association (OCA)",
"license": "LGPL-3",
"development_status": "Production/Stable",
"maintainers": ["sebalix", "jcdrubay", "novawish"],
"website": "https://github.com/OCA/server-backend",
"depends": ["base"],
"data": [
"security/ir.model.access.csv",
"data/ir_cron.xml",
"data/ir_module_category.xml",
"views/role.xml",
"views/user.xml",
"views/group.xml",
"wizards/create_from_user.xml",
"wizards/wizard_groups_into_role.xml",
],
"installable": True,
}
17 changes: 17 additions & 0 deletions base_user_role/data/ir_cron.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8" ?>
<!-- Copyright 2016 ABF OSIELL <http://osiell.com>
License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl).
-->
<odoo noupdate="1">
<record model="ir.cron" id="cron_update_users">
<field name='name'>Update user roles</field>
<field name='interval_number'>3</field>
<field name='interval_type'>hours</field>
<field name="numbercall">-1</field>
<field name="active">True</field>
<field name="doall" eval="False" />
<field name="model_id" ref="base_user_role.model_res_users_role" />
<field name="state">code</field>
<field name="code">model.cron_update_users()</field>
</record>
</odoo>
15 changes: 15 additions & 0 deletions base_user_role/data/ir_module_category.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8" ?>
<!-- Copyright 2016 ABF OSIELL <http://osiell.com>
License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl).
-->
<odoo>
<!--
This module category aims to be linked to role/group you create in your own
module (field 'res.groups.category_id').
By doing this you'll have the section 'User roles' in the "Access rights" tab
on the user form which will regroup all roles/groups for a better visibility.
-->
<record model="ir.module.category" id="ir_module_category_role">
<field name='name'>User roles</field>
</record>
</odoo>
Loading
Loading