Quellcode durchsuchen

Merge branch 'master' into develop

version-14
mbauskar vor 8 Jahren
Ursprung
Commit
8d6606f70c
5 geänderte Dateien mit 32 neuen und 26 gelöschten Zeilen
  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 Datei anzeigen

@@ -14,7 +14,7 @@ import os, sys, importlib, inspect, json
from .exceptions import * from .exceptions import *
from .utils.jinja import get_jenv, get_template, render_template, get_email_from_template 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" __title__ = "Frappe Framework"


local = Local() local = Local()


+ 1
- 1
frappe/public/js/frappe/form/save.js Datei anzeigen

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


if (frappe.ui.form.is_saving) { 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 // 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); opts.callback && opts.callback(r);
}, },
always: function (r) { always: function (r) {
$(btn).prop("disabled", false);
frappe.ui.form.is_saving = false; frappe.ui.form.is_saving = false;
if (r) { if (r) {
var doc = r.docs && r.docs[0]; var doc = r.docs && r.docs[0];


+ 4
- 4
frappe/public/js/frappe/form/toolbar.js Datei anzeigen

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




+ 3
- 1
frappe/public/js/frappe/request.js Datei anzeigen

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


frappe.request.cleanup = function(opts, r) { frappe.request.cleanup = function(opts, r) {
// stop button indicator // 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"); $("body").attr("data-ajax-state", "complete");




+ 23
- 19
frappe/public/js/legacy/form.js Datei anzeigen

@@ -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) { _f.Frm.prototype._save = function(save_action, callback, btn, on_error, resolve) {
var me = this; var me = this;
if(!save_action) save_action = "Save"; 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) { if((!this.meta.in_dialog || this.in_form) && !this.meta.istable) {
frappe.utils.scroll_to(0); 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.script_manager.trigger("after_save");
me.refresh(); me.refresh();
} else { } else {
if(on_error)
if(on_error) {
on_error(); on_error();
}
} }
callback && callback(r); callback && callback(r);
resolve(); resolve();
@@ -722,23 +723,22 @@ _f.Frm.prototype._save = function(save_action, callback, btn, on_error, resolve)
if(save_action != "Update") { if(save_action != "Update") {
// validate // validate
frappe.validated = true; 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 { } else {
frappe.ui.form.save(me, save_action, after_save, btn); frappe.ui.form.save(me, save_action, after_save, btn);
} }
@@ -757,7 +757,7 @@ _f.Frm.prototype.savesubmit = function(btn, callback, on_error) {
return; return;
} }


me.save('Submit', function(r) {
return me.save('Submit', function(r) {
if(!r.exc) { if(!r.exc) {
frappe.utils.play_sound("submit"); frappe.utils.play_sound("submit");
callback && callback(); callback && callback();
@@ -929,7 +929,7 @@ _f.Frm.prototype.action_perm_type_map = {
"Delete": "delete" "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 perm_to_check = this.action_perm_type_map[action];
var allowed_for_workflow = false; var allowed_for_workflow = false;
var perms = frappe.perm.get_perm(this.doc.doctype)[0]; 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 (!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)])); frappe.throw (__("No permission to '{0}' {1}", [__(action), __(this.doc.doctype)]));
} }
}; };


Laden…
Abbrechen
Speichern