Skip to Content
Меню
Вам необхідно зареєструватися, щоб взаємодіяти зі спільнотою.
Це запитання позначене
3 Відповіді
5602 Переглядів

In Odoo 15 below, this bellow code works properly:


odoo.define('module_name.print_button', function(require){
"use strict";

var FormController = require('web.FormController');

FormController.include({
_onButtonClicked: function(event){
console.log(event);

if(event.data.attrs.custom == "print"){
var printer_data = event.data.record.data.printer_data;
if (!printer_data){
alert('No printer data! Please click the Refresh Printer Data button');
return;
}
console.log(printer_data);

var url = "http://localhost:8000/dotmatrix/print";
$.ajax({
type:"POST",
url: url,
data: {
printer_data: printer_data
},
success: function(data){
alert('Print successfull!');
},
error: function(data){
alert('Dotmatrix print failed! Is Proxy Running ?')
console.log(data);
}
});
}

this._super(event);
}
});
});

In Odoo15 and below, the code will send a javascript event on the browser console.


But on Odoo 16, the code above is not readable by Odoo, any code that I enter doesn't show results in the browser console.

e.g. If I create to like this:


FormController.include({
_onButtonClicked: function(event){
console.log('test 123);


The console.log('test 123'); result doesn't appear on the web browser console.


So, what is the conversation of the code in Odoo16, especially in FormController and _onButtonClicked.


Any help, source, or tutorial on how to code the above in Odoo16 will be very appreciated.


Thanks,

Tri

Аватар
Відмінити

@Tri Nanda

any update?

Автор

I haven't find the solution @Bhavin

Найкраща відповідь

Hi,

In odoo 16 the FormController is written using OWL framework. so if you have to modify it you have to use the patch function.

/** @odoo-module */

import { patch } from "@web/core/utils/patch";

import FormController from "web.FormController";

patch(FormController.prototype, "file_path or something unique", {
// Here you can add your functions here
})

The _onButtonClicked function is no longer available.

Regards

Аватар
Відмінити

Thank, but I have a button , with event.data.attrs.custom == "print" how this can work, in every button that has this custom. to being called.

Автор

Hi Jeffry, do you already found the solution?

Найкраща відповідь

Solution please, i haven't find the solution too :(


Аватар
Відмінити
Найкраща відповідь

No I still struggling......

Аватар
Відмінити
Related Posts Відповіді Переглядів Дія
2
лип. 23
3021
1
черв. 24
2046
1
черв. 24
1348
0
січ. 24
952
1
квіт. 24
1338