【odoo15】在odoo中给窗体视图添加功能区,给归档的数据做一下标识

前两天的博客里写了一下如何添加归档操作减少服务器的压力,但是没有增添归档标识,和官方的有点差异,今天来添加这个web视图。

一行代码即可:添加后如图所示:(还能修改颜色,以及内容)

代码:在from表单的sheet下添加就行:【title】与【bg_color】可更改

 <widget name="web_ribbon" title="Archived" bg_color="bg-danger"
                            attrs="{'invisible':[('active','=',True)]}"/>

 更改一下【title】与【bg_color】试一试:bg_color:(bg-danger红色   bg-success绿色)

 <widget name="web_ribbon" title="已成功存档" bg_color="bg-success"
                            attrs="{'invisible':[('active','=',True)]}"/>

粘贴一下mykid的完整代码,以便我以后还能找的到:

from odoo import fields, models, api, _


class mykid(models.Model):
    _name = "mykid.mykid"
    _description = "mykid模块"
    _rec_name = "mysale_name"

    lines_id = fields.Many2one('mysale.lines', string="lines_id")
    mysale_gender = fields.Char()
    value = fields.Char()
    # related = 'mysale_name.mysale_gender'
    mysale_name = fields.Many2one('mysale.mysale', string="用户姓名")
    value2 = fields.Integer(compute='_compute_value2')
    active = fields.Boolean(string="Active", default=True)
    # active是关键属性

    def action_mykid(self):
        return {
            'type': 'ir.actions.act_window',
            'name': 'mysale_tree',
            'res_model': 'mysale.mysale',
            'view_mode': 'tree,form',
            'domain': [('name', '=', self.mysale_name.name)],
            'target': 'current',
        }

    def _compute_value2(self):
        for rec in self:
            value2 = self.env['mysale.mysale'].search_count([('name', '=', rec.mysale_name.name)])
            self.value2 = value2

    # 默认获取函数
    @api.model
    def default_get(self, fields_list):
        res = super(mykid, self).default_get(fields_list)
        print('res', res)
        res['value'] = 'test_value'
        return res

    @api.onchange('mysale_name')
    def onchange_product_name(self):
        if self.mysale_name:
            if self.mysale_name.gender:
                self.mysale_gender = self.mysale_name.gender
        else:
            self.mysale_gender = ''
