diff --git a/frappe/core/doctype/doctype/doctype.py b/frappe/core/doctype/doctype/doctype.py
index 1b52f76dd4..7fe06afab7 100644
--- a/frappe/core/doctype/doctype/doctype.py
+++ b/frappe/core/doctype/doctype/doctype.py
@@ -173,7 +173,6 @@ class DocType(Document):
if not (self.istable or self.issingle):
make_boilerplate("test_controller.py", self)
- make_boilerplate("test_records.json", self)
def make_amendable(self):
"""If is_submittable is set, add amended_from docfields."""
diff --git a/frappe/public/js/frappe/ui/filters/edit_filter.html b/frappe/public/js/frappe/ui/filters/edit_filter.html
index 7de0490d7e..4991115c7f 100644
--- a/frappe/public/js/frappe/ui/filters/edit_filter.html
+++ b/frappe/public/js/frappe/ui/filters/edit_filter.html
@@ -6,6 +6,7 @@
+
diff --git a/frappe/public/js/frappe/ui/filters/filters.js b/frappe/public/js/frappe/ui/filters/filters.js
index a011bf9968..9612324142 100644
--- a/frappe/public/js/frappe/ui/filters/filters.js
+++ b/frappe/public/js/frappe/ui/filters/filters.js
@@ -145,13 +145,13 @@ frappe.ui.Filter = Class.extend({
// add help for "in" codition
me.$w.find('.condition').change(function() {
var condition = $(this).val();
- if(in_list(["in", "like"], condition)) {
+ if(in_list(["in", "like", "not in"], condition)) {
me.set_field(me.field.df.parent, me.field.df.fieldname, 'Data', condition);
if(!me.field.desc_area) {
me.field.desc_area = $('
').appendTo(me.field.wrapper);
}
// set description
- me.field.desc_area.html((condition==="in"
+ me.field.desc_area.html((in_list(["in", "not in"], condition)==="in"
? __("values separated by commas")
: __("use % as wildcard"))+'
');
} else {
@@ -310,7 +310,9 @@ frappe.ui.Filter = Class.extend({
if ((val.length === 0) || (val.lastIndexOf("%") !== (val.length - 1))) {
val = (val || "") + '%';
}
- } else if(val === '%') val = "";
+ } else if(in_list(["in", "not in"], this.get_condition())) {
+ val = $.map(val.split(","), function(v) { return strip(v); });
+ } if(val === '%') val = "";
return val;
},
diff --git a/frappe/public/js/frappe/ui/tags.js b/frappe/public/js/frappe/ui/tags.js
index fe94207168..5bb77b224a 100644
--- a/frappe/public/js/frappe/ui/tags.js
+++ b/frappe/public/js/frappe/ui/tags.js
@@ -70,15 +70,21 @@ frappe.ui.TagEditor = Class.extend({
return;
me.refreshing = true;
- me.$tags.tagit("removeAll");
+ try {
+ me.$tags.tagit("removeAll");
- if(!user_tags && this.frm)
- user_tags = frappe.model.get_value(this.frm.doctype, this.frm.docname, "_user_tags");
+ if(!user_tags && this.frm)
+ user_tags = frappe.model.get_value(this.frm.doctype, this.frm.docname, "_user_tags");
- if(user_tags) {
- $.each(user_tags.split(','), function(i, v) {
- me.$tags.tagit("createTag", v);
- });
+ if(user_tags) {
+ $.each(user_tags.split(','), function(i, v) {
+ me.$tags.tagit("createTag", v);
+ });
+ }
+ } catch(e) {
+ me.refreshing = false;
+ // wtf bug
+ setTimeout( function() { me.refresh(); }, 100);
}
me.refreshing = false;