diff --git a/cr_m2o_faster/__manifest__.py b/cr_m2o_faster/__manifest__.py
index c353e0614..6ddcd257f 100644
--- a/cr_m2o_faster/__manifest__.py
+++ b/cr_m2o_faster/__manifest__.py
@@ -13,8 +13,8 @@
],
'assets': {
'web.assets_backend': [
- 'cr_m2o_faster/static/src/views/fields/many2one/*',
- # 'cr_m2o_faster/static/src/views/fields/many2many/*',
+ # 'cr_m2o_faster/static/src/views/fields/many2one/*',
+ 'cr_m2o_faster/static/src/views/fields/many2many/*',
],
},
'installable': True,
diff --git a/cr_m2o_faster/static/src/views/fields/many2many/many2many_field.js b/cr_m2o_faster/static/src/views/fields/many2many/many2many_field.js
deleted file mode 100644
index d6d96f2ef..000000000
--- a/cr_m2o_faster/static/src/views/fields/many2many/many2many_field.js
+++ /dev/null
@@ -1,36 +0,0 @@
-/** @odoo-module **/
-import {patch} from "@web/core/utils/patch";
-import {Many2manyField} from "@web/views/fields/many2one/many2one_field";
-import {useSelectCreate} from "@web/views/fields/relational_utils";
-
-import { _t } from "@web/core/l10n/translation";
-import { sprintf } from "@web/core/utils/strings";
-
-patch(Many2manyField.prototype, {
- setup(...args) {
- super.setup(...args)
- let self = this;
- this.selectCreate = useSelectCreate({
- resModel:this.relation,
- activeActions: this.state.activeActions,
- onSelected: (resId) => {
- const resIds = Array.isArray(resId) ? resId : [resId];
- const values = resIds.map((id) => ({id}));
- return self.update(values);
- },
- onCreateEdit: ({context}) => this.openMany2X({context}),
- onUnselect: this.update,
- });
- },
- onMoreBtnClick() {
- const domain = this.getDomain();
- let dynamicFilters = [];
- const title = sprintf(_t("Search: %s"), this.props.string);
- this.selectCreate({
- domain,
- context: this.context,
- filters: dynamicFilters,
- title,
- });
- }
-});
diff --git a/cr_m2o_faster/static/src/views/fields/many2many/many2many_field.xml b/cr_m2o_faster/static/src/views/fields/many2many/many2many_field.xml
deleted file mode 100644
index c9314b04e..000000000
--- a/cr_m2o_faster/static/src/views/fields/many2many/many2many_field.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/cr_m2o_faster/static/src/views/fields/many2many/many2many_tags_field.xml b/cr_m2o_faster/static/src/views/fields/many2many/many2many_tags_field.xml
index d4a322a90..b373d31aa 100644
--- a/cr_m2o_faster/static/src/views/fields/many2many/many2many_tags_field.xml
+++ b/cr_m2o_faster/static/src/views/fields/many2many/many2many_tags_field.xml
@@ -8,8 +8,8 @@
class="btn btn-secondary fa fa-list-alt o_external_button"
tabindex="-1"
draggable="false"
- aria-label="更多"
- data-tooltip="更多"
+ aria-label="Show More"
+ data-tooltip="Show More"
t-on-click="onMoreBtnClick"
/>
diff --git a/cr_m2o_faster/static/src/views/fields/many2one/many2one_field.xml b/cr_m2o_faster/static/src/views/fields/many2one/many2one_field.xml
index dff3d83ed..96a5228f0 100644
--- a/cr_m2o_faster/static/src/views/fields/many2one/many2one_field.xml
+++ b/cr_m2o_faster/static/src/views/fields/many2one/many2one_field.xml
@@ -8,8 +8,8 @@
class="btn btn-secondary fa fa-list-alt o_external_button"
tabindex="-1"
draggable="false"
- aria-label="更多"
- data-tooltip="更多"
+ aria-label="Show More"
+ data-tooltip="Show More"
t-on-click="onMoreBtnClick"
/>
diff --git a/tree_view_advanced_filter/LICENSE b/tree_view_advanced_filter/LICENSE
new file mode 100644
index 000000000..b01eaf1b7
--- /dev/null
+++ b/tree_view_advanced_filter/LICENSE
@@ -0,0 +1,27 @@
+Odoo Proprietary License v1.0
+
+This software and associated files (the "Software") may only be used (executed,
+modified, executed after modifications) if you have purchased a valid license
+from the authors, typically via Odoo Apps, or if you have received a written
+agreement from the authors of the Software (see the COPYRIGHT file).
+
+You may develop Odoo modules that use the Software as a library (typically
+by depending on it, importing it and using its resources), but without copying
+any source code or material from the Software. You may distribute those
+modules under the license of your choice, provided that this license is
+compatible with the terms of the Odoo Proprietary License (For example:
+LGPL, MIT, or proprietary licenses similar to this one).
+
+It is forbidden to publish, distribute, sublicense, or sell copies of the Software
+or modified copies of the Software.
+
+The above copyright notice and this permission notice must be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
diff --git a/tree_view_advanced_filter/__init__.py b/tree_view_advanced_filter/__init__.py
new file mode 100644
index 000000000..40a96afc6
--- /dev/null
+++ b/tree_view_advanced_filter/__init__.py
@@ -0,0 +1 @@
+# -*- coding: utf-8 -*-
diff --git a/tree_view_advanced_filter/__manifest__.py b/tree_view_advanced_filter/__manifest__.py
new file mode 100644
index 000000000..75f360e09
--- /dev/null
+++ b/tree_view_advanced_filter/__manifest__.py
@@ -0,0 +1,73 @@
+# Part of Odoo, Aktiv Software.
+# See LICENSE file for full copyright & licensing details.
+
+# Author: Aktiv Software.
+# mail: odoo@aktivsoftware.com
+# Copyright (C) 2015-Present Aktiv Software PVT. LTD.
+# Contributions:
+# Aktiv Software:
+# - Kuldip Trapasiya
+# - Tanvi Gajera
+
+{
+ "name": "Tree View Advanced Search / Direct Filter in List",
+ "version": "17.0.1.0.0",
+ "category": "Advanced search on Tree view",
+ "summary": """This module allows a user to directly filter on the Tree / List View.
+ The data will be filtered Runtime.
+ List Filter ,
+ Filter List,
+ Column Filter,
+ Tree Filter,
+ Filter Tree,
+ Advance Search,
+ Search Advance,
+ Tree Search,
+ Direct Search,
+ Fast Search,
+ Quick Search,
+ Dynamic Search,
+ Dynamic Tree,
+ Data Search,
+ Search Data,
+ Data search in Tree,
+ X2many search,
+ X2many search in Tree
+ """,
+ "description": """
+ This module allows a user to directly single/multiple filter on the Tree / List View.
+ The data will be filtered Runtime. Columns can be directly searched on the Tree View.
+ List Filter
+ Column Filter
+ Tree Filter
+ Advance Search
+ Tree Search
+ Direct Search
+ Fast Search
+ Quick Search
+ Dynamic Search
+ Dynamic Tree
+ Data Search
+ Data search in Tree
+ X2many search
+ X2many search in Tree
+ """,
+ "author": "Aktiv Software",
+ "website": "http://www.aktivsoftware.com",
+ "license": "OPL-1",
+ "price": 95.00,
+ "currency": "USD",
+ "depends": ["web", "sale_management"],
+ "data": [],
+ "assets": {
+ "web.assets_backend": [
+ # Custum Library
+ "tree_view_advanced_filter/static/src/js/*.js",
+ "tree_view_advanced_filter/static/src/css/main.scss",
+ ]
+ },
+ "images": ["static/description/banner.jpg"],
+ "installable": True,
+ "auto_install": False,
+ "application": False,
+}
diff --git a/tree_view_advanced_filter/static/description/Browser_Screen_Mockup_1.jpg b/tree_view_advanced_filter/static/description/Browser_Screen_Mockup_1.jpg
new file mode 100644
index 000000000..3b0811829
Binary files /dev/null and b/tree_view_advanced_filter/static/description/Browser_Screen_Mockup_1.jpg differ
diff --git a/tree_view_advanced_filter/static/description/Browser_Screen_Mockup_2.jpg b/tree_view_advanced_filter/static/description/Browser_Screen_Mockup_2.jpg
new file mode 100644
index 000000000..cfea4fbb2
Binary files /dev/null and b/tree_view_advanced_filter/static/description/Browser_Screen_Mockup_2.jpg differ
diff --git a/tree_view_advanced_filter/static/description/Browser_Screen_Mockup_3.jpg b/tree_view_advanced_filter/static/description/Browser_Screen_Mockup_3.jpg
new file mode 100644
index 000000000..c69bd50eb
Binary files /dev/null and b/tree_view_advanced_filter/static/description/Browser_Screen_Mockup_3.jpg differ
diff --git a/tree_view_advanced_filter/static/description/Browser_Screen_Mockup_4.jpg b/tree_view_advanced_filter/static/description/Browser_Screen_Mockup_4.jpg
new file mode 100644
index 000000000..8962e9e23
Binary files /dev/null and b/tree_view_advanced_filter/static/description/Browser_Screen_Mockup_4.jpg differ
diff --git a/tree_view_advanced_filter/static/description/Browser_Screen_Mockup_5.jpg b/tree_view_advanced_filter/static/description/Browser_Screen_Mockup_5.jpg
new file mode 100644
index 000000000..0ef28a27f
Binary files /dev/null and b/tree_view_advanced_filter/static/description/Browser_Screen_Mockup_5.jpg differ
diff --git a/tree_view_advanced_filter/static/description/Browser_Screen_Mockup_6.jpg b/tree_view_advanced_filter/static/description/Browser_Screen_Mockup_6.jpg
new file mode 100644
index 000000000..9289cb930
Binary files /dev/null and b/tree_view_advanced_filter/static/description/Browser_Screen_Mockup_6.jpg differ
diff --git a/tree_view_advanced_filter/static/description/Browser_Screen_Mockup_7.jpg b/tree_view_advanced_filter/static/description/Browser_Screen_Mockup_7.jpg
new file mode 100644
index 000000000..53af1fa3e
Binary files /dev/null and b/tree_view_advanced_filter/static/description/Browser_Screen_Mockup_7.jpg differ
diff --git a/tree_view_advanced_filter/static/description/Browser_Screen_Mockup_8.jpg b/tree_view_advanced_filter/static/description/Browser_Screen_Mockup_8.jpg
new file mode 100644
index 000000000..e993b735e
Binary files /dev/null and b/tree_view_advanced_filter/static/description/Browser_Screen_Mockup_8.jpg differ
diff --git a/tree_view_advanced_filter/static/description/GIF.gif b/tree_view_advanced_filter/static/description/GIF.gif
new file mode 100644
index 000000000..c13fbb4d4
Binary files /dev/null and b/tree_view_advanced_filter/static/description/GIF.gif differ
diff --git a/tree_view_advanced_filter/static/description/banner.jpg b/tree_view_advanced_filter/static/description/banner.jpg
new file mode 100644
index 000000000..1e0541de4
Binary files /dev/null and b/tree_view_advanced_filter/static/description/banner.jpg differ
diff --git a/tree_view_advanced_filter/static/description/default_icons/Odoo_Consulting.png b/tree_view_advanced_filter/static/description/default_icons/Odoo_Consulting.png
new file mode 100644
index 000000000..1f244ce23
Binary files /dev/null and b/tree_view_advanced_filter/static/description/default_icons/Odoo_Consulting.png differ
diff --git a/tree_view_advanced_filter/static/description/default_icons/Odoo_Customization.png b/tree_view_advanced_filter/static/description/default_icons/Odoo_Customization.png
new file mode 100644
index 000000000..b2ae9f366
Binary files /dev/null and b/tree_view_advanced_filter/static/description/default_icons/Odoo_Customization.png differ
diff --git a/tree_view_advanced_filter/static/description/default_icons/Odoo_Implementation.png b/tree_view_advanced_filter/static/description/default_icons/Odoo_Implementation.png
new file mode 100644
index 000000000..153001076
Binary files /dev/null and b/tree_view_advanced_filter/static/description/default_icons/Odoo_Implementation.png differ
diff --git a/tree_view_advanced_filter/static/description/default_icons/Odoo_Integration.png b/tree_view_advanced_filter/static/description/default_icons/Odoo_Integration.png
new file mode 100644
index 000000000..841418705
Binary files /dev/null and b/tree_view_advanced_filter/static/description/default_icons/Odoo_Integration.png differ
diff --git a/tree_view_advanced_filter/static/description/default_icons/Odoo_Migration.png b/tree_view_advanced_filter/static/description/default_icons/Odoo_Migration.png
new file mode 100644
index 000000000..c65aa065a
Binary files /dev/null and b/tree_view_advanced_filter/static/description/default_icons/Odoo_Migration.png differ
diff --git a/tree_view_advanced_filter/static/description/default_icons/Odoo_Support.png b/tree_view_advanced_filter/static/description/default_icons/Odoo_Support.png
new file mode 100644
index 000000000..244d09578
Binary files /dev/null and b/tree_view_advanced_filter/static/description/default_icons/Odoo_Support.png differ
diff --git a/tree_view_advanced_filter/static/description/default_icons/aktiv-logo.png b/tree_view_advanced_filter/static/description/default_icons/aktiv-logo.png
new file mode 100644
index 000000000..b80517cc9
Binary files /dev/null and b/tree_view_advanced_filter/static/description/default_icons/aktiv-logo.png differ
diff --git a/tree_view_advanced_filter/static/description/default_icons/arrow.png b/tree_view_advanced_filter/static/description/default_icons/arrow.png
new file mode 100644
index 000000000..4e2533f15
Binary files /dev/null and b/tree_view_advanced_filter/static/description/default_icons/arrow.png differ
diff --git a/tree_view_advanced_filter/static/description/default_icons/check.png b/tree_view_advanced_filter/static/description/default_icons/check.png
new file mode 100644
index 000000000..691a762ae
Binary files /dev/null and b/tree_view_advanced_filter/static/description/default_icons/check.png differ
diff --git a/tree_view_advanced_filter/static/description/icon.png b/tree_view_advanced_filter/static/description/icon.png
new file mode 100644
index 000000000..ed61ff6e7
Binary files /dev/null and b/tree_view_advanced_filter/static/description/icon.png differ
diff --git a/tree_view_advanced_filter/static/description/index.html b/tree_view_advanced_filter/static/description/index.html
new file mode 100644
index 000000000..612d6d7e5
--- /dev/null
+++ b/tree_view_advanced_filter/static/description/index.html
@@ -0,0 +1,542 @@
+
+
+
+
+
+
+
+
+
+
+ Enterprise
+
+
+ Community
+
+
+ Odoo.Sh
+
+
+ Self Hosted
+
+
+
+
+
+
+
+
+
+
+
+
+ Tree View Advanced Search / Direct Filter in List
+
+
+ The module allows you to quickly search records from the list view.
+
+ Unlike the default search functionality of Odoo, this custom app allows user to use dynamic single/multiple
+ search filter on the Tree / List View in all the base and custom Odoo modules. The data will be
+ filtered Runtime.
+ For e.g., if user wants to search single/multiple quotation for customers in the invoice module, he/she can
+ search the single as well as multi customers by their invoice number, invoice creation date, delivery date, customer
+ name, invoice date, source document, sales person, company, due date, tax, total amount, amount
+ due, status, etc.
+ In short, each field/column in the list/tree view will contain an advanced single/multiple filter option to
+ easily access the data anywhere.
+
+
+
+
+
+
+
+
+ Features
+
+
+
+
+
+
+
+
+
Single/multiple search runtime on every tree views with
+ advanced filter option
+
+
+
+
+
+
In Date or Datetime fields, a range
+ selection will be visible
+
+
+
+
+
+
+
+
+
+
User can easily search on text,
+ date/datetime, many2one, integer/float columns
+
+
+
+
+
+
Integer and Float columns will search
+ for the exact value
+
+
+
+
+
+
+
+
+
+
Single/multi Search runtime on every tree views of
+ the relational fields(X2many) with advanced filter option
+
+
+
+
+
+
Apply multiple search filters on single column.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Setup & Configuration
+
+
+
+
+
+ No prerequisites required before installation.
+
+
+
+
Required Apps
+
+
+ Web
+
+
+
+
+
+
+
+ Configuration.
+
+
+
+
+
+
+
+
No configurations.
+
+
+
+
+
+
+
+
+
+
+
+ Screenshots
+
+
+
+
+
+
+
Single/multi search Runtime on Tree Views
+
+
+ After Installing this module, User will see an extra row in every tree view which
+ includes the column filter.
+ User can easily search on text, date/datetime, many2one, integer/float columns.
+
+
+
+
+
+
+
+
+
+
+
Apply multiple search filters on text, many2one, integer/float columns.
+
+
+
+
+
+
+
+
+
+
+
+
+
Filter will not be visible on widgets and
+ non-stored compute columns.
+
+
+
+
+
+
+
+
+
+
+
Single/multi search Runtime on Tree View of relational fields
+ (X2many)
+
+
+
+
+
+
+
+
+
+
Apply multiple search filters on single columns
+
+
+
+
+
+
+
+
+
+
Single/ multi filter can be apply on the
+ folded list view i.e in group by mode.
+
+
+
+
+
+
+
+
+
+
Text and M2O Columns.
+
+
+ It is very easy to search the data in Many2one and Selection fields.
+ The record count and the summation of the column value will also be adjusted based
+ on the data.
+
+
+
+
+
+
+
+
+
+
Integer and Float Columns.
+
+
+ Integer and Float columns will single/multi search for the exact value inputted by the user.
+