Can anyone give me minimal code so that any method I can override for JS method? in pos odoo
changeMode(mode) { if (!this.hasPriceControlRights && mode === 'price' ) { return; } if (!this.hasManualDiscount && mode === 'discount') { return; } this.trigger('set-numpad-mode', { mode }); }
Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:
- CRM
- e-Commerce
- Kế toán
- Tồn kho
- PoS
- Project
- MRP
Câu hỏi này đã bị gắn cờ
Hi,
In Odoo 15, you can override a JavaScript method by creating a custom module and using the patch utility from OWL. First, include your custom JS file in the point_of_sale.assets bundle in your module’s __manifest__.py. Inside the JS file, import the component you want to override (e.g., Numpad in POS) and use patch to extend its prototype. For example, to override the changeMode method, write:
/** @odoo-module **/
import { patch } from "@web/core/utils/patch";
import { Numpad } from "@point_of_sale/app/screens/numpad/numpad";
patch(Numpad.prototype, "my_pos_custom_numpad_patch", {
changeMode(mode) {
console.log("Custom logic for changeMode", mode);
this.trigger('set-numpad-mode', { mode });
},
});
After restarting Odoo and upgrading the module, your custom logic will replace or extend the original method. This is the clean and recommended way to override JS methods in Odoo 15.
Hope it helps
Inherits the class of the method,Rewriting method
Bạn có hứng thú với cuộc thảo luận không? Đừng chỉ đọc, hãy tham gia nhé!
Tạo tài khoản ngay hôm nay để tận hưởng các tính năng độc đáo và tham gia cộng đồng tuyệt vời của chúng tôi!
Đăng kýBài viết liên quan | Trả lời | Lượt xem | Hoạt động | |
---|---|---|---|---|
|
2
thg 5 22
|
14752 | ||
|
2
thg 4 22
|
4863 | ||
|
1
thg 7 25
|
4249 | ||
|
10
thg 12 24
|
32735 | ||
|
1
thg 11 23
|
10744 |