From bac69a36cfa8d20fdc3a3d0a34a216d2be1d3a7d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexandre=20D=C3=ADaz?= Date: Thu, 23 May 2019 08:55:31 +0200 Subject: [PATCH 01/54] [12.0][ADD] web_company_color (#1253) --- web_company_color/README.rst | 88 ++++ web_company_color/__init__.py | 5 + web_company_color/__manifest__.py | 22 + web_company_color/hooks.py | 14 + web_company_color/models/__init__.py | 3 + web_company_color/models/res_company.py | 165 +++++++ web_company_color/readme/CONTRIBUTORS.rst | 4 + web_company_color/readme/DESCRIPTION.rst | 1 + web_company_color/readme/ROADMAP.rst | 1 + web_company_color/readme/USAGE.rst | 3 + .../static/description/index.html | 433 ++++++++++++++++++ web_company_color/tests/__init__.py | 1 + web_company_color/tests/test_res_company.py | 35 ++ web_company_color/utils.py | 41 ++ web_company_color/view/assets.xml | 17 + web_company_color/view/res_company.xml | 33 ++ 16 files changed, 866 insertions(+) create mode 100644 web_company_color/README.rst create mode 100644 web_company_color/__init__.py create mode 100644 web_company_color/__manifest__.py create mode 100644 web_company_color/hooks.py create mode 100644 web_company_color/models/__init__.py create mode 100644 web_company_color/models/res_company.py create mode 100644 web_company_color/readme/CONTRIBUTORS.rst create mode 100644 web_company_color/readme/DESCRIPTION.rst create mode 100644 web_company_color/readme/ROADMAP.rst create mode 100644 web_company_color/readme/USAGE.rst create mode 100644 web_company_color/static/description/index.html create mode 100644 web_company_color/tests/__init__.py create mode 100644 web_company_color/tests/test_res_company.py create mode 100644 web_company_color/utils.py create mode 100644 web_company_color/view/assets.xml create mode 100644 web_company_color/view/res_company.xml diff --git a/web_company_color/README.rst b/web_company_color/README.rst new file mode 100644 index 000000000000..f293d67e57c6 --- /dev/null +++ b/web_company_color/README.rst @@ -0,0 +1,88 @@ +================= +Web Company Color +================= + +.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |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/licence-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/12.0/web_company_color + :alt: OCA/web +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/web-12-0/web-12-0-web_company_color + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png + :target: https://runbot.odoo-community.org/runbot/162/12.0 + :alt: Try me on Runbot + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module change navbar colors based in the company logo colors. + +**Table of contents** + +.. contents:: + :local: + +Usage +===== + +Go to company record and set a logo. Can see/modify applied colors on the "Navbar" section. + +For optimal results use images with alpha channel. + +Known issues / Roadmap +====================== + +White color is omitted in the addition operation to support images without alpha channel. + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us smashing it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +~~~~~~~ + +* Alexandre Díaz + +Contributors +~~~~~~~~~~~~ + +* Jordi Ballester Alomar (Eficent) +* Lois Rilo (Eficent) +* Simone Orsi +* Jairo Llopis + +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 `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/web_company_color/__init__.py b/web_company_color/__init__.py new file mode 100644 index 000000000000..62048b1dfa7b --- /dev/null +++ b/web_company_color/__init__.py @@ -0,0 +1,5 @@ +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from . import models +from .hooks import post_init_hook, uninstall_hook +from . import utils diff --git a/web_company_color/__manifest__.py b/web_company_color/__manifest__.py new file mode 100644 index 000000000000..62a5f55fabea --- /dev/null +++ b/web_company_color/__manifest__.py @@ -0,0 +1,22 @@ +# Odoo, Open Source Web Company Color +# Copyright (C) 2019 Alexandre Díaz +# +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).# +{ + 'name': "Web Company Color", + 'category': "web", + 'version': "12.0.1.0.0", + "author": "Alexandre Díaz, " + "Odoo Community Association (OCA)", + 'website': 'https://github.com/OCA/web', + 'depends': ['web', 'base_sparse_field', 'web_widget_color'], + 'data': [ + 'view/assets.xml', + 'view/res_company.xml' + ], + 'uninstall_hook': 'uninstall_hook', + 'post_init_hook': 'post_init_hook', + 'license': 'AGPL-3', + 'auto_install': False, + 'installable': True, +} diff --git a/web_company_color/hooks.py b/web_company_color/hooks.py new file mode 100644 index 000000000000..a095f8e71ce4 --- /dev/null +++ b/web_company_color/hooks.py @@ -0,0 +1,14 @@ +# Copyright 2019 Alexandre Díaz +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). +from odoo import api, SUPERUSER_ID +from .models.res_company import URL_BASE + + +def uninstall_hook(cr, registry): + env = api.Environment(cr, SUPERUSER_ID, {}) + env["ir.attachment"].search([('url', 'like', '%s%%' % URL_BASE)]).unlink() + + +def post_init_hook(cr, registry): + env = api.Environment(cr, SUPERUSER_ID, {}) + env['res.company'].search([]).scss_create_or_update_attachment() diff --git a/web_company_color/models/__init__.py b/web_company_color/models/__init__.py new file mode 100644 index 000000000000..a12c1b8ee0e7 --- /dev/null +++ b/web_company_color/models/__init__.py @@ -0,0 +1,3 @@ +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from . import res_company diff --git a/web_company_color/models/res_company.py b/web_company_color/models/res_company.py new file mode 100644 index 000000000000..c1590080e1bf --- /dev/null +++ b/web_company_color/models/res_company.py @@ -0,0 +1,165 @@ +# Copyright 2019 Alexandre Díaz +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). +import base64 +import time +from colorsys import rgb_to_hls, hls_to_rgb +from odoo import models, fields, api +from ..utils import image_to_rgb, convert_to_image, n_rgb_to_hex + + +URL_BASE = '/web_company_color/static/src/scss/' +URL_SCSS_GEN_TEMPLATE = URL_BASE + 'custom_colors.%d.%s.gen.scss' + + +class ResCompany(models.Model): + _inherit = 'res.company' + + SCSS_TEMPLATE = """ + .o_main_navbar { + background-color: %(color_navbar_bg)s !important; + color: %(color_navbar_text)s !important; + + > .o_menu_brand { + color: %(color_navbar_text)s !important; + &:hover, &:focus, &:active, &:focus:active { + background-color: %(color_navbar_bg_hover)s !important; + } + } + + .show { + .dropdown-toggle { + background-color: %(color_navbar_bg_hover)s !important; + } + } + + > ul { + > li { + > a, > label { + color: %(color_navbar_text)s !important; + + &:hover, &:focus, &:active, &:focus:active { + background-color: %(color_navbar_bg_hover)s !important; + } + } + } + } + } + """ + + company_colors = fields.Serialized() + color_navbar_bg = fields.Char('Navbar Background Color', + sparse='company_colors') + color_navbar_bg_hover = fields.Char( + 'Navbar Background Color Hover', sparse='company_colors') + color_navbar_text = fields.Char('Navbar Text Color', + sparse='company_colors') + scss_modif_timestamp = fields.Char('SCSS Modif. Timestamp') + + @api.model + def create(self, values): + record = super().create(values) + record.scss_create_or_update_attachment() + return record + + @api.multi + def unlink(self): + result = super().unlink() + IrAttachmentObj = self.env['ir.attachment'] + for record in self: + IrAttachmentObj.sudo().search([ + ('url', 'like', '%s%%' % record._scss_get_url_simplified()), + ]).sudo().unlink() + return result + + @api.multi + def write(self, values): + if not self.env.context.get('ignore_company_color', False): + fields_to_check = ('color_navbar_bg', + 'color_navbar_bg_hover', + 'color_navbar_text') + if 'logo' in values: + if values['logo']: + _r, _g, _b = image_to_rgb(convert_to_image(values['logo'])) + # Make color 10% darker + _h, _l, _s = rgb_to_hls(_r, _g, _b) + _l = max(0, _l - 0.1) + _rd, _gd, _bd = hls_to_rgb(_h, _l, _s) + # Calc. optimal text color (b/w) + # Grayscale human vision perception (Rec. 709 values) + _a = 1 - (0.2126 * _r + 0.7152 * _g + 0.0722 * _b) + values.update({ + 'color_navbar_bg': n_rgb_to_hex(_r, _g, _b), + 'color_navbar_bg_hover': n_rgb_to_hex(_rd, _gd, _bd), + 'color_navbar_text': '#000' if _a < 0.5 else '#fff', + }) + else: + values.update(self.default_get(fields_to_check)) + + result = super().write(values) + + if any([field in values for field in fields_to_check]): + self.scss_create_or_update_attachment() + else: + result = super().write(values) + return result + + @api.multi + def _scss_get_sanitized_values(self): + self.ensure_one() + values = dict(self.company_colors) + values.update({ + 'color_navbar_bg': values['color_navbar_bg'] or '$o-brand-odoo', + 'color_navbar_bg_hover': values['color_navbar_bg_hover'] + or '$o-navbar-inverse-link-hover-bg', + 'color_navbar_text': values['color_navbar_text'] or '#FFF', + }) + return values + + @api.multi + def _scss_generate_content(self): + self.ensure_one() + # ir.attachment need files with content to work + if not self.company_colors: + return "// No Web Company Color SCSS Content\n" + return self.SCSS_TEMPLATE % self._scss_get_sanitized_values() + + # URL to scss related with this company, without timestamp + # /web_company_color/static/src/scss/custom_colors. + def _scss_get_url_simplified(self): + self.ensure_one() + NTEMPLATE = '.'.join(URL_SCSS_GEN_TEMPLATE.split('.')[:2]) + return NTEMPLATE % self.id + + @api.multi + def scss_get_url(self, timestamp=None): + self.ensure_one() + return URL_SCSS_GEN_TEMPLATE % (self.id, + timestamp or self.scss_modif_timestamp) + + @api.multi + def scss_create_or_update_attachment(self): + IrAttachmentObj = self.env['ir.attachment'] + modif_timestamp = str(int(time.time())) # One second resolution + for record in self: + datas = base64.b64encode( + record._scss_generate_content().encode('utf-8')) + custom_attachment = IrAttachmentObj.sudo().search([ + ('url', 'like', '%s%%' % record._scss_get_url_simplified()) + ]) + custom_url = record.scss_get_url(timestamp=modif_timestamp) + values = { + 'datas': datas, + 'url': custom_url, + 'name': custom_url, + 'datas_fname': custom_url.split("/")[-1], + } + if custom_attachment: + custom_attachment.sudo().write(values) + else: + values.update({ + 'type': 'binary', + 'mimetype': 'text/scss', + }) + IrAttachmentObj.sudo().create(values) + self.write({'scss_modif_timestamp': modif_timestamp}) + self.env['ir.qweb'].sudo().clear_caches() diff --git a/web_company_color/readme/CONTRIBUTORS.rst b/web_company_color/readme/CONTRIBUTORS.rst new file mode 100644 index 000000000000..1cb0a6535fb0 --- /dev/null +++ b/web_company_color/readme/CONTRIBUTORS.rst @@ -0,0 +1,4 @@ +* Jordi Ballester Alomar (Eficent) +* Lois Rilo (Eficent) +* Simone Orsi +* Jairo Llopis diff --git a/web_company_color/readme/DESCRIPTION.rst b/web_company_color/readme/DESCRIPTION.rst new file mode 100644 index 000000000000..b164fc0f50b5 --- /dev/null +++ b/web_company_color/readme/DESCRIPTION.rst @@ -0,0 +1 @@ +This module change navbar colors based in the company logo colors. diff --git a/web_company_color/readme/ROADMAP.rst b/web_company_color/readme/ROADMAP.rst new file mode 100644 index 000000000000..2b669379ae70 --- /dev/null +++ b/web_company_color/readme/ROADMAP.rst @@ -0,0 +1 @@ +White color is omitted in the addition operation to support images without alpha channel. diff --git a/web_company_color/readme/USAGE.rst b/web_company_color/readme/USAGE.rst new file mode 100644 index 000000000000..0143fee7dbc9 --- /dev/null +++ b/web_company_color/readme/USAGE.rst @@ -0,0 +1,3 @@ +Go to company record and set a logo. Can see/modify applied colors on the "Navbar" section. + +For optimal results use images with alpha channel. diff --git a/web_company_color/static/description/index.html b/web_company_color/static/description/index.html new file mode 100644 index 000000000000..84b559e53f32 --- /dev/null +++ b/web_company_color/static/description/index.html @@ -0,0 +1,433 @@ + + + + + + +Web Company Color + + + +
+

Web Company Color

+ + +

Beta License: AGPL-3 OCA/web Translate me on Weblate Try me on Runbot

+

This module change navbar colors based in the company logo colors.

+

Table of contents

+ +
+

Usage

+

Go to company record and set a logo. Can see/modify applied colors on the “Navbar” section.

+

For optimal results use images with alpha channel.

+
+
+

Known issues / Roadmap

+

White color is omitted in the addition operation to support images without alpha channel.

+
+
+

Bug Tracker

+

Bugs are tracked on GitHub Issues. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us smashing it by providing a detailed and welcomed +feedback.

+

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

+
+
+

Credits

+
+

Authors

+
    +
  • Alexandre Díaz
  • +
+
+
+

Contributors

+ +
+
+

Maintainers

+

This module is maintained by the OCA.

+Odoo Community Association +

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 project on GitHub.

+

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

+
+
+
+ + diff --git a/web_company_color/tests/__init__.py b/web_company_color/tests/__init__.py new file mode 100644 index 000000000000..2c9568e64bcd --- /dev/null +++ b/web_company_color/tests/__init__.py @@ -0,0 +1 @@ +from . import test_res_company diff --git a/web_company_color/tests/test_res_company.py b/web_company_color/tests/test_res_company.py new file mode 100644 index 000000000000..54bf06f420fe --- /dev/null +++ b/web_company_color/tests/test_res_company.py @@ -0,0 +1,35 @@ +# Copyright 2019 Alexandre Díaz +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). +from odoo.tests import common +from ..models.res_company import URL_BASE + + +class TestResCompany(common.TransactionCase): + IMG_GREEN = 'iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUl' \ + + 'EQVR42mNk+M/wHwAEBgIApD5fRAAAAABJRU5ErkJggg==' + + def test_scss_attachment(self): + num_scss = self.env['ir.attachment'].search_count([ + ('url', 'ilike', '%s%%' % URL_BASE) + ]) + num_companies = self.env['res.company'].search_count([]) + self.assertEqual(num_scss, num_companies, "Invalid scss attachments") + + def test_change_logo(self): + company_id = self.env['res.company'].search([], limit=1) + company_id.sudo().write({'logo': self.IMG_GREEN}) + self.assertEqual(company_id.color_navbar_bg, '#00ff00', + "Invalid Navbar Background Color") + + def test_create_unlink_company(self): + company_id = self.env['res.company'].create({ + 'name': 'Company Test' + }) + self.assertEqual(company_id.color_navbar_bg, False, + "Invalid Navbar Background Color") + self.test_scss_attachment() + company_id.sudo().write({'logo': self.IMG_GREEN}) + self.assertEqual(company_id.color_navbar_bg, '#00ff00', + "Invalid Navbar Background Color") + company_id.sudo().unlink() + self.test_scss_attachment() diff --git a/web_company_color/utils.py b/web_company_color/utils.py new file mode 100644 index 000000000000..f2ac423b797b --- /dev/null +++ b/web_company_color/utils.py @@ -0,0 +1,41 @@ +# Copyright 2019 Alexandre Díaz +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). +import base64 +import math +from PIL import Image +from io import BytesIO + + +def n_rgb_to_hex(_r, _g, _b): + return '#%02x%02x%02x' % (int(255*_r), int(255*_g), int(255*_b)) + + +def convert_to_image(field_binary): + return Image.open(BytesIO(base64.b64decode(field_binary))) + + +def image_to_rgb(img): + def normalize_vec3(vec3): + _l = 1.0 / math.sqrt(vec3[0]*vec3[0] + + vec3[1]*vec3[1] + + vec3[2]*vec3[2]) + return (vec3[0]*_l, vec3[1]*_l, vec3[2]*_l) + + # Force Alpha Channel + if img.mode != 'RGBA': + img = img.convert('RGBA') + width, height = img.size + # Reduce pixels + width, height = (max(1, int(width/4)), max(1, int(height/4))) + img = img.resize((width, height)) + rgb_sum = [0, 0, 0] + # Mix. image colors using addition method + RGBA_WHITE = (255, 255, 255, 255) + for i in range(0, height*width): + rgba = img.getpixel((i % width, i / width)) + if rgba[3] > 128 and rgba != RGBA_WHITE: + rgb_sum[0] += rgba[0] + rgb_sum[1] += rgba[1] + rgb_sum[2] += rgba[2] + _r, _g, _b = normalize_vec3(rgb_sum) + return (_r, _g, _b) diff --git a/web_company_color/view/assets.xml b/web_company_color/view/assets.xml new file mode 100644 index 000000000000..d84a3e0bd988 --- /dev/null +++ b/web_company_color/view/assets.xml @@ -0,0 +1,17 @@ + + + + + + + diff --git a/web_company_color/view/res_company.xml b/web_company_color/view/res_company.xml new file mode 100644 index 000000000000..4551d03c822d --- /dev/null +++ b/web_company_color/view/res_company.xml @@ -0,0 +1,33 @@ + + + + + + + + res.company + + + + + + + + + + + + + + + + From 1ccf5d16a0756c68aad60f5c2e22452a0275482e Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Thu, 23 May 2019 06:56:09 +0000 Subject: [PATCH 02/54] [ADD] icon.png --- web_company_color/i18n/web_company_color.pot | 62 ++++++++++++++++++ web_company_color/static/description/icon.png | Bin 0 -> 9455 bytes .../static/description/index.html | 2 +- 3 files changed, 63 insertions(+), 1 deletion(-) create mode 100644 web_company_color/i18n/web_company_color.pot create mode 100644 web_company_color/static/description/icon.png diff --git a/web_company_color/i18n/web_company_color.pot b/web_company_color/i18n/web_company_color.pot new file mode 100644 index 000000000000..bddcd9052090 --- /dev/null +++ b/web_company_color/i18n/web_company_color.pot @@ -0,0 +1,62 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * web_company_color +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 12.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_company_color +#: model_terms:ir.ui.view,arch_db:web_company_color.view_company_form +msgid "\n" +" In order for the changes to take effect, please refresh\n" +" the page." +msgstr "" + +#. module: web_company_color +#: model:ir.model,name:web_company_color.model_res_company +msgid "Companies" +msgstr "" + +#. module: web_company_color +#: model:ir.model.fields,field_description:web_company_color.field_res_company__company_colors +msgid "Company Colors" +msgstr "" + +#. module: web_company_color +#: model_terms:ir.ui.view,arch_db:web_company_color.view_company_form +msgid "Company Styles" +msgstr "" + +#. module: web_company_color +#: model:ir.model.fields,field_description:web_company_color.field_res_company__color_navbar_bg +msgid "Navbar Background Color" +msgstr "" + +#. module: web_company_color +#: model:ir.model.fields,field_description:web_company_color.field_res_company__color_navbar_bg_hover +msgid "Navbar Background Color Hover" +msgstr "" + +#. module: web_company_color +#: model_terms:ir.ui.view,arch_db:web_company_color.view_company_form +msgid "Navbar Colors" +msgstr "" + +#. module: web_company_color +#: model:ir.model.fields,field_description:web_company_color.field_res_company__color_navbar_text +msgid "Navbar Text Color" +msgstr "" + +#. module: web_company_color +#: model:ir.model.fields,field_description:web_company_color.field_res_company__scss_modif_timestamp +msgid "SCSS Modif. Timestamp" +msgstr "" + diff --git a/web_company_color/static/description/icon.png b/web_company_color/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3a0328b516c4980e8e44cdb63fd945757ddd132d GIT binary patch literal 9455 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 z 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 Xviia!U7SGha1wx#SCgwmn*{w2TRX*I literal 0 HcmV?d00001 diff --git a/web_company_color/static/description/index.html b/web_company_color/static/description/index.html index 84b559e53f32..114e240e9fad 100644 --- a/web_company_color/static/description/index.html +++ b/web_company_color/static/description/index.html @@ -3,7 +3,7 @@ - + Web Company Color -
-

Web Company Color

+
+ + +Odoo Community Association + +
+

Web Company Color

-

Beta License: AGPL-3 OCA/web Translate me on Weblate Try me on Runboat

+

Beta License: AGPL-3 OCA/web Translate me on Weblate Try me on Runboat

This module change navbar colors based in the company logo colors.

Table of contents

@@ -386,18 +391,18 @@

Web Company Color

-

Usage

+

Usage

Go to company record and set a logo. Can see/modify applied colors on the “Navbar” section.

For optimal results use images with alpha channel.

-

Known issues / Roadmap

+

Known issues / Roadmap

White color is omitted in the addition operation to support images without alpha channel.

-

Bug Tracker

+

Bug Tracker

Bugs are tracked on GitHub 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 @@ -405,15 +410,15 @@

Bug Tracker

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

-

Credits

+

Credits

-

Authors

+

Authors

  • Alexandre Díaz
-

Contributors

+

Contributors

-

Maintainers

+

Maintainers

This module is maintained by the OCA.

Odoo Community Association @@ -443,5 +448,6 @@

Maintainers

+
From 6cd4864d2e61561a3cf82e5c34c504af8214f0fd Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Mon, 8 Sep 2025 09:02:33 +0000 Subject: [PATCH 51/54] [BOT] post-merge updates --- web_company_color/README.rst | 2 +- web_company_color/__manifest__.py | 2 +- web_company_color/static/description/index.html | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/web_company_color/README.rst b/web_company_color/README.rst index 83fd7184eb15..38d79d4f2f0c 100644 --- a/web_company_color/README.rst +++ b/web_company_color/README.rst @@ -11,7 +11,7 @@ Web Company Color !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:7263b476351456e8a32573a65a5baebffd64b158c6a17487f20b08aa010b17f3 + !! source digest: sha256:622d249810675797d351ceaaa800f9df89d92067ce131c14087b0b92fbf78283 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png diff --git a/web_company_color/__manifest__.py b/web_company_color/__manifest__.py index 54a7cb5cdd77..6bd35b046e8c 100644 --- a/web_company_color/__manifest__.py +++ b/web_company_color/__manifest__.py @@ -5,7 +5,7 @@ { "name": "Web Company Color", "category": "web", - "version": "18.0.1.0.2", + "version": "18.0.1.0.3", "author": "Alexandre Díaz, Odoo Community Association (OCA)", "website": "https://github.com/OCA/web", "depends": ["web", "base_sparse_field"], diff --git a/web_company_color/static/description/index.html b/web_company_color/static/description/index.html index 7ac7bfe3aa12..36e812031a5a 100644 --- a/web_company_color/static/description/index.html +++ b/web_company_color/static/description/index.html @@ -372,7 +372,7 @@

Web Company Color

!! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:7263b476351456e8a32573a65a5baebffd64b158c6a17487f20b08aa010b17f3 +!! source digest: sha256:622d249810675797d351ceaaa800f9df89d92067ce131c14087b0b92fbf78283 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

Beta License: AGPL-3 OCA/web Translate me on Weblate Try me on Runboat

This module change navbar colors based in the company logo colors.

From f6ecdf3f66925899ee572d18776a43ee3dd3b3a1 Mon Sep 17 00:00:00 2001 From: DavidJForgeFlow Date: Tue, 14 Oct 2025 09:17:43 +0200 Subject: [PATCH 52/54] [IMP] web_company_color: mobile systray button When used on mobile/tablet view, the buttons and texts in the navbar do not match the company colors. --- web_company_color/models/res_company.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/web_company_color/models/res_company.py b/web_company_color/models/res_company.py index 0dc6d2147192..f4c296b0fba6 100644 --- a/web_company_color/models/res_company.py +++ b/web_company_color/models/res_company.py @@ -115,7 +115,10 @@ class ResCompany(models.Model): background-color: %(color_navbar_bg_hover)s !important; } } - .o_menu_systray button{ + .o_menu_systray button, + .o_navbar_breadcrumbs, + .o_main_navbar button, + .o_menu_toggle { color: %(color_navbar_text)s !important; &:hover, &:focus, &:active, &:focus:active { background-color: %(color_navbar_bg_hover)s !important; From a6f10d499eedd1279861aa0d8348c664c1eda49a Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Wed, 15 Oct 2025 13:56:03 +0000 Subject: [PATCH 53/54] [BOT] post-merge updates --- web_company_color/README.rst | 2 +- web_company_color/__manifest__.py | 2 +- web_company_color/static/description/index.html | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/web_company_color/README.rst b/web_company_color/README.rst index 38d79d4f2f0c..13215077c780 100644 --- a/web_company_color/README.rst +++ b/web_company_color/README.rst @@ -11,7 +11,7 @@ Web Company Color !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:622d249810675797d351ceaaa800f9df89d92067ce131c14087b0b92fbf78283 + !! source digest: sha256:75f2396aade33370837fa8dc343dfb818e4b777b8115331fed547449727181f5 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png diff --git a/web_company_color/__manifest__.py b/web_company_color/__manifest__.py index 6bd35b046e8c..be2582397a45 100644 --- a/web_company_color/__manifest__.py +++ b/web_company_color/__manifest__.py @@ -5,7 +5,7 @@ { "name": "Web Company Color", "category": "web", - "version": "18.0.1.0.3", + "version": "18.0.1.0.4", "author": "Alexandre Díaz, Odoo Community Association (OCA)", "website": "https://github.com/OCA/web", "depends": ["web", "base_sparse_field"], diff --git a/web_company_color/static/description/index.html b/web_company_color/static/description/index.html index 36e812031a5a..8545f0ec29b1 100644 --- a/web_company_color/static/description/index.html +++ b/web_company_color/static/description/index.html @@ -372,7 +372,7 @@

Web Company Color

!! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:622d249810675797d351ceaaa800f9df89d92067ce131c14087b0b92fbf78283 +!! source digest: sha256:75f2396aade33370837fa8dc343dfb818e4b777b8115331fed547449727181f5 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

Beta License: AGPL-3 OCA/web Translate me on Weblate Try me on Runboat

This module change navbar colors based in the company logo colors.

From 94959d94839fc52a3b12194084573a0d3f678b6f Mon Sep 17 00:00:00 2001 From: Bhavesh Heliconia Date: Fri, 17 Oct 2025 13:08:10 +0530 Subject: [PATCH 54/54] [MIG] web_company_color: Migration to 19.0 --- web_company_color/README.rst | 16 ++++++++++------ web_company_color/__manifest__.py | 2 +- web_company_color/models/ir_qweb.py | 12 ++++++------ web_company_color/models/res_company.py | 5 +---- web_company_color/readme/CONTRIBUTORS.md | 2 ++ web_company_color/static/description/index.html | 12 ++++++++---- 6 files changed, 28 insertions(+), 21 deletions(-) diff --git a/web_company_color/README.rst b/web_company_color/README.rst index 13215077c780..9a4f52c3f62d 100644 --- a/web_company_color/README.rst +++ b/web_company_color/README.rst @@ -11,7 +11,7 @@ Web Company Color !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:75f2396aade33370837fa8dc343dfb818e4b777b8115331fed547449727181f5 + !! source digest: sha256:622d249810675797d351ceaaa800f9df89d92067ce131c14087b0b92fbf78283 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png @@ -21,13 +21,13 @@ Web Company Color :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_company_color + :target: https://github.com/OCA/web/tree/19.0/web_company_color :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_company_color + :target: https://translation.odoo-community.org/projects/web-19-0/web-19-0-web_company_color :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 + :target: https://runboat.odoo-community.org/builds?repo=OCA/web&target_branch=19.0 :alt: Try me on Runboat |badge1| |badge2| |badge3| |badge4| |badge5| @@ -59,7 +59,7 @@ Bug Tracker Bugs are tracked on `GitHub 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 `_. +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -86,6 +86,10 @@ Contributors - Alexandre Díaz - Carlos Roca +- `Heliconia Solutions Pvt. Ltd. `__ + + - Bhavesh Heliconia + Maintainers ----------- @@ -99,6 +103,6 @@ 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 `_ project on GitHub. +This module is part of the `OCA/web `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/web_company_color/__manifest__.py b/web_company_color/__manifest__.py index be2582397a45..08fc9708c6d3 100644 --- a/web_company_color/__manifest__.py +++ b/web_company_color/__manifest__.py @@ -5,7 +5,7 @@ { "name": "Web Company Color", "category": "web", - "version": "18.0.1.0.4", + "version": "19.0.1.0.0", "author": "Alexandre Díaz, Odoo Community Association (OCA)", "website": "https://github.com/OCA/web", "depends": ["web", "base_sparse_field"], diff --git a/web_company_color/models/ir_qweb.py b/web_company_color/models/ir_qweb.py index b9f389f004e3..523d0d8cd85e 100644 --- a/web_company_color/models/ir_qweb.py +++ b/web_company_color/models/ir_qweb.py @@ -9,12 +9,7 @@ class QWeb(models.AbstractModel): _inherit = "ir.qweb" def _generate_asset_links_cache( - self, - bundle, - css=True, - js=True, - assets_params=None, - rtl=False, + self, bundle, css=True, js=True, assets_params=None, rtl=False, autoprefix=False ): res = super()._generate_asset_links_cache( bundle, @@ -22,6 +17,7 @@ def _generate_asset_links_cache( js=js, assets_params=assets_params, rtl=rtl, + autoprefix=autoprefix, ) if bundle == "web_company_color.company_color_assets": asset = AssetsBundleCompanyColor( @@ -38,6 +34,7 @@ def _generate_asset_links( debug_assets=False, assets_params=None, rtl=False, + autoprefix=False, ): res = super()._generate_asset_links( bundle, @@ -46,6 +43,7 @@ def _generate_asset_links( debug_assets=debug_assets, assets_params=assets_params, rtl=rtl, + autoprefix=autoprefix, ) if bundle == "web_company_color.company_color_assets": asset = AssetsBundleCompanyColor( @@ -69,6 +67,7 @@ def _get_asset_nodes( defer_load=False, lazy_load=False, media=None, + autoprefix=False, ): res = super()._get_asset_nodes( bundle, @@ -78,6 +77,7 @@ def _get_asset_nodes( defer_load=defer_load, lazy_load=lazy_load, media=media, + autoprefix=autoprefix, ) for tag, attributes in res: if tag == "link" and attributes.get("href", "").startswith( diff --git a/web_company_color/models/res_company.py b/web_company_color/models/res_company.py index f4c296b0fba6..0dc6d2147192 100644 --- a/web_company_color/models/res_company.py +++ b/web_company_color/models/res_company.py @@ -115,10 +115,7 @@ class ResCompany(models.Model): background-color: %(color_navbar_bg_hover)s !important; } } - .o_menu_systray button, - .o_navbar_breadcrumbs, - .o_main_navbar button, - .o_menu_toggle { + .o_menu_systray button{ color: %(color_navbar_text)s !important; &:hover, &:focus, &:active, &:focus:active { background-color: %(color_navbar_bg_hover)s !important; diff --git a/web_company_color/readme/CONTRIBUTORS.md b/web_company_color/readme/CONTRIBUTORS.md index c66d22568de5..56447aa857e7 100644 --- a/web_company_color/readme/CONTRIBUTORS.md +++ b/web_company_color/readme/CONTRIBUTORS.md @@ -8,3 +8,5 @@ - Jairo Llopis - Alexandre Díaz - Carlos Roca +- [Heliconia Solutions Pvt. Ltd.](https://www.heliconia.io) + - Bhavesh Heliconia diff --git a/web_company_color/static/description/index.html b/web_company_color/static/description/index.html index 8545f0ec29b1..d7fb5a5b031c 100644 --- a/web_company_color/static/description/index.html +++ b/web_company_color/static/description/index.html @@ -372,9 +372,9 @@

Web Company Color

!! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:75f2396aade33370837fa8dc343dfb818e4b777b8115331fed547449727181f5 +!! source digest: sha256:622d249810675797d351ceaaa800f9df89d92067ce131c14087b0b92fbf78283 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

Beta License: AGPL-3 OCA/web Translate me on Weblate Try me on Runboat

+

Beta License: AGPL-3 OCA/web Translate me on Weblate Try me on Runboat

This module change navbar colors based in the company logo colors.

Table of contents

@@ -406,7 +406,7 @@

Bug Tracker

Bugs are tracked on GitHub 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.

+feedback.

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

@@ -432,6 +432,10 @@

Contributors

  • Carlos Roca
  • +
  • Heliconia Solutions Pvt. Ltd.
      +
    • Bhavesh Heliconia
    • +
    +
  • @@ -443,7 +447,7 @@

    Maintainers

    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 project on GitHub.

    +

    This module is part of the OCA/web project on GitHub.

    You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.