Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions setup/web_required_field_indicator/setup.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
import setuptools

setuptools.setup(
setup_requires=['setuptools-odoo'],
odoo_addon=True,
)
103 changes: 103 additions & 0 deletions web_required_field_indicator/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
.. image:: https://odoo-community.org/readme-banner-image
:target: https://odoo-community.org/get-involved?utm_source=readme
:alt: Odoo Community Association

========================
Required Field Indicator
========================

..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:61b97ab34b9c23d96ef14338c633cb98b7f337ccc4ad8b77fae895c78db4b2b7
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
:alt: Beta
.. |badge2| image:: https://img.shields.io/badge/license-AGPL--3-blue.png
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fweb-lightgray.png?logo=github
:target: https://github.com/OCA/web/tree/16.0/web_required_field_indicator
:alt: OCA/web
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/web-16-0/web-16-0-web_required_field_indicator
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
:target: https://runboat.odoo-community.org/builds?repo=OCA/web&target_branch=16.0
:alt: Try me on Runboat

|badge1| |badge2| |badge3| |badge4| |badge5|

When a required field is left empty, Odoo shows a notification titled
"Invalid fields:", which is misleading: the field is not invalid, it is
simply not filled in. This module also makes it easier to locate such
fields when they are hidden inside a notebook page.

Features
--------

- Renames the notification title from "Invalid fields:" to "Required
fields not filled:".
- Highlights, in red, the notebook tab of any page that contains a
required field that is not filled in, the same way the field itself is
highlighted.

**Table of contents**

.. contents::
:local:

Usage
=====

No configuration is needed. Once installed, try to save a form with an
empty required field:

- The notification that pops up now reads "Required fields not filled:"
instead of "Invalid fields:".
- If the empty required field is on a notebook page other than the one
currently open, that page's tab turns red so it is easy to spot.

Bug Tracker
===========

Bugs are tracked on `GitHub Issues <https://github.com/OCA/web/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
`feedback <https://github.com/OCA/web/issues/new?body=module:%20web_required_field_indicator%0Aversion:%2016.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

Do not contact contributors directly about support or help with technical issues.

Credits
=======

Authors
-------

* Bruno Corredato Botti

Contributors
------------

- Bruno Corredato Botti

Maintainers
-----------

This module is maintained by the OCA.

.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org

OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.

This module is part of the `OCA/web <https://github.com/OCA/web/tree/16.0/web_required_field_indicator>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
Empty file.
22 changes: 22 additions & 0 deletions web_required_field_indicator/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Copyright 2026 Bruno Corredato Botti
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).

{
"name": "Required Field Indicator",
"summary": "Clearer wording and notebook page highlighting for unfilled "
"required fields",
"version": "16.0.1.0.0",
"author": "Bruno Corredato Botti, Odoo Community Association (OCA)",
"website": "https://github.com/OCA/web",
"license": "AGPL-3",
"category": "Usability",
"depends": ["web"],
"installable": True,
"assets": {
"web.assets_backend": [
"web_required_field_indicator/static/src/scss/"
"notebook_required_field_indicator.scss",
"web_required_field_indicator/static/src/js/**/*",
],
},
}
20 changes: 20 additions & 0 deletions web_required_field_indicator/i18n/pt_BR.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_required_field_indicator
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"Language: pt_BR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"

#. module: web_required_field_indicator
#. odoo-javascript
#: code:addons/web_required_field_indicator/static/src/js/record_invalid_fields_notification.esm.js:0
#, python-format
msgid "Required fields not filled: "
msgstr "Campos obrigatórios não preenchidos: "
21 changes: 21 additions & 0 deletions web_required_field_indicator/i18n/web_required_field_indicator.pot
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_required_field_indicator
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"

#. module: web_required_field_indicator
#. odoo-javascript
#: code:addons/web_required_field_indicator/static/src/js/record_invalid_fields_notification.esm.js:0
#, python-format
msgid "Required fields not filled: "
msgstr ""
1 change: 1 addition & 0 deletions web_required_field_indicator/readme/CONTRIBUTORS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
- Bruno Corredato Botti
12 changes: 12 additions & 0 deletions web_required_field_indicator/readme/DESCRIPTION.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
When a required field is left empty, Odoo shows a notification titled
"Invalid fields:", which is misleading: the field is not invalid, it is
simply not filled in. This module also makes it easier to locate such
fields when they are hidden inside a notebook page.

## Features

- Renames the notification title from "Invalid fields:" to "Required
fields not filled:".
- Highlights, in red, the notebook tab of any page that contains a
required field that is not filled in, the same way the field itself
is highlighted.
7 changes: 7 additions & 0 deletions web_required_field_indicator/readme/USAGE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
No configuration is needed. Once installed, try to save a form with an
empty required field:

- The notification that pops up now reads "Required fields not
filled:" instead of "Invalid fields:".
- If the empty required field is on a notebook page other than the one
currently open, that page's tab turns red so it is easy to spot.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Loading