When I am in Form View and the data is filled, refreshing the page automatically saves it. However, I don’t want this to happen. When I refresh, the data should not be saved.
Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:
- CRM
- e-Commerce
- 会計
- 在庫
- PoS
- Project
- MRP
この質問にフラグが付けられました
In which file i have to do this??
Hi,
By patching FormController, we can restrict auto-save in form views. By restricting the auto-save, the form will not save if we refresh the page.
/** @odoo-module */
import { FormController } from "@web/views/form/form_controller";
import { patch } from "@web/core/utils/patch";
import { useSetupView } from "@web/views/view_hook";
patch(FormController.prototype, {
setup(){
super.setup(...arguments);
this.beforeLeaveHook = false
useSetupView({
beforeLeave: () => this.beforeLeave(),
beforeUnload: (ev) => this.beforeUnload(ev),
});
},
async beforeLeave() {
/* function will work before leave the form */
if(this.model.root.isDirty && this.beforeLeaveHook == false){
if (this.env.searchModel && this.env.searchModel.resModel != 'create.bulk.products') {
this.beforeLeaveHook = true
await this.model.root.save({
reload: false,
onError: this.onSaveError.bind(this),
});
} else {
this.beforeLeaveHook = true
this.model.root.discard();
}
}
},
beforeUnload: async (ev) => {
ev.preventDefault();
}
});
Hope this helps.
関連投稿 | 返信 | ビュー | 活動 | |
---|---|---|---|---|
|
2
5月 24
|
2035 | ||
|
1
2月 24
|
1733 | ||
|
1
11月 22
|
5490 | ||
|
2
9月 22
|
19574 | ||
|
0
2月 22
|
1608 |