Merge PR #1955 into 12.0

Signed-off-by dreispt
pull/1986/head
OCA-git-bot 2021-07-03 14:45:35 +00:00
commit e476629bb0
24 changed files with 733 additions and 0 deletions

View File

View File

@ -0,0 +1 @@
from . import models

View File

@ -0,0 +1,25 @@
# Copyright (C) 2021 - Today: GRAP (http://www.grap.coop)
# @author: Sylvain LE GAL (https://twitter.com/legalsylvain)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
{
"name": "Web Responsive - Company Menu",
"summary": "Improve the diplay of the list of the companies",
"version": "12.0.1.0.0",
"category": "Web",
"website": "https://github.com/OCA/web",
"author": "GRAP,Odoo Community Association (OCA)",
"license": "LGPL-3",
"installable": True,
"depends": ["web_responsive"],
"data": [
"views/assets.xml",
],
"qweb": [
"static/src/xml/web_responsive_company.xml",
],
"demo": [
"demo/res_groups.xml",
"demo/res_company.xml",
],
}

View File

@ -0,0 +1,46 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2021 - Today: GRAP (http://www.grap.coop)
@author: Sylvain LE GAL (https://twitter.com/legalsylvain)
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
-->
<odoo>
<record id="company_tecnativa" model="res.company">
<field name="name">Tecnativa</field>
<field name="user_ids" eval="[(4, ref('base.user_admin'))]" />
<field name="logo" type="base64" file="web_responsive_company/static/img/res_company-tecnativa.svg"/>
</record>
<record id="company_grap" model="res.company">
<field name="name">GRAP</field>
<field name="user_ids" eval="[(4, ref('base.user_admin'))]" />
<field name="logo" type="base64" file="web_responsive_company/static/img/res_company-grap.png"/>
</record>
<record id="company_camp_to_camp" model="res.company">
<field name="name">Camp To Camp</field>
<field name="user_ids" eval="[(4, ref('base.user_admin'))]" />
<field name="logo" type="base64" file="web_responsive_company/static/img/res_company-camp_to_camp.svg"/>
</record>
<record id="company_acsone" model="res.company">
<field name="name">Acsone</field>
<field name="user_ids" eval="[(4, ref('base.user_admin'))]" />
<field name="logo" type="base64" file="web_responsive_company/static/img/res_company-acsone.png"/>
</record>
<record id="company_akretion" model="res.company">
<field name="name">Akretion</field>
<field name="user_ids" eval="[(4, ref('base.user_admin'))]" />
<field name="logo" type="base64" file="web_responsive_company/static/img/res_company-akretion.png"/>
</record>
<record id="company_coop_it_easy" model="res.company">
<field name="name">Coop It Easy</field>
<field name="user_ids" eval="[(4, ref('base.user_admin'))]" />
<field name="logo" type="base64" file="web_responsive_company/static/img/res_company-coop_it_easy.png"/>
</record>
</odoo>

View File

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2021 - Today: GRAP (http://www.grap.coop)
@author: Sylvain LE GAL (https://twitter.com/legalsylvain)
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
-->
<odoo>
<record id="base.group_multi_company" model="res.groups">
<field name="users" eval="[(4, ref('base.user_admin'))]" />
</record>
</odoo>

View File

@ -0,0 +1,58 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * web_responsive_company
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 12.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-06-18 07:40+0000\n"
"PO-Revision-Date: 2021-06-18 07:40+0000\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_responsive_company
#. openerp-web
#: code:addons/web_responsive_company/static/src/xml/web_responsive_company.xml:77
#: code:addons/web_responsive_company/static/src/xml/web_responsive_company.xml:80
#, python-format
msgid "Alt"
msgstr "Alt"
#. module: web_responsive_company
#. openerp-web
#: code:addons/web_responsive_company/static/src/xml/web_responsive_company.xml:75
#, python-format
msgid "Change company"
msgstr "Changer de société"
#. module: web_responsive_company
#. openerp-web
#: code:addons/web_responsive_company/static/src/xml/web_responsive_company.xml:80
#, python-format
msgid "Control"
msgstr "Contrôle"
#. module: web_responsive_company
#: model:ir.model,name:web_responsive_company.model_ir_http
msgid "HTTP Routing"
msgstr "Routage HTTP"
#. module: web_responsive_company
#. openerp-web
#: code:addons/web_responsive_company/static/src/xml/web_responsive_company.xml:30
#, python-format
msgid "Search company..."
msgstr "Rechercher une société ..."
#. module: web_responsive_company
#. openerp-web
#: code:addons/web_responsive_company/static/src/xml/web_responsive_company.xml:77
#, python-format
msgid "Shift"
msgstr ""

View File

@ -0,0 +1 @@
from . import ir_http

View File

@ -0,0 +1,29 @@
# Copyright (C) 2021-Today: GRAP (http://www.grap.coop)
# @author: Sylvain LE GAL (https://twitter.com/legalsylvain)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from odoo import models
from odoo.http import request
class IrHttp(models.AbstractModel):
_inherit = 'ir.http'
def session_info(self):
res = super().session_info()
user = request.env.user
companies = []
for company in user.company_ids:
# Lazy dependency to res_company_code module
# if installed, return code and complete name
# to allow to display code separately, and
# search by code and name. (complete_name)
companies.append({
'id': company.id,
'code': 'code' in company._fields and company.code or '',
'name': company.name,
'complete_name': 'complete_name' in company._fields
and company.complete_name or company.name,
})
res["complete_companies"] = companies
return res

View File

@ -0,0 +1,3 @@
* Sylvain LE GAL (https://www.twitter.com/legalsylvain)
Part of the code comes from ``web_responsive`` module, and has been adapted.

View File

@ -0,0 +1,3 @@
This module extends the ``web_responsive`` module to have a better display of the companies menu.
It is usefull only if you have an Odoo Instance, with a lot of companies.

View File

@ -0,0 +1,5 @@
if the OCA module ``res_company_code`` (OCA module present in the
multi-company repository) is installed, the search will be done
also on the company codes.
Ref : https://github.com/OCA/multi-company/tree/12.0/res_company_code

View File

@ -0,0 +1,3 @@
In V13+, the current company of the user is a many2many fields.
So the UI of this module should be highly refactored, introducing checkboxes
to work in more recent version.

View File

@ -0,0 +1,13 @@
* click on the current company name
* The list of the companies are now displayed with the logo and the code (if defined), and there are ordered by complete name. (code and name)
.. figure:: ../static/description/company_menu.png
* It is also possible to search by complete name, in the same way as for the menus.
.. figure:: ../static/description/company_menu_search.png
**Note** : A new access key is available on 'Y' to switch company.
.. figure:: ../static/description/shortcut.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

View File

@ -0,0 +1,61 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 962.15997 206.10667"
height="206.10667"
width="962.15997"
xml:space="preserve"
id="svg2"
version="1.1"><metadata
id="metadata8"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage"/></cc:Work></rdf:RDF></metadata>
<defs
id="defs6"/>
<g
transform="matrix(1.3333333,0,0,-1.3333333,0,206.10667)"
id="g10"><g
transform="scale(0.1)"
id="g12"><path
id="path14"
style="fill:#6a7478;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 26.7539,4.23047 h 73.7381 c 34.524,0 53.781,22.55083 53.781,46.73043 0,17.6289 -10.332,34.3008 -30.531,39.9297 16.438,5.6485 24.906,21.8474 24.906,37.5704 0,19.738 -14.093,40.168 -44.16,40.168 H 26.7539 Z M 97.6719,140.219 c 14.0901,0 20.6721,-8 20.6721,-17.848 0,-10.582 -7.508,-19.961 -22.7815,-19.961 h -38.75 v 37.809 z M 99.3203,77.75 c 16.4457,0 24.8947,-10.3398 24.8947,-21.8516 0,-11.75 -8.449,-23.25 -26.5431,-23.25 H 56.8125 V 77.75 Z M 236.938,96.0703 197.484,168.629 H 161.789 L 221.441,69.75 V 4.23047 h 30.293 V 69.75 l 59.422,98.879 h -34.765 z m 208.769,76.5507 c -51.894,0 -81.25,-39.223 -81.25,-86.1913 C 364.457,39.2188 393.813,0 445.707,0 c 52.148,0 81.262,39.2188 81.262,86.1914 0,47.2066 -29.114,86.4296 -81.262,86.4296 m 0,-29.359 c 33.594,0 50.734,-26.293 50.734,-57.3011 0,-31 -17.375,-56.6015 -50.734,-56.6015 -33.34,0 -50.715,26.3086 -50.715,57.3008 0,30.9998 17.61,56.6018 50.715,56.6018 M 553.277,4.23047 h 30.059 V 62.4688 h 38.75 c 36.641,0 55.184,25.6015 55.184,54.5002 0,26.761 -16.907,51.66 -51.895,51.66 H 553.277 Z M 620.445,140.219 c 17.137,0 26.297,-10.11 26.297,-24.668 0,-15.262 -9.863,-25.3713 -27.48,-25.3713 H 583.336 V 140.219 Z M 703.57,4.23047 H 817.238 V 32.6484 h -83.609 v 40.3907 h 72.574 v 28.6519 h -72.574 v 38.528 h 79.383 v 28.41 H 703.57 Z M 952.984,168.629 V 52.8398 L 878.531,168.629 H 845.656 V 4.23047 h 29.828 V 121.422 L 951.344,4.23047 h 31.472 V 168.629 Z m 242.586,-47.68 c -1.41,34.77 -29.12,51.672 -63.16,51.672 -34.06,0 -60.6,-16.68 -60.6,-50.25 0,-30.0624 19.96,-41.1093 61.07,-50.2694 18.78,-3.9922 34.75,-7.9805 34.75,-23.7227 0,-13.3789 -11.28,-21.5976 -31,-21.5976 -20.67,0 -35.46,10.0898 -38.28,33.1171 h -31.24 C 1068.52,21.1484 1099.76,0 1136.17,0 c 33.81,0 61.75,17.8516 61.75,51.1992 0,30.7696 -21.13,39.9297 -58,47.6719 -20.91,4.7069 -38.29,9.1599 -38.29,25.3669 0,14.332 11.28,21.852 30.06,21.852 16.91,0 30.78,-6.82 32.88,-25.141 z m 105.22,51.672 c -51.91,0 -81.25,-39.223 -81.25,-86.1913 C 1219.54,39.2188 1248.88,0 1300.79,0 c 52.13,0 81.26,39.2188 81.26,86.1914 0,47.2066 -29.13,86.4296 -81.26,86.4296 m 0,-29.359 c 33.58,0 50.72,-26.293 50.72,-57.3011 0,-31 -17.38,-56.6015 -50.72,-56.6015 -33.34,0 -50.73,26.3086 -50.73,57.3008 0,30.9998 17.61,56.6018 50.73,56.6018 M 1515.2,64.5898 c 0,-24.4296 -13.86,-35.6992 -36.17,-35.6992 -23.48,0 -38.27,12.6875 -38.27,38.2813 V 168.629 h -30.07 V 65.7617 C 1410.69,22.5508 1439.12,0 1478.33,0 c 39.45,0 66.93,22.7891 66.93,65.7617 V 168.629 h -30.06 z m 66.69,-60.35933 h 30.06 V 66.2305 h 31.72 l 36.62,-62.00003 h 35.23 l -42.98,68.80863 c 21.15,7.289 32.88,25.6093 32.88,46.7419 0,25.36 -16.2,48.848 -52.59,48.848 h -70.94 z m 68.58,135.98853 c 16.2,0 24.43,-10.11 24.43,-22.789 0,-13.852 -9.64,-24.1917 -26.55,-24.1917 h -36.4 V 140.219 Z M 1851.5,65.0586 c -1.17,-24.4297 -19.73,-36.8672 -42.74,-36.8672 -34.53,0 -49.56,27.707 -49.56,58.2383 0,34.0503 18.56,58.2423 50.5,58.2423 23.01,0 38.99,-12.922 40.63,-31.242 h 30.76 c -3.05,37.109 -32.17,59.191 -70.22,59.191 -49.55,0 -82.19,-37.109 -82.19,-86.8905 C 1728.68,41.5781 1754.04,0 1808.05,0 c 39,0 72.34,21.8398 73.99,65.0586 z m 60.13,-60.82813 h 113.65 V 32.6484 h -83.6 v 40.3907 h 72.57 v 28.6519 h -72.57 v 38.528 h 79.38 v 28.41 h -109.43 z m 198.43,0 h 113.67 V 32.6484 h -83.61 v 40.3907 h 72.57 v 28.6519 h -72.57 v 38.528 h 79.39 v 28.41 H 2110.06 Z M 2298.41,89.2383 2239.23,4.23047 h 37.1 l 39.69,59.64843 39.93,-59.64843 h 37.57 l -59.4,85.71873 54.47,78.6798 h -36.63 l -35.7,-53.551 -35.7,53.551 h -37.33 z M 2419.59,4.23047 h 30.06 V 62.4688 h 38.75 c 36.64,0 55.19,25.6015 55.19,54.5002 0,26.761 -16.91,51.66 -51.9,51.66 h -72.1 z m 67.17,135.98853 c 17.14,0 26.3,-10.11 26.3,-24.668 0,-15.262 -9.86,-25.3713 -27.48,-25.3713 h -35.93 V 140.219 Z M 2569.9,4.23047 h 113.66 V 32.6484 h -83.6 v 40.3907 h 72.56 v 28.6519 h -72.56 v 38.528 h 79.37 v 28.41 H 2569.9 Z m 142.07,0 h 30.07 V 66.2305 h 31.7 l 36.64,-62.00003 h 35.22 l -42.97,68.80863 c 21.13,7.289 32.87,25.6093 32.87,46.7419 0,25.36 -16.2,48.848 -52.6,48.848 h -70.93 z m 68.58,135.98853 c 16.2,0 24.42,-10.11 24.42,-22.789 0,-13.852 -9.61,-24.1917 -26.53,-24.1917 h -36.4 v 46.9807 z m 71.16,28.41 v -28.41 h 54.25 V 4.23047 h 30.06 V 140.219 h 54.25 v 28.41 z m 280.64,-47.68 c -1.41,34.77 -29.11,51.672 -63.17,51.672 -34.05,0 -60.59,-16.68 -60.59,-50.25 0,-30.0624 19.96,-41.1093 61.06,-50.2694 18.79,-3.9922 34.76,-7.9805 34.76,-23.7227 0,-13.3789 -11.28,-21.5976 -31,-21.5976 -20.67,0 -35.46,10.0898 -38.28,33.1171 h -31.24 C 3005.3,21.1484 3036.54,0 3072.94,0 c 33.81,0 61.76,17.8516 61.76,51.1992 0,30.7696 -21.13,39.9297 -58,47.6719 -20.91,4.7069 -38.29,9.1599 -38.29,25.3669 0,14.332 11.28,21.852 30.06,21.852 16.91,0 30.77,-6.82 32.88,-25.141 h 31" /><path
id="path16"
style="fill:#6a7478;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="M 27.9336,269.711 H 57.9922 V 434.102 H 27.9336 Z M 210.406,434.102 V 318.32 L 135.949,434.102 H 103.078 V 269.711 h 29.828 V 386.91 l 75.86,-117.199 h 31.464 v 164.391 z m 183.875,0 V 318.32 L 319.84,434.102 H 286.957 V 269.711 h 29.824 V 386.91 l 75.86,-117.199 h 31.464 v 164.391 z m 144.903,4 c -51.903,0 -81.258,-39.223 -81.258,-86.18 0,-47.223 29.355,-86.442 81.258,-86.442 52.136,0 81.261,39.219 81.261,86.192 0,47.207 -29.125,86.43 -81.261,86.43 m 0,-29.364 c 33.574,0 50.722,-26.297 50.722,-57.289 0,-31.008 -17.375,-56.597 -50.722,-56.597 -33.348,0 -50.735,26.296 -50.735,57.289 0,31.007 17.621,56.597 50.735,56.597 M 704.75,308.941 659.195,434.102 h -32.414 l 64.348,-164.391 h 26.531 l 64.59,164.391 h -31.941 z m 236.492,-39.23 -65.054,164.391 H 842.836 L 777.785,269.711 h 32.649 l 14.328,38.98 h 68.808 l 14.325,-38.98 z m -82.207,133.16 24.438,-65.98 h -48.848 z m 72.348,31.231 v -28.403 h 54.246 V 269.711 h 30.061 v 135.988 h 54.25 v 28.403 z M 1094.13,269.711 h 30.06 v 164.391 h -30.06 z m 133.15,39.23 -45.56,125.161 h -32.41 l 64.35,-164.391 h 26.54 l 64.58,164.391 h -31.94 z m 101.22,-39.23 h 113.67 v 28.43 h -83.61 v 40.39 h 72.57 v 28.641 h -72.57 v 38.527 h 79.38 v 28.403 H 1328.5 Z m 331.61,116.73 c -1.41,34.75 -29.13,51.661 -63.18,51.661 -34.05,0 -60.59,-16.672 -60.59,-50.262 0,-30.051 19.96,-41.102 61.06,-50.262 18.79,-3.976 34.76,-7.976 34.76,-23.719 0,-13.39 -11.27,-21.609 -31,-21.609 -20.67,0 -35.46,10.109 -38.28,33.121 h -31.24 c 1.41,-38.75 32.65,-59.891 69.05,-59.891 33.82,0 61.76,17.848 61.76,51.2 0,30.761 -21.13,39.922 -58,47.679 -20.9,4.7 -38.28,9.161 -38.28,25.36 0,14.332 11.27,21.851 30.06,21.851 16.91,0 30.76,-6.82 32.88,-25.129 z m 105.21,51.661 c -51.9,0 -81.26,-39.223 -81.26,-86.18 0,-47.223 29.36,-86.442 81.26,-86.442 52.13,0 81.25,39.219 81.25,86.192 0,47.207 -29.12,86.43 -81.25,86.43 m 0,-29.364 c 33.58,0 50.72,-26.297 50.72,-57.289 0,-31.008 -17.37,-56.597 -50.72,-56.597 -33.35,0 -50.73,26.296 -50.73,57.289 0,31.007 17.61,56.597 50.73,56.597 m 142.31,-110.597 v 135.961 h -30.06 V 269.711 h 107.09 v 28.43 z m 204.08,31.918 c 0,-24.411 -13.85,-35.68 -36.16,-35.68 -23.49,0 -38.28,12.672 -38.28,38.269 v 101.454 h -30.06 V 331.238 c 0,-43.207 28.41,-65.758 67.63,-65.758 39.46,0 66.93,22.782 66.93,65.758 v 102.864 h -30.06 z m 50.73,104.043 v -28.403 h 54.25 V 269.711 h 30.06 V 405.699 H 2301 v 28.403 z m 162.75,-164.391 h 30.06 v 164.391 h -30.06 z m 143.49,168.391 c -51.9,0 -81.26,-39.223 -81.26,-86.18 0,-47.223 29.36,-86.442 81.26,-86.442 52.13,0 81.25,39.219 81.25,86.192 0,47.207 -29.12,86.43 -81.25,86.43 m 0,-29.364 c 33.58,0 50.72,-26.297 50.72,-57.289 0,-31.008 -17.37,-56.597 -50.72,-56.597 -33.35,0 -50.73,26.296 -50.73,57.289 0,31.007 17.61,56.597 50.73,56.597 m 219.58,25.364 V 318.32 l -74.45,115.782 h -32.88 V 269.711 h 29.83 V 386.91 l 75.85,-117.199 h 31.47 v 164.391 z m 190.92,-47.661 c -1.4,34.75 -29.12,51.661 -63.17,51.661 -34.05,0 -60.59,-16.672 -60.59,-50.262 0,-30.051 19.96,-41.102 61.06,-50.262 18.79,-3.976 34.76,-7.976 34.76,-23.719 0,-13.39 -11.28,-21.609 -31,-21.609 -20.67,0 -35.46,10.109 -38.28,33.121 h -31.24 c 1.41,-38.75 32.65,-59.891 69.05,-59.891 33.82,0 61.76,17.848 61.76,51.2 0,30.761 -21.13,39.922 -58,47.679 -20.91,4.7 -38.28,9.161 -38.28,25.36 0,14.332 11.27,21.851 30.06,21.851 16.9,0 30.76,-6.82 32.87,-25.129 h 31"/><path
id="path18"
style="fill:#f25c24;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 4002.01,1004.11 v 2.22 c 0,169.79 -135.64,305.43 -318.7,305.43 -184.15,0 -320.86,-137.84 -320.86,-307.65 v -2.2 c 0,-169.808 135.62,-305.453 318.66,-305.453 184.14,0 320.9,137.832 320.9,307.653 m -165.41,-2.2 c 0,-87.117 -57.34,-161 -153.29,-161 -92.61,0 -155.47,76.09 -155.47,163.2 v 2.22 c 0,87.1 57.35,160.96 153.27,160.96 92.63,0 155.49,-76.06 155.49,-163.18 v -2.2"/><path
id="path20"
style="fill:#6a7478;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 2901.09,1004.11 v 2.22 c 0,197.38 -131.21,305.43 -269.05,305.43 -87.1,0 -143.35,-40.81 -184.15,-95.93 v 84.9 H 2290.34 V 533.262 h 157.55 v 253.605 c 39.68,-47.39 94.84,-88.172 184.15,-88.172 140.03,0 269.05,108.028 269.05,305.415 m -150.85,0 c 0,-99.251 -66.17,-163.2 -144.45,-163.2 -78.29,0 -143.35,65.051 -143.35,163.2 v 2.22 c 0,98.13 65.06,163.19 143.35,163.19 78.28,0 144.45,-65.06 144.45,-163.19 v -2.22"/><path
id="path22"
style="fill:#6a7478;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 2187.88,709.711 v 384.829 c 0,142.23 -75,217.22 -199.6,217.22 -80.48,0 -142.25,-33.08 -194.06,-93.74 -30.87,59.55 -89.32,93.74 -166.52,93.74 -84.9,0 -135.62,-45.21 -174.22,-94.83 v 83.8 h -167.6 V 709.711 h 167.6 v 329.679 c 0,79.39 38.6,120.2 101.47,120.2 62.83,0 98.12,-40.81 98.12,-120.2 V 709.711 h 167.6 v 329.679 c 0,79.39 38.6,120.2 101.47,120.2 62.85,0 98.13,-40.81 98.13,-120.2 V 709.711 h 167.61"/><path
id="path24"
style="fill:#6a7478;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 1185.6,709.945 c 0,0 -0.95,284.219 -0.95,383.755 0,117.71 -91.46,218.18 -263.728,218.18 -175.125,0 -255.067,-98.75 -255.067,-228.15 H 822.32 c 1.993,13.74 -5.097,83.75 93.582,83.75 71.153,0 105.548,-20.96 105.548,-56.96 0,-98.85 -362.313,15.06 -362.313,-247.469 0,-127.285 92.937,-166.535 180.027,-166.535 133.984,0 182.286,75.566 182.286,75.566 l -1.4,-61.953 z M 893.949,817.602 c -47.527,0 -76.543,24.882 -76.543,56.457 0,36.382 17.559,55.23 69.844,62.921 109.055,16.051 135.88,32.231 135.88,32.231 C 1039.25,835.98 944.66,817.602 893.949,817.602"/><path
id="path26"
style="fill:#6a7478;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 438.781,922.719 c -7.644,-32.742 -45.047,-81.813 -123.406,-81.813 -91.504,0 -149.949,72.782 -149.949,163.204 v 2.21 c 0,87.11 59.539,160.98 143.347,160.98 82.122,0 118.965,-44.88 130.008,-83.57 h 156.465 c -2.527,73.84 -70.301,228.03 -285.387,228.03 -180.824,0 -309.85509375,-138.96 -309.85509375,-307.65 v -2.2 C 0.00390625,833.195 130.141,696.469 307.672,696.469 c 211.922,0 285.047,156.66 287.574,226.25 H 438.781"/><path
id="path28"
style="fill:#6a7478;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 6966.5,1004.11 v 2.22 c 0,197.38 -131.21,305.43 -269.04,305.43 -87.11,0 -143.36,-40.81 -184.15,-95.93 v 84.9 H 6355.75 V 533.262 h 157.56 v 253.605 c 39.68,-47.39 94.83,-88.172 184.15,-88.172 140.03,0 269.04,108.028 269.04,305.415 m -150.85,0 c 0,-99.251 -66.17,-163.2 -144.43,-163.2 -78.3,0 -143.37,65.051 -143.37,163.2 v 2.22 c 0,98.13 65.07,163.19 143.37,163.19 78.26,0 144.43,-65.06 144.43,-163.19 v -2.22"/><path
id="path30"
style="fill:#6a7478;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 6253.3,709.711 v 384.829 c 0,142.23 -74.99,217.22 -199.61,217.22 -80.48,0 -142.25,-33.08 -194.06,-93.74 -30.87,59.55 -89.32,93.74 -166.52,93.74 -84.9,0 -135.61,-45.21 -174.22,-94.83 v 83.8 h -167.6 V 709.711 h 167.6 v 329.679 c 0,79.39 38.61,120.2 101.47,120.2 62.83,0 98.12,-40.81 98.12,-120.2 V 709.711 h 167.6 v 329.679 c 0,79.39 38.6,120.2 101.47,120.2 62.86,0 98.13,-40.81 98.13,-120.2 V 709.711 h 167.62"/><path
id="path32"
style="fill:#6a7478;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 5251.02,709.945 c 0,0 -0.96,284.219 -0.96,383.755 0,117.71 -91.46,218.18 -263.73,218.18 -175.12,0 -255.07,-98.75 -255.07,-228.15 h 156.48 c 1.98,13.74 -5.11,83.75 93.57,83.75 71.15,0 105.56,-20.96 105.56,-56.96 0,-98.85 -362.33,15.06 -362.33,-247.469 0,-127.285 92.93,-166.535 180.03,-166.535 134,0 182.3,75.566 182.3,75.566 l -1.41,-61.953 z m -291.65,107.657 c -47.53,0 -76.55,24.882 -76.55,56.457 0,36.382 17.56,55.23 69.85,62.921 109.04,16.051 135.88,32.231 135.88,32.231 16.11,-133.231 -78.48,-151.609 -129.18,-151.609"/><path
id="path34"
style="fill:#6a7478;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 4504.19,922.719 c -7.64,-32.742 -45.05,-81.813 -123.4,-81.813 -91.51,0 -149.96,72.782 -149.96,163.204 v 2.21 c 0,87.11 59.55,160.98 143.35,160.98 82.12,0 118.97,-44.88 130.01,-83.57 h 156.47 c -2.53,73.84 -70.29,228.03 -285.38,228.03 -180.83,0 -309.87,-138.96 -309.87,-307.65 v -2.2 c 0,-168.715 130.14,-305.441 307.67,-305.441 211.92,0 285.05,156.66 287.58,226.25 h -156.47"/><path
id="path36"
style="fill:#f25c24;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 7216.22,1300.73 v 108.93 H 7189 v 27.23 h -27.23 v 54.46 h -27.23 v 27.23 h -27.24 v -54.46 h -27.23 v -27.23 h 27.23 v -27.23 h -27.23 v 27.23 h -27.23 v -27.23 h -27.23 v -27.24 h -27.23 v -27.23 h -27.23 v 27.23 h -27.23 v -81.69 z m -136.15,217.85 h -27.23 v -27.23 h 27.23 z m -27.23,-27.23 h -27.23 v -27.23 h 27.23 z m -27.23,-27.23 h -27.23 v -27.23 h 27.23 z m -27.23,-27.23 h -27.23 v -54.46 h 27.23 z m 81.69,81.69 h 27.23 v 27.23 h -27.23 v -27.23"/><path
id="path38"
style="fill:#f25c24;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="m 3315.38,849.578 c 0,0 -22.13,-2.402 -59.54,-2.402 -37.39,0 -58.68,23.402 -58.68,62.375 v 247.819 h 122.18 v 143.36 h -122.18 v 151.07 h -167.62 v -151.07 h -94 v -143.36 h 94 V 887.637 c 0,-136.754 68.69,-184.606 172.03,-184.606 72.15,0 113.81,7.078 113.81,7.078 v 139.469"/></g></g></svg>

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

View File

@ -0,0 +1,75 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 16.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="283.46px" height="98.5px" viewBox="0 0 283.46 98.5" enable-background="new 0 0 283.46 98.5" xml:space="preserve">
<g>
<path fill="#484697" d="M80.985,57.565c-0.087-0.01-0.196-0.01-0.238,0H68.053v-7.986c0,0,9.574-0.006,9.793,0
c0.221,0.009,0.537-0.108,0.537-0.108c0.832-0.244,1.426-1.005,1.426-1.917c0-0.934-0.644-1.722-1.512-1.942
c0,0-0.251-0.07-0.39-0.068c-0.139,0.005-9.854,0-9.854,0v-6.182l12.397-0.005c1.036-0.071,1.833-0.896,1.866-1.93l0.004-0.017
l-0.004-0.112c-0.029-0.928-0.678-1.689-1.552-1.888c0,0-0.148-0.046-0.372-0.052c-0.225-0.003-14.471,0-14.471,0
c-1.105,0-2.005,0.9-2.005,2.005v22.194c0,0.938,0.657,1.735,1.534,1.951c0,0,0.259,0.057,0.483,0.064
c0.225,0.003,14.728-0.008,14.909,0c0.229,0.01,0.511-0.069,0.511-0.069c0.864-0.223,1.504-1.009,1.508-1.946
C82.857,58.515,82.042,57.642,80.985,57.565z"/>
<path fill="#484697" d="M248.091,58.907c-0.05-0.15-10.199-22.718-10.316-22.971c0-0.007-0.599-0.997-1.907-0.997
c-1.199,0-1.811,0.891-1.868,1c0,0-10.144,22.485-10.25,22.732c-0.719,1.723,0.627,2.927,1.817,2.927
c0.668,0,1.294-0.329,1.677-0.881c0.121-0.177,0.345-0.668,0.344-0.668l2.439-5.403h11.699c0,0,2.578,5.727,2.609,5.788
c0.353,0.696,1.047,1.129,1.821,1.129c1.122,0,2.036-0.914,2.036-2.039C248.192,59.326,248.159,59.125,248.091,58.907z
M231.741,50.709l4.147-9.105l4.123,9.105H231.741z"/>
<path fill="#484697" d="M164.2,58.907c-0.046-0.15-10.196-22.718-10.315-22.971c0-0.007-0.598-0.997-1.904-0.997
c-1.203,0-1.813,0.891-1.869,1c0,0-10.145,22.485-10.247,22.732c-0.726,1.723,0.624,2.927,1.813,2.927
c0.672,0,1.296-0.329,1.679-0.881c0.116-0.177,0.345-0.668,0.343-0.668l2.438-5.403h11.7c0,0,2.578,5.727,2.608,5.788
c0.351,0.696,1.048,1.129,1.821,1.129c1.125,0,2.037-0.914,2.037-2.039C164.304,59.326,164.271,59.125,164.2,58.907z
M147.855,50.709l4.146-9.105l4.121,9.105H147.855z"/>
<g>
<path fill="#484697" d="M134.554,37.361l0.004,0.114l-0.002,0.02l-0.002,22.108c-0.026,0.671-0.37,1.282-0.92,1.651
c-0.342,0.229-0.738,0.352-1.151,0.352c-0.405,0-0.803-0.122-1.146-0.348c-0.177-0.122-0.457-0.383-0.552-0.479
c-0.049-0.05-13.754-17.696-13.754-17.696l-0.002,16.482c-0.041,1.114-0.958,2.005-2.068,2.005c-1.118,0-2.041-0.905-2.065-2.022
l-0.005-0.087v-0.011l0.005-22.155c0.021-0.648,0.339-1.245,0.866-1.622c0.685-0.494,1.646-0.51,2.35-0.032
c0,0,0.201,0.126,0.251,0.18c0.046,0.053,14.053,17.99,14.053,17.99V37.375c0.035-1.116,0.954-2.013,2.068-2.013
C133.594,35.362,134.514,36.256,134.554,37.361z"/>
<polygon fill="#484697" points="131.233,60.681 131.233,60.681 131.233,60.681 "/>
</g>
<path fill="#484697" d="M194.439,37.368c-0.035-1.123-0.944-2.005-2.066-2.005c-0.958,0-2.025,0.75-2.072,2.023
c-0.003,0.227,0.002,22.175,0.002,22.175c0.034,1.129,0.943,2.011,2.067,2.011c0.958,0,2.026-0.755,2.073-2.027
C194.443,59.405,194.439,37.368,194.439,37.368z"/>
<path fill="#484697" d="M184.767,36.389c-0.087-0.166-0.216-0.306-0.216-0.306c-0.336-0.405-0.825-0.669-1.372-0.711l-17.305-0.009
c0,0-0.363,0.037-0.52,0.076c-0.753,0.186-1.372,0.899-1.455,1.768c-0.008,0.052-0.008,0.269,0.003,0.351
c0.093,0.978,0.871,1.736,1.886,1.807h6.603v20.196c0.034,1.129,0.94,2.011,2.065,2.011c0.958,0,2.025-0.755,2.072-2.027
c0-0.087-0.015-20.178-0.015-20.178l6.65-0.002c0.983-0.071,1.781-0.865,1.855-1.86c0.004-0.042,0.004-0.225,0-0.282
C184.993,36.923,184.854,36.556,184.767,36.389z"/>
<path fill="#484697" d="M224.385,37.797c0.107-0.251,0.157-0.518,0.157-0.791c0-1.067-0.838-1.971-1.922-2.061
c-0.102-0.011-0.191-0.011-0.313,0.004c-0.564,0.042-1.082,0.321-1.434,0.745l-8.511,18.997l-8.467-18.901
c-0.298-0.502-0.897-0.794-1.523-0.845c-0.102-0.011-0.193-0.011-0.316,0.004c-1.07,0.085-1.907,0.989-1.907,2.056
c0,0.261,0.05,0.522,0.155,0.777l9.941,22.366l0.036,0.073c0.183,0.415,0.488,0.761,0.878,0.997
c0.357,0.22,0.764,0.336,1.169,0.336s0.813-0.116,1.171-0.336c0.403-0.244,0.714-0.6,0.902-1.045L224.385,37.797z"/>
<path fill="#484697" d="M107.252,57.293c-0.13-0.423-0.397-0.79-0.784-1.054c-0.499-0.323-1.121-0.406-1.681-0.212l-0.555,0.258
c-1.596,0.987-3.238,1.388-5.213,1.388c-5.068,0-8.894-3.976-8.894-9.257c0-5.256,3.809-9.221,8.858-9.221
c1.799,0,3.384,0.392,4.981,1.237c0,0,0.599,0.244,0.94,0.215c0.847-0.069,1.59-0.552,1.85-1.371
c0.063-0.203,0.092-0.394,0.092-0.575c0-0.184-0.026-0.375-0.092-0.578c-0.168-0.687-0.804-1.056-0.804-1.056
c-2.012-1.227-4.369-1.851-7-1.851c-7.355,0-12.901,5.673-12.901,13.199c0,7.526,5.545,13.202,12.901,13.198
c2.803,0,5.26-0.674,7.304-2.004c0.162-0.079,0.319-0.186,0.458-0.314c0.251-0.233,0.438-0.53,0.539-0.85
c0.016-0.047,0.026-0.098,0.042-0.155c0.035-0.156,0.052-0.294,0.052-0.423c0-0.132-0.017-0.265-0.056-0.434
C107.279,57.386,107.269,57.334,107.252,57.293z"/>
<g>
<g>
<path fill="#484697" d="M46.357,57.036c-1.134,0-2.052-0.917-2.052-2.052V37.44c0-1.134,0.918-2.054,2.052-2.054h9.733
c1.134,0,2.051,0.919,2.051,2.054c0,1.134-0.917,2.051-2.051,2.051H48.41v15.493C48.41,56.119,47.49,57.036,46.357,57.036z"/>
</g>
<g>
<path fill="#484697" d="M40.354,37.44c0-1.134-0.919-2.054-2.048-2.054h-1.77c-1.132,0-2.051,0.919-2.051,2.054
c0,1.134,0.918,2.051,2.051,2.051h1.77C39.435,39.491,40.354,38.574,40.354,37.44z"/>
</g>
<g>
<g>
<g>
<path fill="#484697" d="M46.507,68.416c4.465-0.068,8.581-2.565,10.749-6.506c0.534-0.978,0.18-2.203-0.798-2.74
c-0.976-0.534-2.203-0.181-2.739,0.794c-1.47,2.681-4.258,4.372-7.278,4.42c-0.046,0-0.092,0.003-0.138,0.003
c-3.079,0-5.914-1.686-7.417-4.423c-0.534-0.975-1.765-1.328-2.741-0.794c-0.974,0.537-1.33,1.768-0.794,2.74
c2.216,4.031,6.398,6.513,10.953,6.513C46.372,68.423,46.44,68.423,46.507,68.416z"/>
</g>
</g>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.9 KiB

View File

@ -0,0 +1,213 @@
/*
Copyright (C) 2021 - Today: GRAP (http://www.grap.coop)
Copyright Tecnativa - Jairo Llopis
Copyright Tecnativa - Alexandre Díaz
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
Part of the code comes from web_responsive module. (same repository)
*/
odoo.define('web_responsive_company', function (require) {
'use strict';
var SwitchCompanyMenu = require("web.SwitchCompanyMenu");
var session = require('web.session');
var config = require("web.config");
var core = require("web.core");
function findNames (memo, company) {
memo[company.complete_name] = company;
return memo;
}
SwitchCompanyMenu.include({
events: _.extend({
"keydown .search-input input": "_searchResultsNavigate",
"input .search-input input": "_searchCompaniesSchedule",
"click .o-menu-search-result": "_searchResultChosen",
"shown.bs.dropdown": "_searchFocus",
"hidden.bs.dropdown": "_searchReset",
"hide.bs.dropdown": "_hideCompaniesMenu",
}, SwitchCompanyMenu.prototype.events),
/**
* Load complete companies.
*
* @override
*/
init: function () {
this._super.apply(this, arguments);
this._companies = session.complete_companies;
this._searchableCompanies = _.reduce(
this._companies,
findNames,
{}
);
this._search_def = $.Deferred();
},
/**
* @override
*/
start: function () {
this._super.apply(this, arguments);
// rerender element to remove html that is hard inserted in the odoo Core function
// and so read the name of the company
this.renderElement();
if (!this.isMobile) {
this.$('.oe_topbar_name').text(session.user_companies.current_company[1]);
}
this.$search_container = this.$(".search-container");
this.$search_input = this.$(".search-input input");
this.$search_results = this.$(".search-results");
},
/**
* Autofocus on search field on big screens.
*/
_searchFocus: function () {
if (!config.device.isMobile) {
this.$search_input.focus();
}
},
/**
* Reset search input and results
*/
_searchReset: function () {
this.$search_container.removeClass("has-results");
this.$search_results.empty();
this.$search_input.val("");
},
/**
* Navigate among search results
*
* @param {jQuery.Event} event
*/
_searchResultsNavigate: function (event) {
// Find current results and active element (1st by default)
var all = this.$search_results.find(".o-menu-search-result"),
pre_focused = all.filter(".active") || $(all[0]),
offset = all.index(pre_focused),
key = event.key;
// Keyboard navigation only supports search results
if (!all.length) {
return;
}
// Transform tab presses in arrow presses
if (key === "Tab") {
event.preventDefault();
key = event.shiftKey ? "ArrowUp" : "ArrowDown";
}
switch (key) {
// Pressing enter is the same as clicking on the active element
case "Enter":
pre_focused.click();
break;
// Navigate up or down
case "ArrowUp":
offset--;
break;
case "ArrowDown":
offset++;
break;
default:
// Other keys are useless in this event
return;
}
// Allow looping on results
if (offset < 0) {
offset = all.length + offset;
} else if (offset >= all.length) {
offset -= all.length;
}
// Switch active element
var new_focused = $(all[offset]);
pre_focused.removeClass("active");
new_focused.addClass("active");
this.$search_results.scrollTo(new_focused, {
offset: {
top: this.$search_results.height() * -0.5,
},
});
},
/*
* Control if AppDrawer can be closed
*/
_hideCompaniesMenu: function () {
return !this.$('input').is(':focus');
},
_companyInfo: function (key) {
var company = this._searchableCompanies[key];
return company;
},
/**
* Schedule a search on current menu items.
*/
_searchCompaniesSchedule: function () {
this._search_def.reject();
this._search_def = $.Deferred();
setTimeout(this._search_def.resolve.bind(this._search_def), 50);
this._search_def.done(this._searchCompanies.bind(this));
},
/**
* Search among available menu items, and render that search.
*/
_searchCompanies: function () {
var query = this.$search_input.val();
if (query === "") {
this.$search_container.removeClass("has-results");
this.$search_results.empty();
return;
}
var results = fuzzy.filter(
query,
_.keys(this._searchableCompanies),
{
pre: "<b>",
post: "</b>",
}
);
this.$search_container.toggleClass(
"has-results",
Boolean(results.length)
);
this.$search_results.html(
core.qweb.render(
"web_responsive_company.CompanySearchResults",
{
results: results,
widget: this,
}
)
);
},
/**
* Use chooses a search result, so we navigate to that menu
*
* @param {jQuery.Event} event
*/
_searchResultChosen: function (event) {
this._onClick(event);
},
getCompanies: function () {
return this._companies;
},
isCurrentCompany: function(company) {
return session.company_id === company.id;
},
});
});

View File

@ -0,0 +1,81 @@
/*
Copyright (C) 2021 - Today: GRAP (http://www.grap.coop)
Copyright Tecnativa - Jairo Llopis
Copyright Tecnativa - Alexandre Díaz
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
Part of the code comes from web_responsive module. (same repository)
*/
.o_switch_company_menu {
.dropdown-menu.show {
@include full-screen-dropdown();
// Display apps in a grid
align-content: flex-start;
display: flex;
flex-direction: row;
flex-wrap: wrap;
justify-content: flex-start;
@include media-breakpoint-up(lg) {
padding: {
left: 20vw;
right: 20vw;
}
}
.o-company {
align-items: center;
display: flex;
flex-direction: column;
justify-content: flex-start;
border-radius: 5px;
padding: 5px;
/*// Size depends on screen*/
width: 33.33333333%;
@include media-breakpoint-up(sm) {
width: 25%;
}
@include media-breakpoint-up(md) {
width: 16.6666666%;
}
.o-company-logo-container {
height: 100px;
width: 100px;
text-align: center;
line-height:100px;
background-color:white;
border-radius: 3px;
}
.o-company-logo-img {
max-width: 95px;
}
}
// Hide companies icons when searching
.has-results ~ .o-company {
display: none;
}
.o-company-selected-yes {
background-color:#DDD;
}
.o-company-selected-no {
cursor: pointer;
&:hover {
background-color:#EEE;
}
}
}
}

View File

@ -0,0 +1,86 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (C) 2021 - Today: GRAP (http://www.grap.coop)
@author: Sylvain LE GAL (https://twitter.com/legalsylvain)
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
-->
<template>
<t t-extend="SwitchCompanyMenu">
<!-- Add Access Key -->
<t t-jquery="a.dropdown-toggle" t-operation="attributes">
<attribute name="accesskey">y</attribute>
</t>
<t t-jquery=".dropdown-menu" t-operation="append">
<!-- Search part -->
<div class="search-container form-row align-items-center mb-4 col-12">
<div class="search-input col-md-10 ml-auto mr-auto mb-2">
<div class="input-group">
<div class="input-group-prepend">
<div class="input-group-text">
<i class="fa fa-search"/>
</div>
</div>
<input type="search"
autocomplete="off"
placeholder="Search company..."
class="form-control"/>
</div>
</div>
<div class="search-results col-md-10 ml-auto mr-auto"/>
</div>
<!-- Kanban companies list -->
<t t-foreach="widget.getCompanies()" t-as="company">
<t t-call="web_responsive_company.CompanyIcon"/>
</t>
</t>
</t>
<!-- Separate Company icon template, for easier inheritance -->
<t t-name="web_responsive_company.CompanyIcon">
<a role="menuitem"
data-menu="company" t-att-data-company-id="company.id"
t-attf-class="dropdown-item o-company o-company-selected-#{widget.isCurrentCompany(company) ? 'yes' : 'no'}">
<div class="o-company-logo-container">
<img class="o-company-logo-img"
t-attf-src="/web/image?model=res.company&amp;field=logo_web&amp;id=#{company.id}"/>
</div>
<div class="o-company-code" t-if="company.code">
<t t-esc="company.code"/>
</div>
<div class="o-company-name">
<t t-esc="company.name"/>
</div>
</a>
</t>
<!-- A search result -->
<t t-name="web_responsive_company.CompanySearchResults">
<t t-foreach="results" t-as="result">
<t t-set="company" t-value="widget._companyInfo(result.original)"/>
<a t-attf-class="o-menu-search-result dropdown-item col-12 ml-auto mr-auto #{result_first ? 'active' : ''}"
t-att-data-company-id="company.id"
t-raw="result.string"/>
</t>
</t>
<!-- Add new shortcuts in Shortcuts summary -->
<t t-extend="UserMenu.shortcuts">
<t t-jquery=".o_shortcut_table tbody" t-operation="append">
<tr>
<td align="left">Change company</td>
<td>
<span class="o_key">Alt</span> + <span class="o_key">Shift</span> + <span class="o_key">y</span>
</td>
<td>
<span class="o_key">Control</span> + <span class="o_key">Alt</span> + <span class="o_key">y</span>
</td>
</tr>
</t>
</t>
</template>

View File

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2021 - Today: GRAP (http://www.grap.coop)
@author: Sylvain LE GAL (https://twitter.com/legalsylvain)
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
-->
<odoo>
<template id="assets_backend" inherit_id="web_responsive.assets_backend">
<xpath expr=".">
<link rel="stylesheet" href="/web_responsive_company/static/src/scss/web_responsive_company.scss" />
<script type="application/javascript" src="/web_responsive_company/static/src/js/web_responsive_company.js"/>
</xpath>
</template>
</odoo>