Skip to Content
เมนู
คุณต้องลงทะเบียนเพื่อโต้ตอบกับคอมมูนิตี้
คำถามนี้ถูกตั้งค่าสถานะ
2 ตอบกลับ
1101 มุมมอง

I need to override a patch from a module that is part of the Enterprise edition. In this case, I only need to modify the patch of a method in JavaScript, but I don't see a way to modify just that patch without affecting the entire functionality. Is there a way to override or unpatch a specific patch? Or is there any workaround for this?

อวตาร
ละทิ้ง

Hello, AFAIK you'd need to patch at least the method of that javascript part of the module

คำตอบที่ดีที่สุด

Hello Vicente de Orue,

 

In Odoo 17-18 we cannot unpatch a method, but we can override an existing patch from another module.

The patch() utility simply extends or replaces methods on the prototype, so to change an already patched method you just redefine it and optionally call the original one.

 

Here's a simple example showing how to override with the existing patch:

 

const oldMethod = Target.prototype.methodName;

 

patch(Target.prototype, "my_module", {

    methodName() {

        // your custom logic here

        return oldMethod.call(this, ...arguments); 

    },

});


If you have any questions, feel free to reach out to us

Hope this helps!


Thanks & Regards,

Email : odoo@aktivsoftware.com

อวตาร
ละทิ้ง
Related Posts ตอบกลับ มุมมอง กิจกรรม
0
ก.ค. 25
783
2
ก.ค. 25
1733
1
พ.ย. 24
1728
4
ต.ค. 24
4277
0
เม.ย. 23
1974