Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
aed0a07
[ADD] new module web_theme_classic to identify better buttons and fie…
legalsylvain Oct 12, 2022
ac1485b
[UPD] Update web_theme_classic.pot
Jan 13, 2023
0ba437f
[UPD] README.rst
OCA-git-bot Jan 13, 2023
e47da7c
[ADD] icon.png
OCA-git-bot Jan 13, 2023
d801a0d
[IMP] web_theme_classic : Do not display required color on readonly f…
legalsylvain Apr 18, 2023
2a3c571
[IMP] web_theme_classic : Do not set border-bottom to required field,…
legalsylvain Apr 18, 2023
de5dc48
web_theme_classic 16.0.1.0.2
OCA-git-bot Apr 28, 2023
ede4a3e
[UPD] README.rst
OCA-git-bot Sep 3, 2023
cb322fd
Added translation using Weblate (French)
remi-filament Nov 6, 2023
e182afc
Deleted translation using Weblate (French)
remi-filament Nov 6, 2023
73043c5
[IMP] web_theme_classic: black, isort, prettier
legalsylvain Nov 7, 2023
23a8329
[MIG] web_theme_classic from 16.0 to 17.0
legalsylvain Nov 8, 2023
a657e28
[REF] use new readme conventions. (replace rst by md files)
legalsylvain Nov 15, 2023
75f6f1d
add some pixels left/right on input fields
gandalfthegreydev Nov 18, 2023
7543dde
[FIX] web_theme_classic : remove obsolete xml declaration.
legalsylvain May 16, 2024
6fce6f6
[UPD] Update web_theme_classic.pot
May 18, 2024
0fbc057
[BOT] post-merge updates
OCA-git-bot May 18, 2024
9e9ab83
Added translation using Weblate (Italian)
mymage May 20, 2024
149f7e5
[MIG] web_theme_classic: Migration to 18.0
Jan 2, 2025
1bdaa6c
[UPD] Update web_theme_classic.pot
Apr 3, 2025
fec6e52
[BOT] post-merge updates
OCA-git-bot Apr 3, 2025
e755542
[IMP] web_theme_classic Refactor SCSS
ljmnoonan Oct 15, 2025
a89f0da
[IMP] web_theme_classic Add dark mode assets
ljmnoonan Oct 15, 2025
03a1337
[BOT] post-merge updates
OCA-git-bot Nov 19, 2025
252dcd0
[IMP] web_theme_classic Add ability to toggle theme
ljmnoonan Dec 15, 2025
b8086fc
Added translation using Weblate (Turkish)
bo-eska Feb 25, 2026
2558faa
[UPD] Update web_theme_classic.pot
Apr 28, 2026
6fae604
[BOT] post-merge updates
OCA-git-bot Apr 28, 2026
5adf8ed
Update translation files
weblate Apr 28, 2026
9cd5aba
Translated using Weblate (Italian)
mymage Apr 30, 2026
cca931b
Added translation using Weblate (Finnish)
jarmokortetjarvi May 12, 2026
8c0f6c9
[MIG] web_theme_classic: Migration to 19.0
May 12, 2026
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
132 changes: 132 additions & 0 deletions web_theme_classic/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,132 @@
.. image:: https://odoo-community.org/readme-banner-image
:target: https://odoo-community.org/get-involved?utm_source=readme
:alt: Odoo Community Association

=================
Web Theme Classic
=================

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

.. |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/18.0/web_theme_classic
:alt: OCA/web
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/web-18-0/web-18-0-web_theme_classic
: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=18.0
:alt: Try me on Runboat

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

This module extends the Odoo Community Edition ``web`` module to improve
the visibility of input fields.

**Rational:** Since Odoo V17, the design is very pure. That's great, but
it generates some problem for users :

- Fields are not identifiable. (we can not know exactly where they are
until you hover over them with the cursor)
- There is no indication for the required fields until trying to save
(or exit the screen)

In a way, this module restores the form display of version 15, but
preserving the "save on the fly" new feature.

**Without this module**

