[ADD][12.0] base_user_role_profile: Add to 12.0

fixup! Logic and permissions fixes, new demo module, changes JS-side that reloads in a cleaner way on profile change

fixup! removed unused imports, beautified JS

fixup! Test coverage increase

[FIX] Use write instead of assignment operator on create function: assignment on multiple records raises error

fixup! Removed leftover copyright

Apply suggestions from code review

Co-Authored-By: David Beal <david.beal@akretion.com>
This commit is contained in:
Kevin Khao
2020-03-04 18:33:24 +01:00
committed by KevinKhao
parent 3354dac107
commit 3fd7b47574
24 changed files with 1059 additions and 0 deletions

View File

@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<template id="assets_backend" name="User Role Profile assets" inherit_id="web.assets_backend">
<xpath expr="." position="inside">
<script type="text/javascript" src="/base_user_role_profile/static/src/js/switch_profile_menu.js"/>
</xpath>
</template>
</odoo>

View File

@@ -0,0 +1,42 @@
<?xml version="1.0" encoding="utf-8"?>
<!--License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).-->
<odoo>
<record id="view_res_users_profile_form" model="ir.ui.view">
<field name="name">res.users.profile.form</field>
<field name="model">res.users.profile</field>
<field name="arch" type="xml">
<form>
<sheet>
<group>
<field name="name"/>
<field name="user_ids"/>
</group>
</sheet>
</form>
</field>
</record>
<record id="view_res_users_profile_tree" model="ir.ui.view">
<field name="name">res.users.profile.tree</field>
<field name="model">res.users.profile</field>
<field name="arch" type="xml">
<tree>
<field name="name"/>
</tree>
</field>
</record>
<record model="ir.actions.act_window" id="action_res_users_profile_tree">
<field name="name">User Profiles</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">res.users.profile</field>
<field name="view_type">form</field>
<field name="view_id" ref="view_res_users_profile_tree"/>
</record>
<menuitem id="menu_action_res_users_profile_tree"
parent="base.menu_users"
action="action_res_users_profile_tree"/>
</odoo>

View File

@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<!--License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).-->
<odoo>
<record id="view_res_users_form_inherit" model="ir.ui.view">
<field name="name">res.users.role.form.inherit</field>
<field name="model">res.users.role</field>
<field name="inherit_id" ref="base_user_role.view_res_users_role_form"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='line_ids']//field[@name='company_id']" position="after">
<field name="profile_id"/>
</xpath>
<xpath expr="//field[@name='group_id']" position="after">
<field name="profile_id"/>
</xpath>
</field>
</record>
</odoo>

View File

@@ -0,0 +1,35 @@
<?xml version="1.0" encoding="utf-8"?>
<!--License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).-->
<odoo>
<record id="view_res_users_form_inherit_profile" model="ir.ui.view">
<field name="name">res.users.form.inherit</field>
<field name="model">res.users</field>
<field name="inherit_id" ref="base.view_users_form"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='role_line_ids']" position="before">
<group>
<field name="profile_ids" widget="many2many_tags" attrs="{'readonly': True}"/>
<field name="profile_id" domain="[('id', 'in', profile_ids)]"
options="{'no_create_edit': True, 'no_open': True}"/>
</group>
</xpath>
<xpath expr="//field[@name='role_line_ids']//field[@name='company_id']" position="after">
<field name="profile_id"/>
</xpath>
</field>
</record>
<record id="view_res_users_form_show_company" model="ir.ui.view">
<field name="name">res.users.form.inherit</field>
<field name="model">res.users</field>
<field name="inherit_id" ref="base_user_role.view_res_users_form_inherit"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='role_line_ids']//field[@name='company_id']" position="attributes">
<attribute name="groups" eval=""/>
</xpath>
</field>
</record>
</odoo>