Overview
Odoo saves a record automatically when the user leaves the form, which can store unwanted or half-typed changes. This module overrides the form and list controllers so nothing is saved until the user asks. It is used by anyone who wants full control before data is written, such as accountants and warehouse staff. It works across all apps and needs no configuration. The benefit is fewer accidental edits.
Usage steps
- 1
Override the form controller
A JavaScript patch changes the form controller behaviour. When the user navigates away, the record is not saved automatically. The change applies to every form view.
- File: form_controller.js
- No save on navigation
- All form views
- 2
Override the list controller
The list controller is patched the same way for editable lists. Edited rows stay pending until saved by the user. Clicking elsewhere does not commit them.
- File: list_controller.js
- Editable lists
- Rows stay pending
- 3
Adjust view buttons
A patch on view buttons stops them saving silently before running an action. The user sees the unsaved state and decides. This avoids hidden writes.
- File: view_button.js
- No silent save
- User decides
- 4
Save explicitly
Records are stored only when the user presses the save button. Discard leaves the database untouched. This gives a predictable, deliberate workflow.
- Button: Save
- Button: Discard
- No configuration
Screens
Illustrative mockups with placeholder data.
Roles
| Role |
|---|
| All internal users |
Dependencies
Want to know more or try this app? Contact us
We can arrange a demo or a trial and answer your questions about Auto Save Restrict.