【问题标题】:How to create the rule for users in odoo11如何在odoo11中为用户创建规则
【发布时间】:2018-07-12 15:10:27
【问题描述】:

如何为 odoo11 中的用户创建规则。我只想向经理显示特定的菜单项,而不是向用户显示。在这里,我为用户和经理创建了组,但无法为用户创建规则。我的代码是:

<?xml version="1.0" encoding="utf-8"?>

<odoo>
    <data noupdate="1">
        <record model="ir.module.category" id="rights_current_weather">
            <field name="name">Weather Info</field> 
            <field name="sequence">2</field>
        </record>

        <record id="rights_current_weather_user" model="res.groups">
            <field name="name">User</field>
            <field name="category_id" ref="rights_current_weather"/>
            <field name="implied_ids" eval="[(4, ref('base.group_user'))]"/>
        </record>

        <record id="rights_current_weather_manager" model="res.groups">
            <field name="name">Manager</field>
            <field name="category_id" ref="rights_current_weather"/>
            <field name="implied_ids" eval="[(4, ref('rights_current_weather_user'))]"/>
            <field name="users" eval="[(4, ref('base.user_root'))]"/>
        </record>

    </data>
</odoo>

【问题讨论】:

    标签: odoo-10 odoo-11


    【解决方案1】:

    创建规则后,您需要为菜单项的属性添加组 例如:- 如果您想显示特定用户代码的菜单,例如

    <menuitem
            id="sub_menu"
            parent="main_menu"
            name="Sub Menu1"
            groups="weather.group_manager"
            action="weather.sub_menu_action"/>
    

    或者您也可以在现场级别进行分组

     <record id="weather.weather_menu_view_form" model="ir.ui.view">
            <field name="name">form</field>
            <field name="model">my.app</field>
            <field name="arch" type="xml">
                <form>
                      <field name="name"/>
                      <field name="description"/>
                      <field name="verified_at" groups="weather.rights_current_weather_manager"/>
                </form>
            </field>
    </record>
    

    [编辑]

    在你的代码中,两组

    1.用户(rights_current_weather_user) 此用户从“base.group_user”继承

    2.经理(rights_current_weather_manager) 从“rights_current_weather_user”继承的经理用户

    这意味着base.group_user>用户>经理

    现在,如果您想隐藏“用户”的某些菜单。并仅显示“经理”,现在当您使用“用户”登录时,向 menuitem groups="weather.rights_current_weather_manager" 添加一个属性,您看不到该菜单

    现在关于规则,记录规则限制访问权限 例如:- 您只想显示“用户”的今天天气数据,您可以编写如下代码

    <record id="today_weather_data_only" model="ir.rule">
        <field name="name">Only Today Data For User</field>
        <field name="model_id" ref="weather.model_name"/>
        <field name="groups" eval="[(4,ref('weather.rights_current_weather_user'))]"/>
        <field name="perm_read" eval="1"/>
        <field name="perm_write" eval="0"/>
        <field name="perm_create" eval="0"/>
        <field name="perm_unlink" eval="0" />
        <field name="domain_force">[('state','=','today')]</field>
    </record>
    

    “用户”登录时,只会显示今天的数据。

    【讨论】:

    • 你能解释一下字段级别的组是什么意思吗??? @Anshuman Sharma
    猜你喜欢
    • 2020-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-04
    • 1970-01-01
    • 1970-01-01
    • 2013-03-04
    • 1970-01-01
    相关资源
    最近更新 更多