fix(UX): show perm server messages on file uploader (#21331)

This commit is contained in:
Ankush Menat 2023-06-12 13:53:08 +05:30 committed by GitHub
parent 32f54b6734
commit 98260b3c88
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 15 additions and 1 deletions

View file

@ -97,6 +97,7 @@ def has_permission(
if not perm:
push_perm_check_log(
_("User {0} does not have access to this document").format(frappe.bold(user))
+ f": {_(doc.doctype)} - {doc.name}"
)
else:
if ptype == "submit" and not cint(meta.is_submittable):

View file

@ -473,7 +473,20 @@ function upload_file(file, i) {
} else if (xhr.status === 403) {
file.failed = true;
let response = JSON.parse(xhr.responseText);
file.error_message = `Not permitted. ${response._error_message || ''}`;
file.error_message = `Not permitted. ${response._error_message || ''}.`;
try {
// Append server messages which are useful hint for perm issues
let server_messages = JSON.parse(response._server_messages);
server_messages.forEach((m) => {
m = JSON.parse(m);
file.error_message += `\n ${m.message} `
})
} catch (e) {
console.warning("Failed to parse server message", e)
}
} else if (xhr.status === 413) {
file.failed = true;