[MIG] web_company_color: Migration to 15.0

pull/3110/head
Bernat Puig Font 2021-12-23 10:31:20 +01:00 committed by pilarvargas-tecnativa
parent 6c61984c50
commit 00bb77acaf
7 changed files with 56 additions and 109 deletions

View File

@ -14,13 +14,13 @@ Web Company Color
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3 :alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fweb-lightgray.png?logo=github .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fweb-lightgray.png?logo=github
:target: https://github.com/OCA/web/tree/14.0/web_company_color :target: https://github.com/OCA/web/tree/15.0/web_company_color
:alt: OCA/web :alt: OCA/web
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/web-14-0/web-14-0-web_company_color :target: https://translation.odoo-community.org/projects/web-15-0/web-15-0-web_company_color
:alt: Translate me on Weblate :alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png .. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
:target: https://runbot.odoo-community.org/runbot/162/14.0 :target: https://runbot.odoo-community.org/runbot/162/15.0
:alt: Try me on Runbot :alt: Try me on Runbot
|badge1| |badge2| |badge3| |badge4| |badge5| |badge1| |badge2| |badge3| |badge4| |badge5|
@ -50,7 +50,7 @@ Bug Tracker
Bugs are tracked on `GitHub Issues <https://github.com/OCA/web/issues>`_. 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. 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 If you spotted it first, help us smashing it by providing a detailed and welcomed
`feedback <https://github.com/OCA/web/issues/new?body=module:%20web_company_color%0Aversion:%2014.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_. `feedback <https://github.com/OCA/web/issues/new?body=module:%20web_company_color%0Aversion:%2015.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. Do not contact contributors directly about support or help with technical issues.
@ -66,10 +66,11 @@ Contributors
~~~~~~~~~~~~ ~~~~~~~~~~~~
* Jordi Ballester Alomar <jordi.ballester@forgeflow.com> (ForgeFlow) * Jordi Ballester Alomar <jordi.ballester@forgeflow.com> (ForgeFlow)
* Lois Rilo <lois.rilo@forgefloww.com> (ForgeFlow) * Lois Rilo <lois.rilo@forgeflow.com> (ForgeFlow)
* Simone Orsi <simone.orsi@camptocamp.com> * Simone Orsi <simone.orsi@camptocamp.com>
* Jairo Llopis <jairo.llopis@tecnativa.com> * Jairo Llopis <jairo.llopis@tecnativa.com>
* Iván Antón <ozono@ozonomultimedia.com> * Iván Antón <ozono@ozonomultimedia.com>
* Bernat Puig <bernat.puig@forgeflow.com> (ForgeFlow)
Maintainers Maintainers
~~~~~~~~~~~ ~~~~~~~~~~~
@ -84,6 +85,6 @@ OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and mission is to support the collaborative development of Odoo features and
promote its widespread use. promote its widespread use.
This module is part of the `OCA/web <https://github.com/OCA/web/tree/14.0/web_company_color>`_ project on GitHub. This module is part of the `OCA/web <https://github.com/OCA/web/tree/15.0/web_company_color>`_ project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

View File

