odoo12—开发手册>>P09

odoo实操6

xml视图☞细节决定成败

这次的内容很细

权限的使用

Odoo权限的使用—在xml中的使用:

# 在网页展示的视图中,只有mrp_group_manager的用户才能看到name字段
<field name="name" groups="mrp.mrp_group_manager"/>

Odoo权限的使用—在python代码中的使用:

# name字段只有mrp_group_user,mrp_group_manager用户则才能看见,但只有mrp_group_manager用户能进行编辑
name = fields.Char(string=u'名字',read=['mrp_group_user','mrp_group_manager'], write=['mrp_group_manager']) 

以上两个都是针对整个模型而言设置的权限,接下来就是针对模型中不同的记录进行权限设置,比如用户角色只能看见和自己相关的订单而看不了别人的。

<record model="ir.rule" id="rule_oa">
    <field name="name">流程单</field>
    <field name="model_id" ref="model_oa"/>
    <field name="global" eval="True"/>
    <field name="domain_force">
        [('message_partner_ids.user_ids.id','parent_of',user.id)]
    </field>
    <field name="groups" eval="[(4,ref('group_flowmanager_user'))]"/>
</record>

数据的筛选

1. Xml中的数据筛选

视图界面上的手动筛选

<record id="oa_filter" model="ir.ui.view">
    <field name="name">流程单筛选</field>
    <field name="model">oa</field>
    <field name="arch" type="xml">
        <search string="Search flow">
            <field name="oa_name"/>
            <field name="oa_applicant"/>
            <field name="oa_approver"/>
            <field name="oa_nextapprover"/>
            <field name="oa_state"/>
            <filter string="单据状态分组" name="state_group" domain="[]" context="{'group_by':'oa_state'}"/>
            <filter string="我的请求" name="my_request" domain="[('user_id', '=', uid)]"/>
            <filter string="我的待办" name="my_approvering"
                    domain="[('oa_approver.user_id.id','parent_of', uid),('oa_state','!=','ok')]"/>
            <filter string="我的已办" name="my_approvered" domain="[('oa_flowwaylines.positer_state','!=',False),('oa_flowwaylines.candidate_ids.user_id.id', 'parent_of', uid)]"/>
        </search>
    </field>
</record>

在action中记得引用此search
<field name="search_view_id" ref="oa_ordertype_filter"></field>

在action中对模型进行直接筛选

<record model="ir.actions.act_window" id="action_window_oa_flow_context">
    <field name="name">流程</field>
    <field name="res_model">oa.flow.line.content</field>
    <field name="view_mode">form,tree</field>
    <field name="view_id" ref="oa_flow_content_list"></field>
    <field name="domain">[('line_lvcid', '=', active_id)]</field>
    <field name="context">
    	{'search_default_line_lvcid': active_id, 'default_line_lvcid': active_id}
    </field>
</record>

在子表内筛选出归属于当前这条数据的所有数据

2. 在python代码中的数据筛选

字段创建时直接删选

project_id = fields.Many2one( 'project.project', 'Project',
		    domain="[('billable_type', 'in', ('no', 'task_rate')), 
		    		 ('analytic_account_id', '!=', False), 
		    		 ('company_id', '=', company_id)]",
		    readonly=True, 
		    states={'draft': [('readonly', False)], 'sent': [('readonly', False)]},
		    help='Select a non billable project on which tasks can be created.')

多级联动式筛选
利用onchange方法实现字段联动

@api.onchange('model_name')
def _onchange_model_name(self):
    res = {
        'domain': {'model_view': [('model', '=', self.model_name.model)]},
    }
    return res
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
第 1 章 概述 Odoo ..................................................................................................................................... 10 1.1 系统概述 ......................................................................................................................................... 10 1.2 安装说明 ......................................................................................................................................... 11 1.3 Odoo 架构 .................................................................................................................................... 11 1.4 安装软件包 ..................................................................................................................................... 12 1.5 源代码安装 ..................................................................................................................................... 13 1.6 Ubuntu 桌面版 12.04 64 位 安装 Odoo ...................................................................................... 14 1.7 创建 Ubuntu 用户 ........................................................................................................................... 14 1.8 如何删除 ubuntu 用户? ................................................................................................................ 14 1.8.1 Postgresql 安装 ............................................................................................................................................. 15 1.8.2 安装 Python 的依赖 ...................................................................................................................................... 17 1.8.3 下载并安装 Odoo 的软件 ............................................................................................................................ 18 1.8.4 配置 Odoo 的配置文件 ................................................................................................................................ 18 1.8.5 启动服务器和测试安装 ............................................................................................................................... 18 1.9 创建数据库 ..................................................................................................................................... 19 1.10 版本升级 ......................................................................................................................................... 20 1.11 常规选项 ......................................................................................................................................... 20 1.12 数据库相关的选项 ......................................................................................................................... 21 1.13 Pycharm 启动更新指定模块 ......................................................................................................... 21 1.14 pycharm 快击键 ............................................................................................................................. 21 第 2 章 构建 Odoo 模块 ............................................................................................................................ 25 2.1 模块之间的关联图 ......................................................................................................................... 25 2.2 模块结构 ......................................................................................................................................... 25 2.3 XML 文件........................................................................................................................................ 27
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值