|image1|

**With this module**

|image2|

.. |image1| image:: https://raw.githubusercontent.com/OCA/web/18.0/web_theme_classic/static/description/product_template_form_without_module.png
.. |image2| image:: https://raw.githubusercontent.com/OCA/web/18.0/web_theme_classic/static/description/product_template_form_with_module.png

**Table of contents**

.. contents::
:local:

Configuration
=============

This module allows each user to choose whether they would like input
fields to be displayed the "classic" way or the new, standard way (as if
this module were not installed)

To do this you can either:

- Check "Classic Theme Persistent" in user preferences. This will enable
the classic theme for that user across all devices.
- Check the "Classic Theme" toggle in the popover menu triggered bu
clicking on the user icon in the navbar. This toggle is only visible
when "Classic Theme Persistent" is disabled.

Please note that when disabling "Classic Theme Persistent" the style
will not change until the page is reloaded.

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_theme_classic%0Aversion:%2018.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
-------

* GRAP

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

- Sylvain LE GAL (https://www.twitter.com/legalsylvain)
- `Pyxiris <https://github.com/Pyxiris>`__

- `Liam Noonan <https://github.com/ljmnoonan>`__

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.

.. |maintainer-legalsylvain| image:: https://github.com/legalsylvain.png?size=40px
:target: https://github.com/legalsylvain
:alt: legalsylvain

Current `maintainer <https://odoo-community.org/page/maintainer-role>`__:

|maintainer-legalsylvain|

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

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
1 change: 1 addition & 0 deletions web_theme_classic/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from . import models
38 changes: 38 additions & 0 deletions web_theme_classic/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# Copyright (C) 2022 - Today: GRAP (http://www.grap.coop)
# @author: Sylvain LE GAL (https://twitter.com/legalsylvain)
# © 2025 Liam Noonan - Pyxiris
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).

{
"name": "Web Theme Classic",
"summary": "Contrasted style on fields to improve the UI.",
"version": "19.0.1.0.0",
"author": "GRAP, Odoo Community Association (OCA)",
"maintainers": ["legalsylvain"],
"website": "https://github.com/OCA/web",
"license": "AGPL-3",
"category": "Extra Tools",
"depends": [
"web",
],
"data": [
"views/res_users_views.xml",
],
"assets": {
"web.assets_backend": [
"web_theme_classic/static/src/js/switch_theme.esm.js",
],
"web.assets_web": [
"/web_theme_classic/static/src/scss/web_theme_classic.scss",
],
"web.assets_web_dark": [
(
"before",
"/web_theme_classic/static/src/scss/web_theme_classic.scss",
"/web_theme_classic/static/src/scss/web_theme_classic.dark.scss",
),
],
},
"installable": True,
"application": True,
}
54 changes: 54 additions & 0 deletions web_theme_classic/i18n/fi.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_theme_classic
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 18.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"Language: fi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"

#. module: web_theme_classic
#. odoo-javascript
#: code:addons/web_theme_classic/static/src/js/switch_theme.esm.js:0
msgid "Classic Theme"
msgstr ""

#. module: web_theme_classic
#: model:ir.model.fields,field_description:web_theme_classic.field_res_users__persistent_classic_theme
msgid "Classic Theme Persistent"
msgstr ""

#. module: web_theme_classic
#: model:ir.model,name:web_theme_classic.model_ir_http
msgid "HTTP Routing"
msgstr ""

#. module: web_theme_classic
#: model:ir.model.fields,field_description:web_theme_classic.field_res_users_settings__persistent_classic_theme
msgid "Persistent Classic Theme"
msgstr ""

#. module: web_theme_classic
#: model:ir.model.fields,help:web_theme_classic.field_res_users__persistent_classic_theme
msgid ""
"This enables Classic Theme on this user's account across all devices. \n"
" Disabling it will will alow you to to use the toggle in the user burger menu in the navbar to enable Classic Mode on a specific session/device \n"
"The toggle is not visible while Persistent Classic Theme is enabled"
msgstr ""

