summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--addons/web/static/src/js/views/calendar/calendar_model.js4
-rw-r--r--addons/web/static/tests/views/calendar_tests.js22
2 files changed, 24 insertions, 2 deletions
diff --git a/addons/web/static/src/js/views/calendar/calendar_model.js b/addons/web/static/src/js/views/calendar/calendar_model.js
index 240beb9f1dc..63a35171a30 100644
--- a/addons/web/static/src/js/views/calendar/calendar_model.js
+++ b/addons/web/static/src/js/views/calendar/calendar_model.js
@@ -373,7 +373,9 @@ return AbstractModel.extend({
domain.push([field, 'in', authorizedValues[field]]);
}
for (var field in avoidValues) {
- domain.push([field, 'not in', avoidValues[field]]);
+ if (avoidValues[field].length > 0) {
+ domain.push([field, 'not in', avoidValues[field]]);
+ }
}
return domain;
diff --git a/addons/web/static/tests/views/calendar_tests.js b/addons/web/static/tests/views/calendar_tests.js
index f24039f2d8d..f1356558a23 100644
--- a/addons/web/static/tests/views/calendar_tests.js
+++ b/addons/web/static/tests/views/calendar_tests.js
@@ -1208,7 +1208,20 @@ QUnit.module('Views', {
});
QUnit.test('"all" filter', function (assert) {
- assert.expect(3);
+ assert.expect(6);
+
+ var interval = [
+ ["start", "<=", "2016-12-17 23:59:59"],
+ ["stop", ">=", "2016-12-11 00:00:00"],
+ ];
+
+ var domains = [
+ interval.concat([["partner_ids", "in", [2,1]]]),
+ interval.concat([["partner_ids", "in", [1]]]),
+ interval,
+ ];
+
+ var i = 0;
var calendar = createView({
View: CalendarView,
@@ -1230,6 +1243,13 @@ QUnit.module('Views', {
viewOptions: {
initialDate: initialDate,
},
+ mockRPC: function (route, args) {
+ if (args.method === 'search_read' && args.model === 'event') {
+ assert.deepEqual(args.kwargs.domain, domains[i]);
+ i++;
+ }
+ return this._super.apply(this, arguments);
+ },
});
assert.strictEqual(calendar.$('.fc-event').length, 9,