İçereği Atla
Menü
Bu soru işaretlendi
1 Cevapla
8026 Görünümler

Hi all,

I'm making a new app that creates menus "on the fly".

I need to know how to refresh the page in order to update menus. (Not manually, no F5, etc)

I tried with:

cr.commit()
openerp.service.restart_server()
 return {
            'type': 'ir.actions.client',
            'tag': 'home',
            'params': {'wait': True},
}

But that does not reload the page completly.

All suggestions are welcome.

Regards

Avatar
Vazgeç
En İyi Yanıt

You can use js and buses like this:
1. Send a message from Python when something changes

self.env['bus.bus'].sudo()._sendone(
'broadcast',
'crm_stage_changed',
{}
)


2. Subscribe to the bus event in JavaScript and reload the page when the message arrives:

/** @odoo-module **/

import { registry } from "@web/core/registry";

export const crmStageRefreshService = {
dependencies: ["bus_service"],

start(env, { bus_service }) {
bus_service.subscribe("crm_stage_changed", () => {
window.location.reload();
});
},
};

registry.category("services").add("crmStageRefresh", crmStageRefreshService);




Avatar
Vazgeç
İlgili Gönderiler Cevaplar Görünümler Aktivite
1
Kas 16
15013
0
Mar 15
4484
1
Şub 23
2572
1
Ağu 17
5985
0
Tem 16
4845