Skip ke Konten
Menu
Pertanyaan ini telah diberikan tanda
3 Replies
5705 Tampilan

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

Avatar
Buang

@Tri Nanda

any update?

Penulis

I haven't find the solution @Bhavin

Jawaban Terbai

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

Avatar
Buang

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.

Penulis

Hi Jeffry, do you already found the solution?

Jawaban Terbai

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


Avatar
Buang
Jawaban Terbai

No I still struggling......

Avatar
Buang
Post Terkait Replies Tampilan Aktivitas
2
Jul 23
3120
1
Jun 24
2133
1
Jun 24
1403
0
Jan 24
1011
1
Apr 24
1437