zoukankan      html  css  js  c++  java
  • odoo开发笔记--字段追踪,消息通知机制

    odoo有着强大的消息记录、通知机制;

    实际开发中,常常会有客户的需求,页面上form视图中的某些字段不允许反复修改,

    假如有的用户修改了,恶意搞坏,往往容易给公司利益造成损失,或破坏,那么如何有效的记录相关用户的操作,

    提供一定的安全审计功能?

    别担心,odoo已经为我们考虑到了!!!

    下面我们就来介绍下,

    首先,先保证整体基本的消息记录功能,两个地方需要修改,模型和form视图

    在你需要消息记录的模型申明中,添加如下红色部分代码:

    class TestModle(models.Model):
        """ 模型名称 """
        _name = 'test.test_model'    # 定义 模型名(类名)   必写
        _rec_name = 'name'           # 定义 模型引用时 显示的默认字段  非必写
        _description = 'test model'  # 定义数据库中的表名  非必写
        _inherit = ['mail.thread', 'ir.needaction_mixin']  # 集成消息模型 增加消息记录通知功能  

    在相应的form视图内部下方,增加如下红色代码:

    <form>
       ....
       省略一串代码
       ....
        <div class="oe_chatter">
            <field name="message_follower_ids"
                   widget="mail_followers"/>
            <field name="message_ids" widget="mail_thread"/>
        </div>
    </form>

    然后在想要追踪的字段的模型定义中增加如下属性:

    class TestModle(models.Model):
        """ 模型名称 """
        _name = 'test.test_model'    # 定义 模型名(类名)   必写
        _rec_name = 'name'           # 定义 模型引用时 显示的默认字段  非必写
        _description = 'test model'  # 定义数据库中的表名  非必写
        _inherit = ['mail.thread', 'ir.needaction_mixin']  # 集成消息模型 增加消息记录通知功能  
    
        name = fields.Char(string="Name",)
        inout = fields.Selection(string="InOut", selection=[('I', u'进口'), ('E', u'出口'), ], track_visibility='always',)
        contract_no = fields.Char(string="Contract No", track_visibility='onchange',)

    上面的两种写法:track_visibility='always' 和 track_visibility='onchange'

    修改完成之后,重启odoo服务,升级相应模块!对上述字段进行手动修改,保存的时候,验证效果!!!

    实现效果:

    感兴趣的小伙伴,可以参考:

    https://www.jianshu.com/p/84c6518d7dbf

  • 相关阅读:
    【Linux】linux中很有用的指令(练习)
    【C 标准库】<string.h>
    【Linux网络编程】使用GDB调试程序
    【LINUX网络编程】Makefile文件
    【UNIX网络编程】TCP客户/服务器程序示例
    【UNIX网络编程】基本TCP套接字编程
    pyQt5新手教程 (二)通过jupyter开始你的旅程-编写一个空白窗口
    pyQt5新手教程 (一)通过anaconda安装pyqt包
    如何把没用的tplink4C68路由器连起来
    xcode10升级之后开始安装cocoapods
  • 原文地址:https://www.cnblogs.com/hellojesson/p/8406270.html
Copyright © 2011-2022 走看看