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

Hello, I am getting the above error when I click on IsCustomButton button in POS Payment screen. 


Here is the full list of the error:
TypeError: utils.getComponent(...).IsCustomButton is not a function
at extra.handlers.click__1043__ (eval at _compile (http://localhost:8011/web/assets/1158- 26a83f0/ web.assets_common.min.js:1014:178), :350:174)
at invokeHandler (http://localhost:8011/web/assets/1158-26a83f0/ web.assets_common.min.js:838:144 )
at handleEvent (http://localhost:8011/web/assets/1158-26a83f0/ web.assets_common.min.js:842:92)
at HTMLDivElement.handler (http://localhost:8011/web/assets/1158 -26a83f0/ web.assets_common.min.js:844:58)

Here is the JS code:

odoo.define( 'pos_custom_buttons.PaymentScreenButton' , function (require) {
'use strict' ;
const { Gui } = require( 'point_of_sale.Gui' );
const PosComponent = require( 'point_of_sale.PosComponent' );
const { posbus } = require( 'point_of_sale.utils' );
const ProductScreen = require( 'point_of_sale.ProductScreen' );
const { useListener } = require( 'web.custom_hooks' );
const Registries = require( 'point_of_sale.Registries' );
const PaymentScreen = require( 'point_of_sale.PaymentScreen');
const CustomButtonPaymentScreen = (PaymentScreen) =>
class extends PaymentScreen {
constructor() {
super(...arguments);
}
IsCustomButton() {
let partnerId = this .rpc({
model: 'model.model' ,
method: 'do_payment' ,
args: [event.detail.processedChanges],
});

var phone = prompt( "Enter the Customer phone number" );
var send_phone = "1" + String(parseInt(phone))
alert( "Request sent to: " + send_phone)

console.log(phone)
// Gui.showPopup("ErrorPopup", {
// title: this.env._t('Send request'),
// body: this. env._t('Send request'),
// });
}
};
Registries.Component.extend(PaymentScreen, CustomButtonPaymentScreen);
return CustomButtonPaymentScreen;
});

อวตาร
ละทิ้ง
ผู้เขียน คำตอบที่ดีที่สุด

Hi Cybrosys Techno Solutions Pvt.Ltd.

Thanks a lot for replying however, after updating my code with the code you provided above, I am getting this error now.
Kindly, what could be the issue?

Error:
OwlError: Invalid handler (expected a function, received: 'undefined')

อวตาร
ละทิ้ง
คำตอบที่ดีที่สุด

Hi, 

The issue is that the IsCustomButton() function is not being added to the PaymentScreen component properly. Instead of extending the PaymentScreen class with the CustomButtonPaymentScreen class, you need to create a new component that inherits from the PaymentScreen component and add the IsCustomButton() function to it.

odoo.define('pos_custom_buttons.PaymentScreenButton', function(require) {'use strict';
const {Gui} = require('point_of_sale.Gui');
const {posbus} = require('point_of_sale.utils');
const {useListener} = require('web.custom_hooks');
const Registries = require('point_of_sale.Registries');
const PaymentScreen = require('point_of_sale.PaymentScreen');
const CustomButtonPaymentScreen = PaymentScreen => class extends PaymentScreen {
constructor() {
super(...arguments);
}
IsCustomButton() {

let partnerId = this.rpc({
model: 'model.model',
method: 'do_payment',
args: [event.detail.processedChanges],
});

var phone = prompt("Enter the Customer phone number");
var send_phone = "1" + String(parseInt(phone))
alert("Request sent to: " + send_phone)
console.log(phone)
}
}
Registries.Component.add(CustomButtonPaymentScreen);
return CustomButtonPaymentScreen;
});

Regards

อวตาร
ละทิ้ง
ผู้เขียน

Hi Cybrosys Techno Solutions Pvt.Ltd.

Thanks a lot for replying however, after updating my code with the code you provided above, I am getting this error now.
Kindly, what could be the issue?

Error:
OwlError: Invalid handler (expected a function, received: 'undefined')at Object.mainEventHandler (http://localhost:8011/web/assets/debug/web.assets_common.js:21602:23) (/web/static/lib/owl/owl.js:5432)
at HTMLDivElement.listener (http://localhost:8011/web/assets/debug/web.assets_common.js:16501:20) (/web/static/lib/owl/owl.js:331)

Related Posts ตอบกลับ มุมมอง กิจกรรม
1
เม.ย. 24
1649
0
ม.ค. 24
1343
1
ก.ย. 23
2659
How to call javascript on button click แก้ไขแล้ว
2
ม.ค. 23
7242
get the model in js แก้ไขแล้ว
3
มี.ค. 25
3151