fix: attach file from library

Previously, the attach from library only shared file_url, problem is we
need more information such as is_private.

fix: send name instead of file_url on file uploader and use that in
upload_file handler to get more information about the file then attach
that info to newly created file.
This commit is contained in:
Maharshi Patel 2023-10-16 12:26:39 +05:30
parent 125a025235
commit 0439e01ee7
2 changed files with 12 additions and 1 deletions

View file

@ -188,6 +188,14 @@ def upload_file():
optimize = frappe.form_dict.optimize optimize = frappe.form_dict.optimize
content = None content = None
if frappe.form_dict.get("name", False):
doc = frappe.get_value(
"File", frappe.form_dict.name, ["is_private", "file_url", "file_name"], as_dict=True
)
is_private = doc.is_private
file_url = doc.file_url
filename = doc.file_name
if not ignore_permissions: if not ignore_permissions:
check_write_permission(doctype, docname) check_write_permission(doctype, docname)

View file

@ -390,7 +390,7 @@ function upload_via_file_browser() {
} }
close_dialog.value = true; close_dialog.value = true;
return upload_file({ return upload_file({
file_url: selected_file.file_url name: selected_file.value,
}); });
} }
function upload_via_web_link() { function upload_via_web_link() {
@ -518,6 +518,9 @@ function upload_file(file, i) {
if (file.file_name) { if (file.file_name) {
form_data.append('file_name', file.file_name); form_data.append('file_name', file.file_name);
} }
if (file.name) {
form_data.append('name', file.name);
}
if (props.doctype && props.docname) { if (props.doctype && props.docname) {
form_data.append('doctype', props.doctype); form_data.append('doctype', props.doctype);