forked from Techsystech/web
commit
4a5dca68fb
|
@ -1,8 +1,7 @@
|
|||
# Do NOT update manually; changes here will be overwritten by Copier
|
||||
_commit: v1.14.2
|
||||
_commit: v1.17.2
|
||||
_src_path: gh:oca/oca-addons-repo-template
|
||||
ci: GitHub
|
||||
dependency_installation_mode: PIP
|
||||
generate_requirements_txt: true
|
||||
github_check_license: true
|
||||
github_ci_extra_env: {}
|
||||
|
@ -11,6 +10,7 @@ github_enable_makepot: true
|
|||
github_enable_stale_action: true
|
||||
github_enforce_dev_status_compatibility: true
|
||||
include_wkhtmltopdf: false
|
||||
odoo_test_flavor: Both
|
||||
odoo_version: 14.0
|
||||
org_name: Odoo Community Association (OCA)
|
||||
org_slug: OCA
|
||||
|
@ -22,6 +22,4 @@ repo_description: "This project aims to deal with modules related to the webclie
|
|||
repo_name: Web addons for Odoo
|
||||
repo_slug: web
|
||||
repo_website: https://github.com/OCA/web
|
||||
travis_apt_packages: []
|
||||
travis_apt_sources: []
|
||||
|
||||
|
|
|
@ -22,6 +22,7 @@ globals:
|
|||
odoo: readonly
|
||||
openerp: readonly
|
||||
owl: readonly
|
||||
luxon: readonly
|
||||
|
||||
# Styling is handled by Prettier, so we only need to enable AST rules;
|
||||
# see https://github.com/OCA/maintainer-quality-tools/pull/618#issuecomment-558576890
|
||||
|
|
|
@ -13,10 +13,10 @@ jobs:
|
|||
pre-commit:
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-python@v4
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/setup-python@v2
|
||||
with:
|
||||
python-version: "3.10"
|
||||
python-version: "3.11"
|
||||
- name: Get python version
|
||||
run: echo "PY=$(python -VV | sha256sum | cut -d' ' -f1)" >> $GITHUB_ENV
|
||||
- uses: actions/cache@v1
|
||||
|
@ -27,6 +27,15 @@ jobs:
|
|||
run: pip install pre-commit
|
||||
- name: Run pre-commit
|
||||
run: pre-commit run --all-files --show-diff-on-failure --color=always
|
||||
env:
|
||||
# Consider valid a PR that changes README fragments but doesn't
|
||||
# change the README.rst file itself. It's not really a problem
|
||||
# because the bot will update it anyway after merge. This way, we
|
||||
# lower the barrier for functional contributors that want to fix the
|
||||
# readme fragments, while still letting developers get README
|
||||
# auto-generated (which also helps functionals when using runboat).
|
||||
# DOCS https://pre-commit.com/#temporarily-disabling-hooks
|
||||
SKIP: oca-gen-addon-readme
|
||||
- name: Check that all files generated by pre-commit are in git
|
||||
run: |
|
||||
newfiles="$(git ls-files --others --exclude-from=.gitignore)"
|
||||
|
|
|
@ -1,9 +0,0 @@
|
|||
diff a/.github/workflows/stale.yml b/.github/workflows/stale.yml (rejected hunks)
|
||||
@@ -15,2 +15,3 @@ jobs:
|
||||
# General settings.
|
||||
+ ascending: true
|
||||
remove-stale-when-updated: true
|
||||
@@ -52,2 +53,3 @@ jobs:
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
+ ascending: true
|
||||
only-labels: "needs more information"
|
|
@ -14,7 +14,7 @@ jobs:
|
|||
runs-on: ubuntu-latest
|
||||
name: Detect unreleased dependencies
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v3
|
||||
- run: |
|
||||
for reqfile in requirements.txt test-requirements.txt ; do
|
||||
if [ -f ${reqfile} ] ; then
|
||||
|
@ -37,18 +37,18 @@ jobs:
|
|||
include:
|
||||
- container: ghcr.io/oca/oca-ci/py3.6-odoo14.0:latest
|
||||
include: "web_widget_model_viewer"
|
||||
makepot: "true"
|
||||
name: test with Odoo
|
||||
- container: ghcr.io/oca/oca-ci/py3.6-ocb14.0:latest
|
||||
include: "web_widget_model_viewer"
|
||||
name: test with OCB
|
||||
makepot: "true"
|
||||
- container: ghcr.io/oca/oca-ci/py3.6-odoo14.0:latest
|
||||
exclude: "web_widget_model_viewer"
|
||||
makepot: "true"
|
||||
name: test with Odoo
|
||||
- container: ghcr.io/oca/oca-ci/py3.6-ocb14.0:latest
|
||||
exclude: "web_widget_model_viewer"
|
||||
name: test with OCB
|
||||
makepot: "true"
|
||||
services:
|
||||
postgres:
|
||||
image: postgres:9.6
|
||||
|
@ -62,7 +62,7 @@ jobs:
|
|||
INCLUDE: "${{ matrix.include }}"
|
||||
EXCLUDE: "${{ matrix.exclude }}"
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
persist-credentials: false
|
||||
- name: Install addons and dependencies
|
||||
|
|
|
@ -12,6 +12,8 @@ exclude: |
|
|||
/static/(src/)?lib/|
|
||||
# Repos using Sphinx to generate docs don't need prettying
|
||||
^docs/_templates/.*\.html$|
|
||||
# Don't bother non-technical authors with formatting issues in docs
|
||||
readme/.*\.(rst|md)$|
|
||||
# You don't usually want a bot to modify your legal texts
|
||||
(LICENSE.*|COPYING.*)
|
||||
default_language_version:
|
||||
|
@ -33,12 +35,24 @@ repos:
|
|||
language: fail
|
||||
files: '[a-zA-Z0-9_]*/i18n/en\.po$'
|
||||
- repo: https://github.com/oca/maintainer-tools
|
||||
rev: ab1d7f6
|
||||
rev: 969238e47c07d0c40573acff81d170f63245d738
|
||||
hooks:
|
||||
# update the NOT INSTALLABLE ADDONS section above
|
||||
- id: oca-update-pre-commit-excluded-addons
|
||||
- id: oca-fix-manifest-website
|
||||
args: ["https://github.com/OCA/web"]
|
||||
- id: oca-gen-addon-readme
|
||||
args:
|
||||
- --addons-dir=.
|
||||
- --branch=14.0
|
||||
- --org-name=OCA
|
||||
- --repo-name=web
|
||||
- --if-source-changed
|
||||
- repo: https://github.com/OCA/odoo-pre-commit-hooks
|
||||
rev: v0.0.25
|
||||
hooks:
|
||||
- id: oca-checks-odoo-module
|
||||
- id: oca-checks-po
|
||||
- repo: https://github.com/myint/autoflake
|
||||
rev: v1.4
|
||||
hooks:
|
||||
|
|
|
@ -1,25 +1,23 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<odoo>
|
||||
<data noupdate="0">
|
||||
<record id="demo_config_parameter_company_name" model="ir.config_parameter">
|
||||
<field name="key">support_company</field>
|
||||
<field name="value">Odoo Community Association</field>
|
||||
</record>
|
||||
<record id="demo_config_parameter_company_url" model="ir.config_parameter">
|
||||
<field name="key">support_company_url</field>
|
||||
<field name="value">https://odoo-community.org</field>
|
||||
</record>
|
||||
<record id="demo_config_parameter_company_color" model="ir.config_parameter">
|
||||
<field name="key">support_branding_color</field>
|
||||
<field name="value">#fff</field>
|
||||
</record>
|
||||
<record id="demo_config_parameter_support_email" model="ir.config_parameter">
|
||||
<field name="key">support_email</field>
|
||||
<field name="value">oca@example.com</field>
|
||||
</record>
|
||||
<record id="demo_config_parameter_release" model="ir.config_parameter">
|
||||
<field name="key">support_release</field>
|
||||
<field name="value">14.0</field>
|
||||
</record>
|
||||
</data>
|
||||
<record id="demo_config_parameter_company_name" model="ir.config_parameter">
|
||||
<field name="key">support_company</field>
|
||||
<field name="value">Odoo Community Association</field>
|
||||
</record>
|
||||
<record id="demo_config_parameter_company_url" model="ir.config_parameter">
|
||||
<field name="key">support_company_url</field>
|
||||
<field name="value">https://odoo-community.org</field>
|
||||
</record>
|
||||
<record id="demo_config_parameter_company_color" model="ir.config_parameter">
|
||||
<field name="key">support_branding_color</field>
|
||||
<field name="value">#fff</field>
|
||||
</record>
|
||||
<record id="demo_config_parameter_support_email" model="ir.config_parameter">
|
||||
<field name="key">support_email</field>
|
||||
<field name="value">oca@example.com</field>
|
||||
</record>
|
||||
<record id="demo_config_parameter_release" model="ir.config_parameter">
|
||||
<field name="key">support_release</field>
|
||||
<field name="value">14.0</field>
|
||||
</record>
|
||||
</odoo>
|
||||
|
|
|
@ -1,15 +1,13 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<odoo>
|
||||
<data>
|
||||
|
||||
<template id="assets_backend_extension" inherit_id="web.assets_backend">
|
||||
<xpath expr="." position="inside">
|
||||
<script
|
||||
type="text/javascript"
|
||||
src="/web_create_write_confirm/static/src/js/pop_up_confirmation.js"
|
||||
/>
|
||||
</xpath>
|
||||
</template>
|
||||
<template id="assets_backend_extension" inherit_id="web.assets_backend">
|
||||
<xpath expr="." position="inside">
|
||||
<script
|
||||
type="text/javascript"
|
||||
src="/web_create_write_confirm/static/src/js/pop_up_confirmation.js"
|
||||
/>
|
||||
</xpath>
|
||||
</template>
|
||||
|
||||
</data>
|
||||
</odoo>
|
||||
|
|
|
@ -1,78 +1,76 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<odoo>
|
||||
<data>
|
||||
|
||||
<record id="view_popup_message_tree" model="ir.ui.view">
|
||||
<field name="name">view.popup.message.tree</field>
|
||||
<field name="model">popup.message</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Popup Message">
|
||||
<field name="model_id" />
|
||||
<field name="field_ids" widget="many2many_tags" />
|
||||
<field name="popup_type" />
|
||||
<field name="title" />
|
||||
<field name="message" />
|
||||
<field name="active" />
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_popup_message_tree" model="ir.ui.view">
|
||||
<field name="name">view.popup.message.tree</field>
|
||||
<field name="model">popup.message</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree>
|
||||
<field name="model_id" />
|
||||
<field name="field_ids" widget="many2many_tags" />
|
||||
<field name="popup_type" />
|
||||
<field name="title" />
|
||||
<field name="message" />
|
||||
<field name="active" />
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_popup_message_form" model="ir.ui.view">
|
||||
<field name="name">view.popup.message.form</field>
|
||||
<field name="model">popup.message</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Popup Message">
|
||||
<sheet>
|
||||
<widget
|
||||
name="web_ribbon"
|
||||
title="Archived"
|
||||
bg_color="bg-danger"
|
||||
attrs="{'invisible': [('active', '=', True)]}"
|
||||
<record id="view_popup_message_form" model="ir.ui.view">
|
||||
<field name="name">view.popup.message.form</field>
|
||||
<field name="model">popup.message</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Popup Message">
|
||||
<sheet>
|
||||
<widget
|
||||
name="web_ribbon"
|
||||
title="Archived"
|
||||
bg_color="bg-danger"
|
||||
attrs="{'invisible': [('active', '=', True)]}"
|
||||
/>
|
||||
<group>
|
||||
<field name="model_id" />
|
||||
<field name="model" invisible="1" />
|
||||
<field
|
||||
name="field_ids"
|
||||
domain="[('model','=',model)]"
|
||||
widget="many2many_tags"
|
||||
/>
|
||||
<group>
|
||||
<field name="model_id" />
|
||||
<field name="model" invisible="1" />
|
||||
<field
|
||||
name="field_ids"
|
||||
domain="[('model','=',model)]"
|
||||
widget="many2many_tags"
|
||||
/>
|
||||
<field name="popup_type" />
|
||||
<field name="title" />
|
||||
<field name="message" />
|
||||
<field name="active" widget="boolean_toggle" />
|
||||
</group>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
<field name="popup_type" />
|
||||
<field name="title" />
|
||||
<field name="message" />
|
||||
<field name="active" widget="boolean_toggle" />
|
||||
</group>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_popup_message_view" model="ir.actions.act_window">
|
||||
<field name="name">Popup message</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">popup.message</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="help" type="html">
|
||||
<p class="oe_view_nocontent_create">
|
||||
Add your pop-up!
|
||||
</p>
|
||||
</field>
|
||||
</record>
|
||||
<record id="action_popup_message_view" model="ir.actions.act_window">
|
||||
<field name="name">Popup message</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">popup.message</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="help" type="html">
|
||||
<p class="oe_view_nocontent_create">
|
||||
Add your pop-up!
|
||||
</p>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<menuitem
|
||||
id="menu_popup_message_categ"
|
||||
name="Popup message"
|
||||
parent="base.menu_custom"
|
||||
sequence="90"
|
||||
/>
|
||||
<menuitem
|
||||
id="menu_popup_message_categ"
|
||||
name="Popup message"
|
||||
parent="base.menu_custom"
|
||||
sequence="90"
|
||||
/>
|
||||
|
||||
<menuitem
|
||||
id="menu_popup_message_view"
|
||||
name="Popup message"
|
||||
parent="web_create_write_confirm.menu_popup_message_categ"
|
||||
action="action_popup_message_view"
|
||||
sequence="10"
|
||||
/>
|
||||
<menuitem
|
||||
id="menu_popup_message_view"
|
||||
name="Popup message"
|
||||
parent="web_create_write_confirm.menu_popup_message_categ"
|
||||
action="action_popup_message_view"
|
||||
sequence="10"
|
||||
/>
|
||||
|
||||
</data>
|
||||
</odoo>
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
nolabel="1"
|
||||
context="{'default_required_model_id': model}"
|
||||
>
|
||||
<tree string="Fields">
|
||||
<tree>
|
||||
<field name="required_model_id" invisible="1" />
|
||||
<field name="invisible_model_id" invisible="1" />
|
||||
<field name="model_name" invisible="1" />
|
||||
|
@ -45,7 +45,7 @@
|
|||
nolabel="1"
|
||||
context="{'default_invisible_model_id': model}"
|
||||
>
|
||||
<tree string="Fields">
|
||||
<tree>
|
||||
<field name="required_model_id" invisible="1" />
|
||||
<field name="invisible_model_id" invisible="1" />
|
||||
<field name="model_name" invisible="1" />
|
||||
|
@ -72,7 +72,7 @@
|
|||
nolabel="1"
|
||||
context="{'default_readonly_model_id': model}"
|
||||
>
|
||||
<tree string="Fields">
|
||||
<tree>
|
||||
<field name="required_model_id" invisible="1" />
|
||||
<field name="invisible_model_id" invisible="1" />
|
||||
<field name="readonly_model_id" invisible="1" />
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
nolabel="1"
|
||||
context="{'default_model_name': model}"
|
||||
>
|
||||
<tree string="Fields Description" editable="bottom">
|
||||
<tree editable="bottom">
|
||||
<field name="model_name" invisible="1" />
|
||||
<field
|
||||
name="field_id"
|
||||
|
|
|
@ -1,29 +1,27 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<odoo>
|
||||
<data>
|
||||
<template
|
||||
id="assets_backend"
|
||||
name="web_no_bubble_assets"
|
||||
inherit_id="web.assets_backend"
|
||||
>
|
||||
<xpath expr="." position="inside">
|
||||
<link
|
||||
rel="stylesheet"
|
||||
href="/web_no_bubble/static/src/css/web_no_bubble.scss"
|
||||
/>
|
||||
</xpath>
|
||||
</template>
|
||||
<template
|
||||
id="assets_frontend"
|
||||
name="web_no_bubble_assets_frontend"
|
||||
inherit_id="web.assets_frontend"
|
||||
>
|
||||
<xpath expr="." position="inside">
|
||||
<link
|
||||
rel="stylesheet"
|
||||
href="/web_no_bubble/static/src/css/web_no_bubble.scss"
|
||||
/>
|
||||
</xpath>
|
||||
</template>
|
||||
</data>
|
||||
<template
|
||||
id="assets_backend"
|
||||
name="web_no_bubble_assets"
|
||||
inherit_id="web.assets_backend"
|
||||
>
|
||||
<xpath expr="." position="inside">
|
||||
<link
|
||||
rel="stylesheet"
|
||||
href="/web_no_bubble/static/src/css/web_no_bubble.scss"
|
||||
/>
|
||||
</xpath>
|
||||
</template>
|
||||
<template
|
||||
id="assets_frontend"
|
||||
name="web_no_bubble_assets_frontend"
|
||||
inherit_id="web.assets_frontend"
|
||||
>
|
||||
<xpath expr="." position="inside">
|
||||
<link
|
||||
rel="stylesheet"
|
||||
href="/web_no_bubble/static/src/css/web_no_bubble.scss"
|
||||
/>
|
||||
</xpath>
|
||||
</template>
|
||||
</odoo>
|
||||
|
|
|
@ -1,72 +1,67 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<odoo>
|
||||
<data>
|
||||
<record id="res_config_settings_view_form" model="ir.ui.view">
|
||||
<field name="name">res.config.settings.view.form.pwa</field>
|
||||
<field name="model">res.config.settings</field>
|
||||
<field name="inherit_id" ref="base_setup.res_config_settings_view_form" />
|
||||
<field name="arch" type="xml">
|
||||
<div id="emails" position='after'>
|
||||
<h2>Progressive Web App</h2>
|
||||
<div class="row mt16 o_settings_container" id="pwa_settings">
|
||||
<div class="col-12 col-lg-6 o_setting_box" id="domain_setting">
|
||||
<div class="o_setting_right_pane">
|
||||
<label for="pwa_name" string="PWA Title" />
|
||||
<span
|
||||
class="fa fa-lg fa-globe"
|
||||
title="Icon next to name"
|
||||
/>
|
||||
<div class="text-muted">
|
||||
Name and icon of your PWA
|
||||
<record id="res_config_settings_view_form" model="ir.ui.view">
|
||||
<field name="name">res.config.settings.view.form.pwa</field>
|
||||
<field name="model">res.config.settings</field>
|
||||
<field name="inherit_id" ref="base_setup.res_config_settings_view_form" />
|
||||
<field name="arch" type="xml">
|
||||
<div id="emails" position='after'>
|
||||
<h2>Progressive Web App</h2>
|
||||
<div class="row mt16 o_settings_container" id="pwa_settings">
|
||||
<div class="col-12 col-lg-6 o_setting_box" id="domain_setting">
|
||||
<div class="o_setting_right_pane">
|
||||
<label for="pwa_name" string="PWA Title" />
|
||||
<span class="fa fa-lg fa-globe" title="Icon next to name" />
|
||||
<div class="text-muted">
|
||||
Name and icon of your PWA
|
||||
</div>
|
||||
<div class="content-group">
|
||||
<div class="row mt16">
|
||||
<label
|
||||
class="col-lg-3 o_light_label"
|
||||
string="Name"
|
||||
for="pwa_name"
|
||||
/>
|
||||
<field name="pwa_name" />
|
||||
</div>
|
||||
<div class="content-group">
|
||||
<div class="row mt16">
|
||||
<label
|
||||
class="col-lg-3 o_light_label"
|
||||
string="Name"
|
||||
for="pwa_name"
|
||||
/>
|
||||
<field name="pwa_name" />
|
||||
</div>
|
||||
<div class="row mt16">
|
||||
<label
|
||||
class="col-lg-3 o_light_label"
|
||||
string="Short Name"
|
||||
for="pwa_short_name"
|
||||
/>
|
||||
<field name="pwa_short_name" />
|
||||
</div>
|
||||
<div class="row">
|
||||
<label
|
||||
class="col-lg-3 o_light_label"
|
||||
for="pwa_background_color"
|
||||
/>
|
||||
<field name="pwa_background_color" />
|
||||
</div>
|
||||
<div class="row">
|
||||
<label
|
||||
class="col-lg-3 o_light_label"
|
||||
for="pwa_theme_color"
|
||||
/>
|
||||
<field name="pwa_theme_color" />
|
||||
</div>
|
||||
<div class="row">
|
||||
<label
|
||||
class="col-lg-3 o_light_label"
|
||||
for="pwa_icon"
|
||||
/>
|
||||
<field
|
||||
name="pwa_icon"
|
||||
widget="image"
|
||||
class="float-left oe_avatar"
|
||||
/>
|
||||
</div>
|
||||
<div class="row mt16">
|
||||
<label
|
||||
class="col-lg-3 o_light_label"
|
||||
string="Short Name"
|
||||
for="pwa_short_name"
|
||||
/>
|
||||
<field name="pwa_short_name" />
|
||||
</div>
|
||||
<div class="row">
|
||||
<label
|
||||
class="col-lg-3 o_light_label"
|
||||
for="pwa_background_color"
|
||||
/>
|
||||
<field name="pwa_background_color" />
|
||||
</div>
|
||||
<div class="row">
|
||||
<label
|
||||
class="col-lg-3 o_light_label"
|
||||
for="pwa_theme_color"
|
||||
/>
|
||||
<field name="pwa_theme_color" />
|
||||
</div>
|
||||
<div class="row">
|
||||
<label
|
||||
class="col-lg-3 o_light_label"
|
||||
for="pwa_icon"
|
||||
/>
|
||||
<field
|
||||
name="pwa_icon"
|
||||
widget="image"
|
||||
class="float-left oe_avatar"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</field>
|
||||
</record>
|
||||
</data>
|
||||
</div>
|
||||
</field>
|
||||
</record>
|
||||
</odoo>
|
||||
|
|
|
@ -1,17 +1,15 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<openerp>
|
||||
<data>
|
||||
<template
|
||||
id="assets_backend"
|
||||
name="web_switch_context_warning assets"
|
||||
inherit_id="web.assets_backend"
|
||||
>
|
||||
<xpath expr="." position="inside">
|
||||
<script
|
||||
type="text/javascript"
|
||||
src="/web_switch_context_warning/static/src/js/switch_context_warning.js"
|
||||
/>
|
||||
</xpath>
|
||||
</template>
|
||||
</data>
|
||||
</openerp>
|
||||
<odoo>
|
||||
<template
|
||||
id="assets_backend"
|
||||
name="web_switch_context_warning assets"
|
||||
inherit_id="web.assets_backend"
|
||||
>
|
||||
<xpath expr="." position="inside">
|
||||
<script
|
||||
type="text/javascript"
|
||||
src="/web_switch_context_warning/static/src/js/switch_context_warning.js"
|
||||
/>
|
||||
</xpath>
|
||||
</template>
|
||||
</odoo>
|
||||
|
|
Loading…
Reference in New Issue