<?xml version="1.0" encoding="UTF-8" ?>
<odoo>
    <record model="ir.actions.act_window" id="mykid_action_window">
        <field name="name">mykid 视图</field>
        <field name="res_model">mykid.mykid</field>
        <field name="view_mode">tree,form,kanban</field>
    </record>

    <record model="ir.ui.view" id="mykid_list_tree">
        <field name="name">mykid_tree</field>
        <field name="model">mykid.mykid</field>
        <field name="arch" type="xml">
            <tree sample="1">
                <field name="mysale_name" optional="show"/>
                <field name="mysale_gender" optional="show"/>
                <field name="value" optional="hide"/>
                <field name="value2" optional="hide"/>
            </tree>
        </field>
    </record>

    <!--    自定义mykid视图    -->
    <record id="mykid_kanban" model="ir.ui.view">
        <field name="name">mykid kanban</field>
        <field name="model">mykid.mykid</field>
        <field name="arch" type="xml">
            <kanban sample="1">
                <field name="mysale_name"/>
                <field name="mysale_gender"/>
                <field name="value"/>
                <field name="value2"/>
                <templates>
                    <t t-name="kanban-box">
                        <div class="oe_kanban_global_click">
                            <div class="o_kanban_image">
                                <img t-att-src="kanban_image('im_livechat.channel', 'image_128')"
                                     class="img-fluid" alt="Channel"/>
                            </div>
                            <ul>
                                <li>mysale_name:
                                    <field name="mysale_name"/>
                                </li>
                                <li>mysale_gender:
                                    <field name="mysale_gender"/>
                                </li>
                                <li>value:
                                    <field name="value"/>
                                </li>
                            </ul>
                        </div>
                    </t>
                </templates>
            </kanban>
        </field>
    </record>

    <record model="ir.ui.view" id="mykid_list_form">
        <field name="name">mykid_form</field>
        <field name="model">mykid.mykid</field>
        <field name="arch" type="xml">
            <form>
                <sheet>
                    <widget name="web_ribbon" title="已成功存档" bg_color="bg-success"
                            attrs="{'invisible':[('active','=',True)]}"/>
                    <div class="oe_button_box" name="button_box">
                        <button name="action_mykid" class="o_stat_button" icon="fa-calendar" type="object">
                            <div class="o_stat_info">
                                <field name="value2" class="o_stat_value"/>
                                <span class="o_stat_text">Test</span>
                            </div>
                        </button>
                    </div>
                    <group class="top">
                        <group class="left">
                            <field name="mysale_name" string="用户姓名"/>
                            <field name="mysale_gender" string="用户性别" readonly="1" force_save="1"/>
                            <field name="active" invisible='1'/>
                        </group>
                        <group class="right">
                            <field name="value" string="test_1"/>
                            <field name="value2" string="test_count" readonly="1"/>
                        </group>
                    </group>
                    <notebook>
                        <page string="my notebook" name="mysale_notebook">
                            <group>
                                <field name="mysale_name"/>
                            </group>
                        </page>
                        <page string="my notebook2" name="mykid">
                            <tree editable="bottom">
                                <field name="mysale_name"/>
                            </tree>
                        </page>
                    </notebook>
                </sheet>
            </form>
        </field>
    </record>


     <!--    写一个search 搜索条件 -->
    <record model="ir.ui.view" id="mykid_search">
        <field name="name">mykid_search</field>
        <field name="model">mykid.mykid</field>
        <field name="arch" type="xml">
            <search string="search_mykid">
                <field name="mysale_name"/>
                <field name="value"/>
                <separator/>
                <filter string="Archived" name="inactive" domain="[('active','=',False)]"/>
            </search>
        </field>
    </record>

    <menuitem id="menu_1_list2"
              name="mykid"
              parent="menu_1_list"
              action="mykid_action_window"
              sequence="20"/>
</odoo>

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Odoo,要在视图动作按钮添加查询按钮并将其赋值给属性,需要进行以下步骤: 1. 在视图添加一个按钮,并设置按钮的名称、图标等属性。 2. 在按钮的操作添加一个查询动作,并设置查询条件和查询结果的属性。 3. 将查询动作的结果值设置为按钮的属性值。 下面是一个示例代码,演示了如何在Odoo实现这个功能: ``` <record model="ir.ui.view" id="my_view"> <field name="name">My View</field> <field name="model">my.model</field> <field name="arch" type="xml"> <form string="My Form"> <header> <button name="action_search" string="Search" type="object" icon="fa-search"/> </header> <sheet> <!-- fields go here --> </sheet> </form> </field> </record> <record model="ir.actions.act_window" id="my_search_action"> <field name="name">My Search Action</field> <field name="type">ir.actions.act_window</field> <field name="res_model">my.model</field> <field name="view_mode">tree,form</field> <field name="search_view_id" ref="my_search_view"/> </record> <record model="ir.ui.view" id="my_search_view"> <field name="name">My Search View</field> <field name="model">my.model</field> <field name="arch" type="xml"> <search> <!-- search fields go here --> </search> </field> </record> <record model="ir.values" id="my_search_button_value"> <field name="name">My Search Button Value</field> <field name="model">my.model</field> <field name="key">my_search_button</field> <field name="value" eval="'ir.actions.act_window,%d' % my_search_action"/> </record> ``` 在这个示例,我们在一个表单视图添加了一个名为“Search”的按钮,并将其与一个查询动作关联。查询动作使用了一个搜索视图,并设置了查询条件和结果属性。最后,我们将查询动作的结果值设置为一个名为“my_search_button”的属性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值