瀏覽代碼

Merge branch 'hotfix'

version-14
mbauskar 8 年之前
父節點
當前提交
5aceb1683c
共有 5 個檔案被更改,包括 32 行新增26 行删除
  1. +1
    -1
      frappe/__init__.py
  2. +1
    -1
      frappe/public/js/frappe/form/save.js
  3. +4
    -4
      frappe/public/js/frappe/form/toolbar.js
  4. +3
    -1
      frappe/public/js/frappe/request.js
  5. +23
    -19
      frappe/public/js/legacy/form.js

+ 1
- 1
frappe/__init__.py 查看文件

@@ -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.4.0'
__version__ = '8.4.1'
__title__ = "Frappe Framework"

local = Local()


+ 1
- 1
frappe/public/js/frappe/form/save.js 查看文件

@@ -168,7 +168,6 @@ frappe.ui.form.save = function (frm, action, callback, btn) {
// callback: callback,
// btn: btn
// }
$(opts.btn).prop("disabled", true);

if (frappe.ui.form.is_saving) {
// this is likely to happen if the user presses the shortcut cmd+s for a longer duration or uses double click
@@ -190,6 +189,7 @@ frappe.ui.form.save = function (frm, action, callback, btn) {
opts.callback && opts.callback(r);
},
always: function (r) {
$(btn).prop("disabled", false);
frappe.ui.form.is_saving = false;
if (r) {
var doc = r.docs && r.docs[0];


+ 4
- 4
frappe/public/js/frappe/form/toolbar.js 查看文件

@@ -290,16 +290,16 @@ frappe.ui.form.Toolbar = Class.extend({
} else {
var click = {
"Save": function() {
me.frm.save('Save', null, this);
return me.frm.save('Save', null, this);
},
"Submit": function() {
me.frm.savesubmit(this);
return me.frm.savesubmit(this);
},
"Update": function() {
me.frm.save('Update', null, this);
return me.frm.save('Update', null, this);
},
"Amend": function() {
me.frm.amend_doc();
return me.frm.amend_doc();
}
}[status];



+ 3
- 1
frappe/public/js/frappe/request.js 查看文件

@@ -239,7 +239,9 @@ frappe.request.prepare = function(opts) {

frappe.request.cleanup = function(opts, r) {
// stop button indicator
if(opts.btn) $(opts.btn).prop("disabled", false);
if(opts.btn) {
$(opts.btn).prop("disabled", false);
}

$("body").attr("data-ajax-state", "complete");



+ 23
- 19
frappe/public/js/legacy/form.js 查看文件

@@ -698,7 +698,7 @@ _f.Frm.prototype.save = function(save_action, callback, btn, on_error) {
_f.Frm.prototype._save = function(save_action, callback, btn, on_error, resolve) {
var me = this;
if(!save_action) save_action = "Save";
this.validate_form_action(save_action);
this.validate_form_action(save_action, resolve);

if((!this.meta.in_dialog || this.in_form) && !this.meta.istable) {
frappe.utils.scroll_to(0);
@@ -712,8 +712,9 @@ _f.Frm.prototype._save = function(save_action, callback, btn, on_error, resolve)
me.script_manager.trigger("after_save");
me.refresh();
} else {
if(on_error)
if(on_error) {
on_error();
}
}
callback && callback(r);
resolve();
@@ -722,23 +723,22 @@ _f.Frm.prototype._save = function(save_action, callback, btn, on_error, resolve)
if(save_action != "Update") {
// validate
frappe.validated = true;
Promise.all([
this.script_manager.trigger("validate"),
this.script_manager.trigger("before_save")
]).then(() => {
// done is called after all ajaxes in validate & before_save are completed :)

if(!frappe.validated) {
btn && $(btn).prop("disabled", false);
if(on_error) {
on_error();
frappe.run_serially([
() => this.script_manager.trigger("validate"),
() => this.script_manager.trigger("before_save"),
() => {
if(!frappe.validated) {
btn && $(btn).prop("disabled", false);
if(on_error) {
on_error();
}
resolve();
return;
}
resolve();
return;
}

frappe.ui.form.save(me, save_action, after_save, btn);
});
frappe.ui.form.save(me, save_action, after_save, btn);
}
]);
} else {
frappe.ui.form.save(me, save_action, after_save, btn);
}
@@ -757,7 +757,7 @@ _f.Frm.prototype.savesubmit = function(btn, callback, on_error) {
return;
}

me.save('Submit', function(r) {
return me.save('Submit', function(r) {
if(!r.exc) {
frappe.utils.play_sound("submit");
callback && callback();
@@ -929,7 +929,7 @@ _f.Frm.prototype.action_perm_type_map = {
"Delete": "delete"
};

_f.Frm.prototype.validate_form_action = function(action) {
_f.Frm.prototype.validate_form_action = function(action, resolve) {
var perm_to_check = this.action_perm_type_map[action];
var allowed_for_workflow = false;
var perms = frappe.perm.get_perm(this.doc.doctype)[0];
@@ -943,6 +943,10 @@ _f.Frm.prototype.validate_form_action = function(action) {
}

if (!this.perm[0][perm_to_check] && !allowed_for_workflow) {
if(resolve) {
// re-enable buttons
resolve();
}
frappe.throw (__("No permission to '{0}' {1}", [__(action), __(this.doc.doctype)]));
}
};


Loading…
取消
儲存