From 0439e01ee7ef0df420cf990b8fe3f22c88d890f8 Mon Sep 17 00:00:00 2001 From: Maharshi Patel Date: Mon, 16 Oct 2023 12:26:39 +0530 Subject: [PATCH] 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. --- frappe/handler.py | 8 ++++++++ frappe/public/js/frappe/file_uploader/FileUploader.vue | 5 ++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/frappe/handler.py b/frappe/handler.py index c6e7d79878..07a3c8d1e3 100644 --- a/frappe/handler.py +++ b/frappe/handler.py @@ -188,6 +188,14 @@ def upload_file(): optimize = frappe.form_dict.optimize 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: check_write_permission(doctype, docname) diff --git a/frappe/public/js/frappe/file_uploader/FileUploader.vue b/frappe/public/js/frappe/file_uploader/FileUploader.vue index 1df4d93aa2..6c6e69d165 100644 --- a/frappe/public/js/frappe/file_uploader/FileUploader.vue +++ b/frappe/public/js/frappe/file_uploader/FileUploader.vue @@ -390,7 +390,7 @@ function upload_via_file_browser() { } close_dialog.value = true; return upload_file({ - file_url: selected_file.file_url + name: selected_file.value, }); } function upload_via_web_link() { @@ -518,6 +518,9 @@ function upload_file(file, i) { if (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) { form_data.append('doctype', props.doctype);