@ -5,7 +5,7 @@
{ {
"name": "Web Company Color", "name": "Web Company Color",
"category": "web", "category": "web",
"version": "14.0.1.0.0", "version": "15.0.1.0.0",
"author": "Alexandre Díaz, Odoo Community Association (OCA)", "author": "Alexandre Díaz, Odoo Community Association (OCA)",
"website": "https://github.com/OCA/web", "website": "https://github.com/OCA/web",
"depends": ["web", "base_sparse_field"], "depends": ["web", "base_sparse_field"],

View File

@ -4,7 +4,7 @@
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Odoo Server 14.0\n" "Project-Id-Version: Odoo Server 15.0\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: \n" "Language-Team: \n"
@ -36,24 +36,6 @@ msgstr ""
msgid "Company Styles" msgid "Company Styles"
msgstr "" msgstr ""
#. module: web_company_color
#: model:ir.model.fields,field_description:web_company_color.field_ir_qweb__display_name
#: model:ir.model.fields,field_description:web_company_color.field_res_company__display_name
msgid "Display Name"
msgstr ""
#. module: web_company_color
#: model:ir.model.fields,field_description:web_company_color.field_ir_qweb__id
#: model:ir.model.fields,field_description:web_company_color.field_res_company__id
msgid "ID"
msgstr ""
#. module: web_company_color
#: model:ir.model.fields,field_description:web_company_color.field_ir_qweb____last_update
#: model:ir.model.fields,field_description:web_company_color.field_res_company____last_update
msgid "Last Modified on"
msgstr ""
#. module: web_company_color #. module: web_company_color
#: model:ir.model.fields,field_description:web_company_color.field_res_company__color_navbar_bg #: model:ir.model.fields,field_description:web_company_color.field_res_company__color_navbar_bg
msgid "Navbar Background Color" msgid "Navbar Background Color"

View File

@ -1,14 +1,22 @@
# Copyright 2020 Alexandre Díaz <dev@redneboa.es> # Copyright 2020 Alexandre Díaz <dev@redneboa.es>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from odoo.http import request
from odoo.addons.base.models.assetsbundle import AssetsBundle, ScssStylesheetAsset from odoo.addons.base.models.assetsbundle import AssetsBundle, ScssStylesheetAsset
class AssetsBundleCompanyColor(AssetsBundle): class AssetsBundleCompanyColor(AssetsBundle):
def get_company_color_asset_node(self): def get_company_color_asset_node(self):
"""Process the user active company scss and returns the node to inject""" """Process the user active company scss and returns the node to inject"""
company_id = self.env["res.company"].browse( try:
self.env.context.get("active_company_id", 0) active_company_id = int(
request.httprequest.cookies.get("cids", "").split(",")[0]
)
except Exception:
active_company_id = False
company_id = (
self.env["res.company"].browse(active_company_id) or self.env.company
) )
asset = ScssStylesheetAsset(self, url=company_id.scss_get_url()) asset = ScssStylesheetAsset(self, url=company_id.scss_get_url())
compiled = self.compile_css(asset.compile, asset.get_source()) compiled = self.compile_css(asset.compile, asset.get_source())
return ("style", {}, compiled) return "style", {}, compiled

View File

@ -1,86 +1,40 @@
# Copyright 2020 Alexandre Díaz <dev@redneboa.es> # Copyright 2020 Alexandre Díaz <dev@redneboa.es>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from inspect import unwrap from odoo import models
from odoo import api, models, tools
from odoo.http import request
from odoo.addons.base.models.ir_qweb import IrQWeb
from .assetsbundle import AssetsBundleCompanyColor from .assetsbundle import AssetsBundleCompanyColor
# Monkey Patch to change the ormcache_context decorator of '_get_asset_nodes' to
# add 'active_company_id' context key. This is done to avoid "clear_caches" usage
# that works in a more aggressive way to the LRU cache.
_orig_get_asset_nodes = unwrap(IrQWeb._get_asset_nodes)
@tools.conditional(
"xml" not in tools.config["dev_mode"],
tools.ormcache_context(
"xmlid",
'options.get("lang", "en_US")',
"css",
"js",
"debug",
"async_load",
"defer_load",
"lazy_load",
keys=("website_id", "active_company_id"),
),
)
def _get_asset_nodes__mp(
self,
xmlid,
options,
css=True,
js=True,
debug=False,
async_load=False,
defer_load=False,
lazy_load=False,
values=None,
):
return _orig_get_asset_nodes(
self,
xmlid,
options,
css=css,
js=js,
debug=debug,
async_load=async_load,
defer_load=defer_load,
lazy_load=lazy_load,
values=values,
)
IrQWeb._get_asset_nodes = _get_asset_nodes__mp
class QWeb(models.AbstractModel): class QWeb(models.AbstractModel):
_inherit = "ir.qweb" _inherit = "ir.qweb"
@api.model def _generate_asset_nodes_cache(
def _render(self, id_or_xml_id, values=None, **options): self,
"""Adds the active company to the context""" bundle,
try: css=True,
active_company_id = int( js=True,
request.httprequest.cookies.get("cids", "").split(",")[0] debug=False,
) async_load=False,
except Exception: defer_load=False,
active_company_id = False lazy_load=False,
company_id = ( media=None,
self.env["res.company"].browse(active_company_id) ):
or self.env.user.company_id res = super()._generate_asset_nodes(
bundle, css, js, debug, async_load, defer_load, lazy_load, media
) )
self = self.with_context(active_company_id=company_id.id) if bundle == "web_company_color.company_color_assets":
return super()._render(id_or_xml_id, values=values, **options) asset = AssetsBundleCompanyColor(
bundle, [], env=self.env, css=True, js=True
)
res += [asset.get_company_color_asset_node()]
return res
def _get_asset_content(self, xmlid, options): def _get_asset_content(
"""Handle 'special' web_company_color xmlid""" self, bundle, nodeAttrs=None, defer_load=False, lazy_load=False
if xmlid == "web_company_color.company_color_assets": ):
asset = AssetsBundleCompanyColor(xmlid, [], env=self.env) """Handle 'special' web_company_color bundle"""
return ([], [asset.get_company_color_asset_node()]) if bundle == "web_company_color.company_color_assets":
return super()._get_asset_content(xmlid, options) return [], []
return super()._get_asset_content(
bundle, nodeAttrs, defer_load=defer_load, lazy_load=lazy_load
)

View File

@ -1,5 +1,6 @@
* Jordi Ballester Alomar <jordi.ballester@forgeflow.com> (ForgeFlow) * Jordi Ballester Alomar <jordi.ballester@forgeflow.com> (ForgeFlow)
* Lois Rilo <lois.rilo@forgefloww.com> (ForgeFlow) * Lois Rilo <lois.rilo@forgeflow.com> (ForgeFlow)
* Simone Orsi <simone.orsi@camptocamp.com> * Simone Orsi <simone.orsi@camptocamp.com>
* Jairo Llopis <jairo.llopis@tecnativa.com> * Jairo Llopis <jairo.llopis@tecnativa.com>
* Iván Antón <ozono@ozonomultimedia.com> * Iván Antón <ozono@ozonomultimedia.com>
* Bernat Puig <bernat.puig@forgeflow.com> (ForgeFlow)

View File

@ -367,7 +367,7 @@ ul.auto-toc {
!! This file is generated by oca-gen-addon-readme !! !! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !! !! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
<p><a class="reference external" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external" href="https://github.com/OCA/web/tree/14.0/web_company_color"><img alt="OCA/web" src="https://img.shields.io/badge/github-OCA%2Fweb-lightgray.png?logo=github" /></a> <a class="reference external" href="https://translation.odoo-community.org/projects/web-14-0/web-14-0-web_company_color"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external" href="https://runbot.odoo-community.org/runbot/162/14.0"><img alt="Try me on Runbot" src="https://img.shields.io/badge/runbot-Try%20me-875A7B.png" /></a></p> <p><a class="reference external" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external" href="https://github.com/OCA/web/tree/15.0/web_company_color"><img alt="OCA/web" src="https://img.shields.io/badge/github-OCA%2Fweb-lightgray.png?logo=github" /></a> <a class="reference external" href="https://translation.odoo-community.org/projects/web-15-0/web-15-0-web_company_color"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external" href="https://runbot.odoo-community.org/runbot/162/15.0"><img alt="Try me on Runbot" src="https://img.shields.io/badge/runbot-Try%20me-875A7B.png" /></a></p>
<p>This module change navbar colors based in the company logo colors.</p> <p>This module change navbar colors based in the company logo colors.</p>
<p><strong>Table of contents</strong></p> <p><strong>Table of contents</strong></p>
<div class="contents local topic" id="contents"> <div class="contents local topic" id="contents">
@ -397,7 +397,7 @@ ul.auto-toc {
<p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/web/issues">GitHub Issues</a>. <p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/web/issues">GitHub Issues</a>.
In case of trouble, please check there if your issue has already been reported. 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 If you spotted it first, help us smashing it by providing a detailed and welcomed
<a class="reference external" href="https://github.com/OCA/web/issues/new?body=module:%20web_company_color%0Aversion:%2014.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p> <a class="reference external" href="https://github.com/OCA/web/issues/new?body=module:%20web_company_color%0Aversion:%2015.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
<p>Do not contact contributors directly about support or help with technical issues.</p> <p>Do not contact contributors directly about support or help with technical issues.</p>
</div> </div>
<div class="section" id="credits"> <div class="section" id="credits">
@ -412,10 +412,11 @@ If you spotted it first, help us smashing it by providing a detailed and welcome
<h2><a class="toc-backref" href="#id6">Contributors</a></h2> <h2><a class="toc-backref" href="#id6">Contributors</a></h2>
<ul class="simple"> <ul class="simple">
<li>Jordi Ballester Alomar &lt;<a class="reference external" href="mailto:jordi.ballester&#64;forgeflow.com">jordi.ballester&#64;forgeflow.com</a>&gt; (ForgeFlow)</li> <li>Jordi Ballester Alomar &lt;<a class="reference external" href="mailto:jordi.ballester&#64;forgeflow.com">jordi.ballester&#64;forgeflow.com</a>&gt; (ForgeFlow)</li>
<li>Lois Rilo &lt;<a class="reference external" href="mailto:lois.rilo&#64;forgefloww.com">lois.rilo&#64;forgefloww.com</a>&gt; (ForgeFlow)</li> <li>Lois Rilo &lt;<a class="reference external" href="mailto:lois.rilo&#64;forgeflow.com">lois.rilo&#64;forgeflow.com</a>&gt; (ForgeFlow)</li>
<li>Simone Orsi &lt;<a class="reference external" href="mailto:simone.orsi&#64;camptocamp.com">simone.orsi&#64;camptocamp.com</a>&gt;</li> <li>Simone Orsi &lt;<a class="reference external" href="mailto:simone.orsi&#64;camptocamp.com">simone.orsi&#64;camptocamp.com</a>&gt;</li>
<li>Jairo Llopis &lt;<a class="reference external" href="mailto:jairo.llopis&#64;tecnativa.com">jairo.llopis&#64;tecnativa.com</a>&gt;</li> <li>Jairo Llopis &lt;<a class="reference external" href="mailto:jairo.llopis&#64;tecnativa.com">jairo.llopis&#64;tecnativa.com</a>&gt;</li>
<li>Iván Antón &lt;<a class="reference external" href="mailto:ozono&#64;ozonomultimedia.com">ozono&#64;ozonomultimedia.com</a>&gt;</li> <li>Iván Antón &lt;<a class="reference external" href="mailto:ozono&#64;ozonomultimedia.com">ozono&#64;ozonomultimedia.com</a>&gt;</li>
<li>Bernat Puig &lt;<a class="reference external" href="mailto:bernat.puig&#64;forgeflow.com">bernat.puig&#64;forgeflow.com</a>&gt; (ForgeFlow)</li>
</ul> </ul>
</div> </div>
<div class="section" id="maintainers"> <div class="section" id="maintainers">
@ -425,7 +426,7 @@ If you spotted it first, help us smashing it by providing a detailed and welcome
<p>OCA, or the Odoo Community Association, is a nonprofit organization whose <p>OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and mission is to support the collaborative development of Odoo features and
promote its widespread use.</p> promote its widespread use.</p>
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/web/tree/14.0/web_company_color">OCA/web</a> project on GitHub.</p> <p>This module is part of the <a class="reference external" href="https://github.com/OCA/web/tree/15.0/web_company_color">OCA/web</a> project on GitHub.</p>
<p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p> <p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p>
</div> </div>
</div> </div>