diff --git a/date_range/README.rst b/date_range/README.rst index 60bb0cf..f0aaaa7 100644 --- a/date_range/README.rst +++ b/date_range/README.rst @@ -63,7 +63,7 @@ To configure this module, you need to: .. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas :alt: Try me on Runbot - :target: https://runbot.odoo-community.org/runbot/149/11.0 + :target: https://runbot.odoo-community.org/runbot/250/11.0 Known issues / Roadmap @@ -75,7 +75,7 @@ Bug Tracker =========== Bugs are tracked on `GitHub Issues -`_. In case of trouble, please +`_. 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 feedback. diff --git a/date_range/__init__.py b/date_range/__init__.py index dcac9c0..faa4535 100644 --- a/date_range/__init__.py +++ b/date_range/__init__.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # © 2016 ACSONE SA/NV () # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). diff --git a/date_range/__manifest__.py b/date_range/__manifest__.py index b2ac4f9..89d6b2b 100644 --- a/date_range/__manifest__.py +++ b/date_range/__manifest__.py @@ -1,12 +1,11 @@ -# -*- coding: utf-8 -*- # © 2016 ACSONE SA/NV () # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). { "name": "Date Range", "summary": "Manage all kind of date range", - "version": "11.0.1.0.0", + "version": "11.0.1.0.1", "category": "Uncategorized", - "website": "https://odoo-community.org/", + "website": "https://github.com/oca/server-ux", "author": "ACSONE SA/NV, Odoo Community Association (OCA)", "license": "AGPL-3", "application": False, diff --git a/date_range/models/__init__.py b/date_range/models/__init__.py index feae177..2464998 100644 --- a/date_range/models/__init__.py +++ b/date_range/models/__init__.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # © 2016 ACSONE SA/NV () # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). diff --git a/date_range/models/date_range.py b/date_range/models/date_range.py index 92ba83f..d0c609b 100644 --- a/date_range/models/date_range.py +++ b/date_range/models/date_range.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # © 2016 ACSONE SA/NV () # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). diff --git a/date_range/models/date_range_type.py b/date_range/models/date_range_type.py index bff6e4f..d8414cf 100644 --- a/date_range/models/date_range_type.py +++ b/date_range/models/date_range_type.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # © 2016 ACSONE SA/NV () # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). diff --git a/date_range/static/src/js/date_range.js b/date_range/static/src/js/date_range.js index 5535e6a..7775f55 100644 --- a/date_range/static/src/js/date_range.js +++ b/date_range/static/src/js/date_range.js @@ -3,26 +3,25 @@ odoo.define('date_range.search_filters', function (require) { "use strict"; -var core = require('web.core'); +var core = require('web.core'); var data = require('web.data'); var filters = require('web.search_filters'); -var Model = require('web.Model'); +var rpc = require('web.rpc'); var framework = require('web.framework'); var _t = core._t; -var _lt = core._lt; filters.ExtendedSearchProposition.include({ select_field: function(field) { this._super.apply(this, arguments); this.is_date_range_selected = false; - this.is_date = field.type == 'date' || field.type == 'datetime'; + this.is_date = field.type === 'date' || field.type === 'datetime'; this.$value = this.$el.find('.searchview_extended_prop_value, .o_searchview_extended_prop_value'); if (this.is_date){ var ds = new data.DataSetSearch(this, 'date.range.type', this.context, [[1, '=', 1]]); ds.read_slice(['name'], {}).done(this.proxy('add_date_range_types_operator')); } }, - + add_date_range_types_operator: function(date_range_types){ var self = this; _.each(date_range_types, function(drt) { @@ -31,10 +30,10 @@ filters.ExtendedSearchProposition.include({ .appendTo(self.$el.find('.searchview_extended_prop_op, .o_searchview_extended_prop_op')); }); }, - + operator_changed: function (e) { var val = $(e.target).val(); - this.is_date_range_selected = val.startsWith('drt_'); + this.is_date_range_selected = val.startsWith('drt_'); if (this.is_date_range_selected){ var type_id = val.replace('drt_', ''); this.date_range_type_operator_selected(type_id); @@ -47,18 +46,18 @@ filters.ExtendedSearchProposition.include({ this.$value.empty().show(); var ds = new data.DataSetSearch(this, 'date.range', this.context, [['type_id', '=', parseInt(type_id)]]); ds.read_slice(['name','date_start', 'date_end'], {}).done(this.proxy('on_range_type_selected')); - + }, - + on_range_type_selected: function(date_range_values){ this.value = new filters.ExtendedSearchProposition.DateRange(this, this.value.field, date_range_values); this.value.appendTo(this.$value); if (!this.$el.hasClass('o_filter_condition')){ - this.$value.find('.date-range-select').addClass('form-control'); + this.$value.find('.date-range-select').addClass('form-control'); } this.value.on_range_selected(); }, - + get_filter: function () { var res = this._super.apply(this, arguments); if (this.is_date_range_selected){ @@ -68,15 +67,22 @@ filters.ExtendedSearchProposition.include({ } return res; }, - + }); -filters.ExtendedSearchProposition.DateRange = filters.ExtendedSearchProposition.Field.extend({ +/** +Since Odoo 11, The Field class used as base class for all specialized filter +widgets is no more exposed by 'web.search_filters'. To create our own class we +extend the more simple class available into the search_filters_registry as base +class +*/ + +filters.ExtendedSearchProposition.DateRange = core.search_filters_registry.get('id').extend({ template: 'SearchView.extended_search.dateRange.selection', events: { 'change': 'on_range_selected', }, - + init: function (parent, field, date_range_values) { this._super(parent, field); this.date_range_values = date_range_values; @@ -87,31 +93,33 @@ filters.ExtendedSearchProposition.DateRange = filters.ExtendedSearchProposition. var option = select.options[select.selectedIndex]; return option.label || option.text; }, - + get_value: function() { return parseInt(this.$el.val()); }, - + on_range_selected: function(e){ var self = this; self.domain = ''; framework.blockUI(); - new Model("date.range") - .call("get_domain", [ - [this.get_value()], - this.field.name, - {} - ]) - .then(function (domain) { - framework.unblockUI(); - self.domain = domain; - }); + return rpc.query({ + args: [this.get_value()], + kwargs: { + field_name: this.field.name + }, + model: 'date.range', + method: 'get_domain', + }) + .then(function (domain) { + framework.unblockUI(); + self.domain = domain; + }); }, - + get_domain: function (field, operator) { return this.domain; }, }); -}); \ No newline at end of file +}); diff --git a/date_range/tests/__init__.py b/date_range/tests/__init__.py index d4e3ce6..974619e 100644 --- a/date_range/tests/__init__.py +++ b/date_range/tests/__init__.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # © 2016 ACSONE SA/NV () # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). diff --git a/date_range/tests/test_date_range.py b/date_range/tests/test_date_range.py index c84b6c1..5431476 100644 --- a/date_range/tests/test_date_range.py +++ b/date_range/tests/test_date_range.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # © 2016 ACSONE SA/NV () # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) diff --git a/date_range/tests/test_date_range_generator.py b/date_range/tests/test_date_range_generator.py index 1c47c9d..04f7318 100644 --- a/date_range/tests/test_date_range_generator.py +++ b/date_range/tests/test_date_range_generator.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # © 2016 ACSONE SA/NV () # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl)nses/agpl). diff --git a/date_range/tests/test_date_range_type.py b/date_range/tests/test_date_range_type.py index 0816267..7a612e7 100644 --- a/date_range/tests/test_date_range_type.py +++ b/date_range/tests/test_date_range_type.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # © 2016 ACSONE SA/NV () # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) diff --git a/date_range/wizard/__init__.py b/date_range/wizard/__init__.py index 2b52501..c9d4472 100644 --- a/date_range/wizard/__init__.py +++ b/date_range/wizard/__init__.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # © 2016 ACSONE SA/NV () # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). diff --git a/date_range/wizard/date_range_generator.py b/date_range/wizard/date_range_generator.py index 2b61075..b4d3045 100644 --- a/date_range/wizard/date_range_generator.py +++ b/date_range/wizard/date_range_generator.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # © 2016 ACSONE SA/NV () # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). diff --git a/date_range/wizard/date_range_generator.xml b/date_range/wizard/date_range_generator.xml index 7355115..df1b06f 100644 --- a/date_range/wizard/date_range_generator.xml +++ b/date_range/wizard/date_range_generator.xml @@ -4,7 +4,7 @@ date.range.generator.form date.range.generator -
+