在Odoo 10中继承POS Javascript函数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Odoo 10中继承POS Javascript函数相关的知识,希望对你有一定的参考价值。
我试图继承和修改point_of_sale
模块的现有js函数。这是我需要继承的功能
models.js
exports.Orderline = Backbone.Model.extend({
set_quantity: function(quantity){
console.log('quantity',quantity);
this.order.assert_editable();
if(quantity === 'remove'){
this.order.remove_orderline(this);
return;
}else{
var quant = parseFloat(quantity) || 0;
var unit = this.get_unit();
if(unit){
if (unit.rounding) {
this.quantity = round_pr(quant, unit.rounding);
var decimals = this.pos.dp['Product Unit of Measure'];
this.quantityStr = formats.format_value(round_di(this.quantity, decimals), { type: 'float', digits: [69, decimals]});
} else {
this.quantity = round_pr(quant, 1);
this.quantityStr = this.quantity.toFixed(0);
}
}else{
this.quantity = quant;
this.quantityStr = '' + this.quantity;
}
}
this.trigger('change',this);
},
});
这是我的代码:
pos_model.js
odoo.define('point_of_sale.models_inherit', function (require) {
"use strict";
var module = require('point_of_sale.models');
module.include({
set_quantity: function(quantity){
console.log('initialize');
}
});
});
现在我在控制台中收到错误,
`module.include is not a function`
我怎么能继承这个?
答案
尝试下面的代码片段!已经在Odoo v10.0
测试过
odoo.define('point_of_sale.models', function (require) {
"use strict";
var models = require('point_of_sale.models');
var _super_orderline = models.Orderline.prototype;
models.Orderline = models.Orderline.extend({
set_quantity: function(quantity){
// Call SUPER method!!
_super_orderline.set_quantity.apply(this,arguments);
// =============
// DO YOUR STUFF
// =============
}
});
});
BTW,你可以在odoo 10中找到相同的例子...检查multiprint.js文件!!
另一答案
我认为你需要使用module.Orderline.include
而不是module.include
[source],因为point_of_sale.models
是一个object。
odoo.define('point_of_sale.models_inherit', function (require) {
"use strict";
var module = require('point_of_sale.models');
module.Orderline.include({
set_quantity: function(quantity) {
console.log('initialize');
}
});
});
以上是关于在Odoo 10中继承POS Javascript函数的主要内容,如果未能解决你的问题,请参考以下文章