我正在使用Odoo 10。
我在 ListView.buttons 中添加了一个按钮,但我无法将操作链接到它。
我的按钮:
<t t-extend="ListView.buttons">
<t t-jquery="button.o_list_button_add" t-operation="after">
<t t-if="widget.fields_view.name == 'site.tree'">
<button type="button" class="btn btn-primary btn-sm oe_create_customer_button">
Create Customer Site
</button>
</t>
</t>
</t>
Js代码:
openerp.broadband = function(instance, local) {
instance.web.ListView.include({
render_buttons: function() {
this._super.apply(this, arguments)
if (this.$buttons) {
this.$buttons.find('.oe_create_customer_button').on('click', this.proxy('do_new_button'))
}
},
do_new_button: function () {
this.do_action({
type: 'ir.actions.act_window',
name: 'site_wizard_act_js',
res_model: 'broadband.wizard',
view_type: 'form',
view_mode: 'form',
view_id: 'site_wizard_act',
target: 'new',
})
}
})
}
但当我点击按钮时,Odoo给了我'TypeError:this.view_order [0]未定义'。
有人可以帮助我吗?
感谢。
答案 0 :(得分:0)
[解决]
我在操作中添加了'上下文'和'views'参数。
instance.web.ListView.include({
render_buttons: function() {
this._super.apply(this, arguments)
if (this.$buttons) {
this.$buttons.find('.oe_create_customer_button').on('click', this.proxy('do_new_button'))
}
},
do_new_button: function () {
var context = {
'id': this.id,
}
var action = ({
type: 'ir.actions.act_window',
res_model: 'broadband.wizard',
view_type: 'form',
view_mode: 'form',
views: [[false, 'form']],
target: 'new',
context: context
})
this.do_action(action)
}
})