Merge branch 'hotfix'

This commit is contained in:
mbauskar 2017-08-02 18:08:03 +05:30
commit 01b75bf1c1
5 changed files with 59 additions and 16 deletions

View file

@ -14,7 +14,7 @@ import os, sys, importlib, inspect, json
from .exceptions import *
from .utils.jinja import get_jenv, get_template, render_template, get_email_from_template
__version__ = '8.6.4'
__version__ = '8.6.5'
__title__ = "Frappe Framework"
local = Local()

View file

@ -0,0 +1,31 @@
// try and delete a standard row, it should fail
QUnit.module('Customize Form');
QUnit.test("test customize form", function(assert) {
assert.expect(2);
let done = assert.async();
frappe.run_serially([
() => frappe.set_route('Form', 'Customize Form'),
() => cur_frm.set_value('doc_type', 'ToDo'),
() => frappe.timeout(2),
() => assert.equal(cur_frm.doc.fields[1].fieldname, 'status'),
// open "status" row
() => cur_frm.fields_dict.fields.grid.grid_rows[1].toggle_view(),
() => frappe.timeout(0.5),
// try deleting it
() => $('.grid-delete-row:visible').click(),
() => frappe.timeout(0.5),
() => frappe.hide_msgprint(),
() => frappe.timeout(0.5),
// status still exists
() => assert.equal(cur_frm.doc.fields[1].fieldname, 'status'),
() => done()
]);
});

View file

@ -68,15 +68,22 @@ frappe.ui.form.GridRow = Class.extend({
this.hide_form();
}
this.frm.script_manager.trigger("before_" + this.grid.df.fieldname + "_remove",
this.doc.doctype, this.doc.name);
frappe.run_serially([
() => {
return this.frm.script_manager.trigger("before_" + this.grid.df.fieldname + "_remove",
this.doc.doctype, this.doc.name);
},
() => {
frappe.model.clear_doc(this.doc.doctype, this.doc.name);
//this.wrapper.toggle(false);
frappe.model.clear_doc(this.doc.doctype, this.doc.name);
this.frm.script_manager.trigger(this.grid.df.fieldname + "_remove",
this.doc.doctype, this.doc.name);
this.frm.dirty();
this.frm.script_manager.trigger(this.grid.df.fieldname + "_remove",
this.doc.doctype, this.doc.name);
this.frm.dirty();
}
]).catch((e) => {
// aborted
console.trace(e); // eslint-disable-line
});
} else {
this.grid.df.data = this.grid.df.data.filter(function(d) {
return d.name !== me.doc.name;

View file

@ -720,6 +720,14 @@ _f.Frm.prototype._save = function(save_action, callback, btn, on_error, resolve)
resolve();
};
var fail = () => {
btn && $(btn).prop("disabled", false);
if(on_error) {
on_error();
}
resolve();
};
if(save_action != "Update") {
// validate
frappe.validated = true;
@ -728,17 +736,13 @@ _f.Frm.prototype._save = function(save_action, callback, btn, on_error, resolve)
() => this.script_manager.trigger("before_save"),
() => {
if(!frappe.validated) {
btn && $(btn).prop("disabled", false);
if(on_error) {
on_error();
}
resolve();
fail();
return;
}
frappe.ui.form.save(me, save_action, after_save, btn);
}
]);
]).catch(fail);
} else {
frappe.ui.form.save(me, save_action, after_save, btn);
}

View file

@ -3,4 +3,5 @@ frappe/tests/ui/test_list/test_list_filter.js
frappe/tests/ui/test_list/test_list_paging.js
frappe/tests/ui/test_module_view.js
frappe/tests/ui/test_calendar_view.js
frappe/tests/ui/test_linked_with.js
frappe/tests/ui/test_linked_with.js
frappe/custom/doctype/customize_form/test_customize_form.js