This module adds responsiveness to web backend.
@@ -506,6 +506,10 @@
diff --git a/web_responsive/static/src/legacy/xml/form_buttons.xml b/web_responsive/static/src/legacy/xml/form_buttons.xml
index 350b3a3f9ef0..b39113b513dd 100644
--- a/web_responsive/static/src/legacy/xml/form_buttons.xml
+++ b/web_responsive/static/src/legacy/xml/form_buttons.xml
@@ -37,6 +37,7 @@
class="btn btn-primary o_form_button_save"
data-hotkey="s"
t-on-click.stop="() => this.saveButtonClicked({closable: true})"
+ t-if="model.root.isInEdition"
>
@@ -47,6 +48,7 @@
class="btn btn-secondary o_form_button_cancel"
data-hotkey="j"
t-on-click.stop="discard"
+ t-if="model.root.isInEdition"
>
@@ -57,6 +59,7 @@
class="btn btn-secondary o_form_button_create"
data-hotkey="c"
t-on-click.stop="create"
+ t-if="!model.root.isInEdition and canCreate"
>
@@ -77,6 +80,7 @@
class="btn btn-outline-primary o_form_button_create"
data-hotkey="c"
t-on-click.stop="create"
+ t-if="canCreate"
>
@@ -90,6 +94,7 @@
class="btn btn-secondary o_form_button_create"
data-hotkey="c"
t-on-click.stop="create"
+ t-if="canCreate"
>
@@ -115,6 +120,7 @@
accesskey="c"
t-on-click="() => this.createRecord()"
data-bounce-button=""
+ t-if="canCreate and props.showButtons"
>
@@ -133,6 +139,7 @@
data-hotkey="c"
t-on-click="onClickCreate"
data-bounce-button=""
+ t-if="!editedRecord and activeActions.create and props.showButtons"
>
diff --git a/web_search_with_and/README.rst b/web_search_with_and/README.rst
new file mode 100644
index 000000000000..7b2e12895ce5
--- /dev/null
+++ b/web_search_with_and/README.rst
@@ -0,0 +1,111 @@
+.. image:: https://odoo-community.org/readme-banner-image
+ :target: https://odoo-community.org/get-involved?utm_source=readme
+ :alt: Odoo Community Association
+
+====================================
+Use AND conditions on omnibar search
+====================================
+
+..
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+ !! This file is generated by oca-gen-addon-readme !!
+ !! changes will be overwritten. !!
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+ !! source digest: sha256:136dc96228bf20333e1981f7b3d17843d17ea5dde97c86349bae2d6bf2e48e8f
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
+ :target: https://odoo-community.org/page/development-status
+ :alt: Beta
+.. |badge2| image:: https://img.shields.io/badge/license-AGPL--3-blue.png
+ :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
+ :alt: License: AGPL-3
+.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fweb-lightgray.png?logo=github
+ :target: https://github.com/OCA/web/tree/19.0/web_search_with_and
+ :alt: OCA/web
+.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
+ :target: https://translation.odoo-community.org/projects/web-19-0/web-19-0-web_search_with_and
+ :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=19.0
+ :alt: Try me on Runboat
+
+|badge1| |badge2| |badge3| |badge4| |badge5|
+
+When searching for records on same field Odoo joins multiple queries
+with OR. For example:
+
+- Perform a search for customer "John" on field Name
+- Odoo displays customers containing "John"
+- Search for "Smith" on same field Name
+- Odoo displays customers containing "John" OR "Smith"
+
+With this module installed you can press Shift key before searching for
+"Smith" and Odoo finds customers containing "John" AND "Smith"
+
+**Table of contents**
+
+.. contents::
+ :local:
+
+Usage
+=====
+
+- Enter your value in omnibar search field
+- Press and hold Shift key
+- Select field with mouse or keyboard to perform search on
+
+|Try me on Runbot|
+
+.. |Try me on Runbot| image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas
+ :target: https://runbot.odoo-community.org/runbot/162/11.0
+
+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 `_.
+
+Do not contact contributors directly about support or help with technical issues.
+
+Credits
+=======
+
+Authors
+-------
+
+* Sandip SCS
+* Versada UAB
+* ACSONE SA/NV
+* Serincloud
+
+Contributors
+------------
+
+- Andrius Preimantas
+- Adrien Didenot
+- Francesco Apruzzese
+- Numigi (tm) and all its contributors (https://bit.ly/numigiens)
+- Souheil Bejaoui
+- Pedro Guirao
+- Nedas Žilinskas
+- Sandip SerpentCS
+
+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_search_with_and/__init__.py b/web_search_with_and/__init__.py
new file mode 100644
index 000000000000..e69de29bb2d1
diff --git a/web_search_with_and/__manifest__.py b/web_search_with_and/__manifest__.py
new file mode 100644
index 000000000000..7b89bf1cbb2d
--- /dev/null
+++ b/web_search_with_and/__manifest__.py
@@ -0,0 +1,20 @@
+# Copyright 2015 Andrius Preimantas
+# Copyright 2020 ACSONE SA/NV
+# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
+
+{
+ "name": "Use AND conditions on omnibar search",
+ "version": "19.0.1.0.0",
+ "author": """Sandip SCS, Versada UAB, ACSONE SA/NV, Serincloud,
+ Odoo Community Association (OCA)""",
+ "license": "AGPL-3",
+ "category": "web",
+ "website": "https://github.com/OCA/web",
+ "depends": ["web"],
+ "assets": {
+ "web.assets_backend": [
+ "/web_search_with_and/static/src/js/search_model.esm.js",
+ "/web_search_with_and/static/src/js/search_bar.esm.js",
+ ],
+ },
+}
diff --git a/web_search_with_and/i18n/es.po b/web_search_with_and/i18n/es.po
new file mode 100644
index 000000000000..e69de29bb2d1
diff --git a/web_search_with_and/i18n/it.po b/web_search_with_and/i18n/it.po
new file mode 100644
index 000000000000..e69de29bb2d1
diff --git a/web_search_with_and/i18n/pt.po b/web_search_with_and/i18n/pt.po
new file mode 100644
index 000000000000..e69de29bb2d1
diff --git a/web_search_with_and/i18n/tr.po b/web_search_with_and/i18n/tr.po
new file mode 100644
index 000000000000..ebd417b4f9d9
--- /dev/null
+++ b/web_search_with_and/i18n/tr.po
@@ -0,0 +1,14 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 18.0\n"
+"Report-Msgid-Bugs-To: \n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: tr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
diff --git a/web_search_with_and/i18n/web_search_with_and.pot b/web_search_with_and/i18n/web_search_with_and.pot
new file mode 100644
index 000000000000..73e76416e0ee
--- /dev/null
+++ b/web_search_with_and/i18n/web_search_with_and.pot
@@ -0,0 +1 @@
+# No translations.
diff --git a/web_search_with_and/pyproject.toml b/web_search_with_and/pyproject.toml
new file mode 100644
index 000000000000..4231d0cccb3d
--- /dev/null
+++ b/web_search_with_and/pyproject.toml
@@ -0,0 +1,3 @@
+[build-system]
+requires = ["whool"]
+build-backend = "whool.buildapi"
diff --git a/web_search_with_and/readme/CONTRIBUTORS.md b/web_search_with_and/readme/CONTRIBUTORS.md
new file mode 100644
index 000000000000..b85b32382635
--- /dev/null
+++ b/web_search_with_and/readme/CONTRIBUTORS.md
@@ -0,0 +1,8 @@
+- Andrius Preimantas \<\>
+- Adrien Didenot \<\>
+- Francesco Apruzzese \<\>
+- Numigi (tm) and all its contributors ()
+- Souheil Bejaoui \<\>
+- Pedro Guirao \<\>
+- Nedas Žilinskas \<\>
+- Sandip SerpentCS \<\>
diff --git a/web_search_with_and/readme/DESCRIPTION.md b/web_search_with_and/readme/DESCRIPTION.md
new file mode 100644
index 000000000000..34571a656060
--- /dev/null
+++ b/web_search_with_and/readme/DESCRIPTION.md
@@ -0,0 +1,10 @@
+When searching for records on same field Odoo joins multiple queries
+with OR. For example:
+
+- Perform a search for customer "John" on field Name
+- Odoo displays customers containing "John"
+- Search for "Smith" on same field Name
+- Odoo displays customers containing "John" OR "Smith"
+
+With this module installed you can press Shift key before searching for
+"Smith" and Odoo finds customers containing "John" AND "Smith"
diff --git a/web_search_with_and/readme/USAGE.md b/web_search_with_and/readme/USAGE.md
new file mode 100644
index 000000000000..5116254948ce
--- /dev/null
+++ b/web_search_with_and/readme/USAGE.md
@@ -0,0 +1,5 @@
+- Enter your value in omnibar search field
+- Press and hold Shift key
+- Select field with mouse or keyboard to perform search on
+
+[](https://runbot.odoo-community.org/runbot/162/11.0)
diff --git a/web_search_with_and/static/description/icon.png b/web_search_with_and/static/description/icon.png
new file mode 100644
index 000000000000..3a0328b516c4
Binary files /dev/null and b/web_search_with_and/static/description/icon.png differ
diff --git a/web_search_with_and/static/description/index.html b/web_search_with_and/static/description/index.html
new file mode 100644
index 000000000000..258518cd290d
--- /dev/null
+++ b/web_search_with_and/static/description/index.html
@@ -0,0 +1,458 @@
+
+
+
+
+
+README.rst
+
+
+
+
+
+
+
+
+
+
+
Use AND conditions on omnibar search
+
+

+
When searching for records on same field Odoo joins multiple queries
+with OR. For example:
+
+- Perform a search for customer “John” on field Name
+- Odoo displays customers containing “John”
+- Search for “Smith” on same field Name
+- Odoo displays customers containing “John” OR “Smith”
+
+
With this module installed you can press Shift key before searching for
+“Smith” and Odoo finds customers containing “John” AND “Smith”
+
Table of contents
+