Odoo 显示通知

Odoo show notification

我正在为 odoo 开发一个模块,它将添加一个按钮来将一些数据与外部提要同步。我已经设法获得基本行为 运行,但理想情况下,我想在 (long-运行) 过程 starts/finishes.

时显示通知

基本前提是我有这个 ListController,从那里我试图弄清楚如何显示通知。就像当您浏览到不同的视图时,顶部有这个 Loading

查看 github 存储库似乎有一个 NotificationManagerAbstractWebClient 实例化。从 odoo javascript 的演示中,他们谈到 trigger_up 向上传播电话。 display_notification 在他们的演示文稿中作为示例 - 但由于某种原因它什么也没做。

谁能给我一些正确方向的指示,我怎样才能让通知生效?

odoo.define('test.sync', function (require) {

"use strict";

var core = require('web.core');
var rpc = require('web.rpc');
var Dialog = require('web.Dialog');

var ListController = require('web.ListController');

    ListController.include({

        renderButtons: function($node) {

        this._super.apply(this, arguments);

            if (this.$buttons) {

                let filter_button = this.$buttons.find('.sync_button');

                filter_button && filter_button.click(this.proxy('do_sync')) ;

            }

        },

        do_sync: function () {

            this.trigger_up('display_notification', {        title: 'Move Zig',        message: 'All your bases are belong to us'   });         

        }

    });

})

在controller里面,或者renderer里面这样写:

this.do_notify('title', 'message :)');

请参阅文档 here。 基本上do_notify和do_warn方法定义在ServiceMixinclass中,默认由抽象控制器和渲染器继承::我认为::