Browse Source

duplicate filters entry resolved

version-14
Zlash65 7 years ago
parent
commit
d7a41cc74a
1 changed files with 26 additions and 9 deletions
  1. +26
    -9
      frappe/public/js/frappe/ui/filters/filters.js

+ 26
- 9
frappe/public/js/frappe/ui/filters/filters.js View File

@@ -133,7 +133,9 @@ frappe.ui.FilterList = Class.extend({
for(var i in this.filters) { for(var i in this.filters) {
if(this.filters[i].field) { if(this.filters[i].field) {
var f = this.filters[i].get_value(); var f = this.filters[i].get_value();
if(f[0]==doctype && f[1]==fieldname && f[2]==condition && f[3]==value) {
var val = this.get_correct_value(this.filters[i].field, f[3]);

if(f[0]==doctype && f[1]==fieldname && f[2]==condition && val==value) {
flag = true; flag = true;
} else if($.isArray(value) && frappe.utils.arrays_equal(value, f[3])) { } else if($.isArray(value) && frappe.utils.arrays_equal(value, f[3])) {
flag = true; flag = true;
@@ -174,6 +176,19 @@ frappe.ui.FilterList = Class.extend({
if(this.filters[i].field && this.filters[i].field.df.fieldname==fieldname) if(this.filters[i].field && this.filters[i].field.df.fieldname==fieldname)
return this.filters[i]; return this.filters[i];
} }
},

get_correct_value: function(field, val){
var value = val;

if(field.df.fieldname==="docstatus") {
value = {0:"Draft", 1:"Submitted", 2:"Cancelled"}[value] || value;
} else if(field.df.original_type==="Check") {
value = {0:"No", 1:"Yes"}[cint(value)];
}

value = frappe.format(value, field.df, {only_value: 1});
return value;
} }
}); });


@@ -214,6 +229,7 @@ frappe.ui.Filter = Class.extend({
this.wrapper.find(".set-filter-and-run").on("click", function() { this.wrapper.find(".set-filter-and-run").on("click", function() {
me.wrapper.removeClass("is-new-filter"); me.wrapper.removeClass("is-new-filter");
me.flist.base_list.run(); me.flist.base_list.run();
me.apply();
}); });


// add help for "in" codition // add help for "in" codition
@@ -244,6 +260,14 @@ frappe.ui.Filter = Class.extend({
} }
}, },


apply: function() {
var f = this.get_value();
this.flist.filters.pop();
var val = this.flist.get_correct_value(this.field, f[3]);
this.flist.push_new_filter(f[0], f[1], f[2], val);
this.wrapper.remove();
},

remove: function(dont_run) { remove: function(dont_run) {
this.wrapper.remove(); this.wrapper.remove();
this.$btn_group && this.$btn_group.remove(); this.$btn_group && this.$btn_group.remove();
@@ -467,14 +491,7 @@ frappe.ui.Filter = Class.extend({


set_filter_button_text: function() { set_filter_button_text: function() {
var value = this.get_selected_value(); var value = this.get_selected_value();

if(this.field.df.fieldname==="docstatus") {
value = {0:"Draft", 1:"Submitted", 2:"Cancelled"}[value] || value;
} else if(this.field.df.original_type==="Check") {
value = {0:"No", 1:"Yes"}[cint(value)];
}

value = frappe.format(value, this.field.df, {only_value: 1});
value = this.flist.get_correct_value(this.field, value);


// for translations // for translations
// __("like"), __("not like"), __("in") // __("like"), __("not like"), __("in")


Loading…
Cancel
Save