#. module: web_theme_classic
#: model:ir.model,name:web_theme_classic.model_res_users
msgid "User"
msgstr ""

#. module: web_theme_classic
#: model:ir.model,name:web_theme_classic.model_res_users_settings
msgid "User Settings"
msgstr ""
62 changes: 62 additions & 0 deletions web_theme_classic/i18n/it.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 17.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2026-04-30 09:36+0000\n"
"Last-Translator: mymage <stefano.consolaro@mymage.it>\n"
"Language-Team: none\n"
"Language: it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.15.2\n"

#. module: web_theme_classic
#. odoo-javascript
#: code:addons/web_theme_classic/static/src/js/switch_theme.esm.js:0
msgid "Classic Theme"
msgstr "Tema classico"

#. module: web_theme_classic
#: model:ir.model.fields,field_description:web_theme_classic.field_res_users__persistent_classic_theme
msgid "Classic Theme Persistent"
msgstr "Tema classico persistente"

#. module: web_theme_classic
#: model:ir.model,name:web_theme_classic.model_ir_http
msgid "HTTP Routing"
msgstr "Instradamento HTTP"

#. module: web_theme_classic
#: model:ir.model.fields,field_description:web_theme_classic.field_res_users_settings__persistent_classic_theme
msgid "Persistent Classic Theme"
msgstr "Tema classico persistente"

#. module: web_theme_classic
#: model:ir.model.fields,help:web_theme_classic.field_res_users__persistent_classic_theme
msgid ""
"This enables Classic Theme on this user's account across all devices. \n"
" Disabling it will will alow you to to use the toggle in the user burger "
"menu in the navbar to enable Classic Mode on a specific session/device \n"
"The toggle is not visible while Persistent Classic Theme is enabled"
msgstr ""
"Questa opzione abilita il tema classico sull'account di questo utente su "
"tutti i dispositivi.\n"
"Disabilitandola, si potrà utilizzare l'interruttore nel pulsante menu "
"dell'utente nella barra di navigazione per abilitare la modalità classica su "
"una sessione/dispositivo specifici.\n"
"L'interruttore non è visibile quando il tema classico persistente è abilitato"

#. module: web_theme_classic
#: model:ir.model,name:web_theme_classic.model_res_users
msgid "User"
msgstr "Utente"

#. module: web_theme_classic
#: model:ir.model,name:web_theme_classic.model_res_users_settings
msgid "User Settings"
msgstr "Impostazioni utente"
54 changes: 54 additions & 0 deletions web_theme_classic/i18n/tr.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 18.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"Language: tr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"

#. module: web_theme_classic
#. odoo-javascript
#: code:addons/web_theme_classic/static/src/js/switch_theme.esm.js:0
msgid "Classic Theme"
msgstr ""

#. module: web_theme_classic
#: model:ir.model.fields,field_description:web_theme_classic.field_res_users__persistent_classic_theme
msgid "Classic Theme Persistent"
msgstr ""

#. module: web_theme_classic
#: model:ir.model,name:web_theme_classic.model_ir_http
msgid "HTTP Routing"
msgstr ""

#. module: web_theme_classic
#: model:ir.model.fields,field_description:web_theme_classic.field_res_users_settings__persistent_classic_theme
msgid "Persistent Classic Theme"
msgstr ""

#. module: web_theme_classic
#: model:ir.model.fields,help:web_theme_classic.field_res_users__persistent_classic_theme
msgid ""
"This enables Classic Theme on this user's account across all devices. \n"
" Disabling it will will alow you to to use the toggle in the user burger "
"menu in the navbar to enable Classic Mode on a specific session/device \n"
"The toggle is not visible while Persistent Classic Theme is enabled"
msgstr ""

#. module: web_theme_classic
#: model:ir.model,name:web_theme_classic.model_res_users
msgid "User"
msgstr ""

#. module: web_theme_classic
#: model:ir.model,name:web_theme_classic.model_res_users_settings
msgid "User Settings"
msgstr ""
Loading
Loading