1、继承ListView Qweb模板
创建一个qweb模块,继承ListView,保存在 static/xml/qweb.xml文件中,内容如下:
2、载入上一步的qweb模板
在_____manifest___.py 文件中载入qweb模板文件:
"qweb":["static/src/xml/qweb.xml",],
3、创建JS处理代码
创建一个js文件,实现按钮的onclick事件,保存为文件 static/src/js/tree_view_button.js,内容如下:
odoo.define('ticket_management.list_tender_button_create', function (require) {
"use strict";
var ListController = require('web.ListController');
ListController.include({
renderButtons: function ($node) {
this._super.apply(this, arguments);
if (this.$buttons) {
this.$buttons.on('click', '.list_tender_button_create', this._invitation_to_button.bind(this));
}
},
_invitation_to_button: function () {
var self = this;
var records = this.getSelectedIds();
self._rpc({
model: 'test.management',
method: 'action_to_test',
// args: [records]
}, [])
// .done(function () {
// self._after_invitation()
// });
},
// _after_invitation: function () {
// this.do_notify(_t("Invitation or Reset Password"), _t("Successfully completed"));
// },
});
});
4、创建文件view/web_asset.xml,里面载入上一步创建的js文件:
5、在manifest.py文件中载入 view/asset.xml文件:
"data": ["view/web_asset.xml",],
6、在模型py文件里写的函数:
class TestManagement(models.Model): _name = 'test.management' @api.model def action_to_test(self): "编写代码" pass