zoukankan      html  css  js  c++  java
  • Odoo13_一个模块实现对应多个视图

    1.models.py

    # -*- coding: utf-8 -*-
    from odoo import api, fields, models
    
    
    class ZeroneBook(models.Model):
        _name = "zerone.book"
        _description = "Zerone Books"
     
        name = fields.Char(string="图书名称", required=True)
        code = fields.Char(string="图书编号", required=True)
        state = fields.Selection([('draft', '未被借出'), ('rent', '已经借出'), ('return', '已经归还')],
                                default='draft', string="状态")
    
        def action_bjl(self):
            self.state = 'draft'
        def action_jc(self):
            self.state = 'rent'
            
        def action_gh(self):
            self.state = 'return'
        def action_xbhl(self):
            self.state = 'rent'

    2.views.xml

    <?xml version="1.0" encoding="utf-8"?>
    <odoo>
        <data>
        <!-- 主菜单列表视图 -->
            <record id="view_books_tree" model="ir.ui.view">
                <field name="name">book.tree</field>
                <field name="model">zerone.book</field>
                <field name="arch" type="xml">
                    <tree string="Books">
                        <field name="name"/>
                        <field name="code"/>
                        <field name='state'/>
                    </tree>
                </field>
            </record>
            <record id="view_zerone_books_form" model="ir.ui.view">
                <field name="name">zerone.book.form</field>
                <field name="model">zerone.book</field>
                <field name="arch" type="xml">
                    <form string="Books" create="false">
                        <sheet string="Books">
                            <div style="text-align: center"><h1>借书FORM</h1></div>
                            <group col='4'>
                                <field name="name"/>
                                <field name="code"/>
                                <field name="state"/>
                            </group>
                        </sheet>
                    </form>
                </field>
            </record>
            <!--借出列表视图-->
            <record id="view_zerone_books_tree" model="ir.ui.view">
                <field name="name">zerone.book.tree</field>
                <field name="model">zerone.book</field>
                <field name="arch" type="xml">
                    <tree string="Books" create="false" import="false">
                        <field name="name"/>
                        <field name="code"/>
                        <field name='state'/>
                    </tree>
                </field>
            </record>
    
            <!--借出form视图-->
            <record id="view_zerone_books_form" model="ir.ui.view">
                <field name="name">zerone.book.form</field>
                <field name="model">zerone.book</field>
                <field name="arch" type="xml">
                    <form string="Books" create="false">
                        <header>
                            <button name="action_bjl" type="object" string="不借了" class="oe_highlight" states="rent"/>
                            <button name="action_jc" type="object" string="借出" class="oe_highlight" states="draft"/>
                            <field name="state" widget="statusbar" statusbar_visible="draft,rent,return"/>
                        </header>
                        <sheet string="Books">
                            <div style="text-align: center"><h1>借书FORM</h1></div>
                            <group col='4'>
                                <field name="name"/>
                                <field name="code"/>
                            </group>
                        </sheet>
                    </form>
                </field>
            </record>
            <!--还书列表视图-->
            <record id="view_huanshu_books_tree" model="ir.ui.view">
                <field name="name">huanshu.book.tree</field>
                <field name="model">zerone.book</field>
                <field name="arch" type="xml">
                    <tree string="Books" create="false" import="false">
                        <field name="name"/>
                        <field name="code"/>
                        <field name='state'/>
                    </tree>
                </field>
            </record>
            <!--归还form视图-->
            <record id="view_huanshu_books_form" model="ir.ui.view">
                <field name="name">huanshu.book.form</field>
                <field name="model">zerone.book</field>
                <field name="arch" type="xml">
                    <form string="Books" create="false">
                        <header>
                            <button name="action_gh" type="object" string="归还" class="oe_highlight" states="rent"/>
                            <button name="action_xbhl" type="object" string="先不还了" class="oe_highlight" states="return"/>
                            <field name="state" widget="statusbar" statusbar_visible="draft,rent,return"/>
                        </header>
                        <sheet string="Books">
                            <div style="text-align: center"><h1>还书FORM</h1></div>
                            <group col='4'>
                                <field name="name"/>
                                <field name="code"/>
                            </group>
                        </sheet>
                    </form>
                </field>
            </record>
            <record id="action_books" model="ir.actions.act_window">
                <field name="name">主菜单动作</field>
                <field name="res_model">zerone.book</field>
                <field name="view_mode">tree,form</field>
              <field name="view_id" ref="view_books_tree"/>
            </record>
            <!--借出动作-->
            <record id="action_zerone_books" model="ir.actions.act_window">
                <field name="name">借书</field>
                <field name="res_model">zerone.book</field>
                <field name="view_mode">tree,form</field>
                <field name="view_id" ref="view_zerone_books_tree"/>
            </record>
            <record model="ir.actions.act_window.view" id="jieshu_1">
                <field name="sequence" eval="1"/>
                <field name="view_mode">tree</field>
                <field name="view_id" ref="view_zerone_books_tree"/>
                <field name="act_window_id" ref="action_zerone_books"/>
            </record>
    
            <record model="ir.actions.act_window.view" id="jieshu_2">
                <field name="sequence" eval="2"/>
                <field name="view_mode">form</field>
                <field name="view_id" ref="view_zerone_books_form"/>
                <field name="act_window_id" ref="action_zerone_books"/>
            </record>
            <!-- 还书动作 -->
            <record id="action_huanshu_books" model="ir.actions.act_window">
                <field name="name">还书</field>
                <field name="res_model">zerone.book</field>
                <field name="view_mode">tree,form</field>
                <field name="view_id" ref="view_huanshu_books_tree"/>
            </record>
            <record model="ir.actions.act_window.view" id="huanshu_1">
                <field name="sequence" eval="1"/>
                <field name="view_mode">tree</field>
                <field name="view_id" ref="view_huanshu_books_tree"/>
                <field name="act_window_id" ref="action_huanshu_books"/>
            </record>
            <record model="ir.actions.act_window.view" id="huanshu_2">
                <field name="sequence" eval="2"/>
                <field name="view_mode">form</field>
                <field name="view_id" ref="view_huanshu_books_form"/>
                <field name="act_window_id" ref="action_huanshu_books"/>
            </record>
    
    <!-- 按钮 -->
            <menuitem name="Books" id="menu_books_root" sequence="50" action="action_books"/>
            <menuitem action="action_zerone_books" id="menu_zerone_books" name="借书" parent="menu_books_root"/>
            <menuitem action="action_huanshu_books" id="menu_guihuan_books" name="还书" parent="menu_books_root"/>
        </data>
    </odoo>
  • 相关阅读:
    嵌套循环
    for循环
    while循环
    switch多选择结构
    python9--内存管理 引用计数 标记清除 分代回收
    python8--文件操作 with。。。open语法
    python7 数据类型的相互转化 字符编码
    python6-深浅拷贝 元组类型 字典类型 集合类型
    python5 数字类型 字符串类型 列表类型
    python4 分支结构,循环结构 for循环
  • 原文地址:https://www.cnblogs.com/wangdianchao/p/13652624.html
Copyright © 2011-2022 走看看