Reputation: 33
Here is the issue I have right?
[NOTE] this is on odoo14
I have a js file that calls a function in python using rpc and it receives the return object; which is perfect.
Snippet of the JS function:
this.rpc({
model: 'atm.transaction',
method: 'do_payment_transaction',
args: [customer_id],
}).then(function (data)
{
console.log("Response of payment",data)
});
The python function on the other hand initiates a request to a third party API; This third party API does its stuff and calls my route which I created under controllers.
I want my function that is inside my route in the controller to call a js function.[This is my main problem].
Any insights will be much appreciated.
Upvotes: 3
Views: 2829
Reputation: 26
Yes its totally possible. This is how for example odoo displays channel messages in front end. Its done through longpooling. Here are the step
self.env['bus.bus'].sendone('your_channel','your_notification_type',dict_parameters)
this.call('bus_service', 'onNotification', this, this._onLongpollingNotifications);
/**
* @private
* @param {Object[]} notifications
* @param {string} [notifications[i].type]
* @param {string} [notifications[i].payload]
*/
async _onLongpollingNotifications(notifications) {
// your code processed here
}
For more info check here : https://github.com/odoo/odoo/blob/ea481271f8f477d1cdcbb94826111955ed9a6a4f/addons/mail/models/mail_message.py#L750
Upvotes: 1