From 630d30d89a9152838029bd77365dacf3e1786b6a Mon Sep 17 00:00:00 2001 From: Rushabh Mehta Date: Fri, 29 Sep 2017 12:10:34 +0530 Subject: [PATCH 1/2] [fix] remove filter --- frappe/public/js/frappe/ui/filters/filters.js | 17 ++++++++++++++++- socketio.js | 5 +++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/frappe/public/js/frappe/ui/filters/filters.js b/frappe/public/js/frappe/ui/filters/filters.js index 64b4cd1ed1..fff27edec3 100644 --- a/frappe/public/js/frappe/ui/filters/filters.js +++ b/frappe/public/js/frappe/ui/filters/filters.js @@ -128,6 +128,19 @@ frappe.ui.FilterList = Class.extend({ return filter; }, + remove: function(filter) { + // remove `filter` from flist + for (var i in this.filters) { + if (this.filters[i] === filter) { + break; + } + } + if (i!==undefined) { + // remove index + this.splice(i, 1); + } + }, + filter_exists: function(doctype, fieldname, condition, value) { var flag = false; for(var i in this.filters) { @@ -261,9 +274,11 @@ frappe.ui.Filter = Class.extend({ apply: function() { var f = this.get_value(); - this.flist.filters.pop(); + + this.flist.remove(this); this.flist.push_new_filter(f[0], f[1], f[2], f[3]); this.wrapper.remove(); + this.flist.update_filters(); }, remove: function(dont_run) { diff --git a/socketio.js b/socketio.js index 1261a22f73..13064125be 100644 --- a/socketio.js +++ b/socketio.js @@ -38,6 +38,11 @@ io.on('connection', function(socket) { } // console.log("connection!"); + if (!socket.request.headers.cookie) { + return; + } + + var sid = cookie.parse(socket.request.headers.cookie).sid if(!sid) { return; From 847714b64d3317dcb0b690b69ded3d40d5421479 Mon Sep 17 00:00:00 2001 From: Rushabh Mehta Date: Fri, 29 Sep 2017 12:20:45 +0530 Subject: [PATCH 2/2] [fix] filter bug for refresh --- frappe/public/js/frappe/ui/filters/filters.js | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/frappe/public/js/frappe/ui/filters/filters.js b/frappe/public/js/frappe/ui/filters/filters.js index fff27edec3..4927a17be1 100644 --- a/frappe/public/js/frappe/ui/filters/filters.js +++ b/frappe/public/js/frappe/ui/filters/filters.js @@ -57,6 +57,8 @@ frappe.ui.FilterList = Class.extend({ }, add_filter: function(doctype, fieldname, condition, value, hidden) { + // adds a new filter, returns true if filter has been added + // allow equal to be used as like let base_filter = this.base_list.page.fields_dict[fieldname]; if (base_filter @@ -64,7 +66,8 @@ frappe.ui.FilterList = Class.extend({ || (condition==='=' && base_filter.df.condition==='like'))) { // if filter exists in base_list, then exit this.base_list.page.fields_dict[fieldname].set_input(value); - return; + + return true; } if(doctype && fieldname @@ -75,7 +78,7 @@ frappe.ui.FilterList = Class.extend({ title: 'Invalid Filter', indicator: 'red' }); - return; + return false; } this.wrapper.find('.show_filters').toggle(true); @@ -83,7 +86,7 @@ frappe.ui.FilterList = Class.extend({ if (is_new_filter && this.wrapper.find(".is-new-filter:visible").length) { // only allow 1 new filter at a time! - return; + return false; } var filter = this.push_new_filter(doctype, fieldname, condition, value); @@ -103,7 +106,7 @@ frappe.ui.FilterList = Class.extend({ filter.$btn_group.addClass("hide"); } - return filter; + return true; }, push_new_filter: function(doctype, fieldname, condition, value) { if(this.filter_exists(doctype, fieldname, condition, value)) {