码迷,mamicode.com
首页 > 其他好文 > 详细

odoo视图

时间:2020-06-02 19:14:21      阅读:57      评论:0      收藏:0      [点我收藏+]

标签:logs   紧急   main   参考   展示   href   undo   使用   done   

菜单

菜单是相当于是应用的入口,如果安装好了应用,但是在菜单不显示,这个应用是没有作用的

创建菜单-menus.xml

注意

动作必须先定义在使用

<?xml version="1.0" encoding="utf-8"?>
<odoo>
    <data>
        <!-- 主菜单定义 -->
        <menuitem id="menu_todo" name="Todo"/>
        <menuitem id="menu_todo_submenu" parent="menu_todo" name="待办事项"/>
        <!-- 菜单动作定义 -->
        <record id="action_todo_task" model="ir.actions.act_window">
            <field name="name">待办事项</field>
            <field name="res_model">todo.task</field>
            <field name="view_type">form</field>
            <field name="view_mode">tree,form</field>
            <field name="target">current</field>
        </record>

        <record id="action_todo_category" model="ir.actions.act_window">
            <field name="name">分类</field>
            <field name="res_model">todo.category</field>
            <field name="view_type">form</field>
            <field name="view_mode">tree,form</field>
            <field name="target">current</field>
        </record>
        <!-- 子菜单定义 -->
        <menuitem action="action_todo_category" id="submenu_todo_category" name="分类" parent="menu_todo_submenu"
                  sequence="8"/>

        <menuitem action="action_todo_task" id="submenu_todo_task" name="事项" parent="menu_todo_submenu"
                  sequence="9"/>
    </data>
</odoo>

列表视图

数据展示,默认是显示一个字段的

https://segmentfault.com/a/1190000014047552

<odoo>
    <data>
        <record id="todo_task_view_tree" model="ir.ui.view">
            <field name="name">todo.task.view_tree</field>
            <field name="model">todo.task</field>
            <field name="type">tree</field>
            <field name="arch" type="xml">
                <tree string="Todo">
                    <field name="name"/>
                    <field name="is_done"/>
                </tree>
            </field>
        </record>
    </data>
</odoo>

表单视图

一对多

不显示一方的多方数据

<record id="todo_category_view_form" model="ir.ui.view">
    <field name="name">todo.category.view_form</field>
    <field name="model">todo.category</field>
    <field name="type">form</field>
    <field name="arch" type="xml">
        <form string="Todo Category">
            <sheet>
                <group>
                    <group>
                        <field name="name"/>
                    </group>
                    <group>
                        <field name="count" readonly="True"/>
                    </group>
                </group>
            </sheet>
        </form>
    </field>
</record>

或者直接使用这种可以在外部修改数据,不跳转界面的方式 editable="bottom"

<record id="todo_category_view_tree" model="ir.ui.view">
    <field name="name">todo.category.view_tree</field>
    <field name="model">todo.category</field>
    <field name="type">tree</field>
    <field name="arch" type="xml">
        <tree string="Todo Category" editable="bottom">
            <field name="name"/>
            <field name="count"/>
        </tree>
    </field>
</record>

表单视图规划

    <record id="todo_task_view_form" model="ir.ui.view">
        <field name="name">todo.task.view_form</field>
        <field name="model">todo.task</field>
        <field name="type">form</field>
        <field name="arch" type="xml">
            <form string="Todo">
                <sheet>
                    <group>
                        <group>
                            <field name="name"/>
                            <field name="category_id"/>
                            <field name="is_done"/>
                        </group>
                        <group>
                            <field name="priority"/>
                            <field name="deadline"/>
                            <field name="is_expired" readonly="True"/>
                        </group>
                    </group>
                </sheet>
            </form>
        </field>
    </record>

搜索视图

搜索框
搜索框默认只会根据模型的name字段进行搜索,如果想要搜索更多的字段,需要定义搜索视图

#搜索视图基本结构
    <record id="todo_task_view_filter" model="ir.ui.view">
        <field name="name">todo.task.view_filter</field>
        <field name="model">todo.task</field>
        <field name="arch" type="xml">
            <search string="Todo">
                ...
            </search>
        </field>
    </record>
    
#配置允许搜索的字段
    <search string="Todo">
        <field name="name"/>
        <field name="category_id"/>
    </search>
    
#自定义过滤器
        <separator/>
        <filter string="未完成" name="undone" domain="[(‘is_done‘, ‘=‘, False)]"/>
        <filter string="已完成" name="done" domain="[(‘is_done‘, ‘=‘, True)]"/>
        <separator/>
        <filter string="待办" name="todo" domain="[(‘priority‘, ‘=‘, ‘todo‘)]"/>
        <filter string="普通" name="normal" domain="[(‘priority‘, ‘=‘, ‘normal‘)]"/>
        <filter string="紧急" name="urgency" domain="[(‘priority‘, ‘=‘, ‘urgency‘)]"/>
        
#分组-expend为1数据默认展开
<group expand="0" string="分组">
  <filter name="group_by_name" string="" context="{‘group_by‘: ‘name‘}"/>
  <filter name="group_by_name" string="" context="{‘group_by‘: ‘category_id‘}"/>
</group>

参考链接

https://segmentfault.com/a/1190000014047552
https://www.cnblogs.com/ygj0930/p/10826168.html比较全面
https://www.cnblogs.com/sunshuhai/p/11661573.html

odoo视图

标签:logs   紧急   main   参考   展示   href   undo   使用   done   

原文地址:https://www.cnblogs.com/zx125/p/13032846.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!