Browse Source

Jul 31 : [FIX] Bug Fixed 'edit_save_button'

pull/268/head
AjmalCybro 2 years ago
parent
commit
56cf0e5df0
  1. 43
      edit_save_button/static/src/views/form/form_controller.js
  2. 6
      edit_save_button/static/src/views/form/form_controller.xml

43
edit_save_button/static/src/views/form/form_controller.js

@ -1,30 +1,43 @@
/** @odoo-module **/
import { patch } from "@web/core/utils/patch";
import { FormController } from "@web/views/form/form_controller";
patch(FormController, "form_controller", {
defaultProps: {
...FormController.defaultProps,
preventEdit: true,
}
});
import { Component, onWillStart, useEffect, useRef, onRendered, useState, toRaw } from "@odoo/owl";
import { useBus, useService } from "@web/core/utils/hooks";
import { useModel } from "@web/views/model";
import { SIZES } from "@web/core/ui/ui_service";
import { useViewButtons } from "@web/views/view_button/view_button_hook";
import { useSetupView } from "@web/views/view_hook";
import { useDebugCategory } from "@web/core/debug/debug_context";
import { usePager } from "@web/search/pager_hook";
import { isX2Many } from "@web/views/utils";
import { registry } from "@web/core/registry";
const viewRegistry = registry.category("views");
import { StockPickingFormController } from "@stock/views/picking_form/picking_form_controller";
odoo.__DEBUG__ && console.log("Console log inside the patch function", FormController.prototype, "form_controller");
var data = false;
patch(FormController.prototype, "save",{
setup() {
this.props.preventEdit = !data
this._super();
},
async edit(){
this._super();
data = true;
await this.model.root.switchMode("edit");
},
async saveButtonClicked(params = {}){
this._super();
data = false;
await this.model.root.switchMode("readonly");
},
async discard(){
this._super();
data = false;
await this.model.root.switchMode("readonly");
}
})

6
edit_save_button/static/src/views/form/form_controller.xml

@ -3,13 +3,13 @@
<t t-inherit="web.FormView" t-inherit-mode="extension">
<xpath expr="//t[@t-if='canCreate']" position="after">
<t t-if="!canEdit">
<button type="button" class="btn btn-outline-primary o_form_button_edit" t-on-click="edit">Edit</button>
<button type="button" class="btn btn-outline-primary o_form_button_edit" t-on-click="edit" data-hotkey="a">Edit</button>
</t>
<div t-if="model.root.isInEdition" class="o_form_buttons_edit">
<button type="button" class="btn btn-primary o_form_button_save" t-on-click="saveButtonClicked">
<button type="button" class="btn btn-primary o_form_button_save" t-on-click="saveButtonClicked" data-hotkey="s">
<i class="fa fa-cloud-upload fa-fw"></i>
</button>
<button type="button" class="btn btn-secondary o_form_button_cancel" t-on-click="discard">
<button type="button" class="btn btn-secondary o_form_button_cancel" t-on-click="discard" data-hotkey="j">
<i class="fa fa-undo fa-fw"></i>
</button>
</div>

Loading…
Cancel
Save