diff --git a/frappe/public/js/frappe/form/footer/attachments.js b/frappe/public/js/frappe/form/footer/attachments.js index 9aeabaad22..9fef9e5436 100644 --- a/frappe/public/js/frappe/form/footer/attachments.js +++ b/frappe/public/js/frappe/form/footer/attachments.js @@ -228,13 +228,14 @@ frappe.ui.get_upload_dialog = function(opts){ 'method': 'frappe.client.get_value', 'args': { 'doctype': 'File', - 'fieldname': 'file_url', + 'fieldname': ['file_url','filename'], 'filters': { 'name': dialog.get_value("file") } }, callback: function(r){ dialog.$wrapper.find('[name="file_url"]').val(r.message.file_url); + opts.args.filename = r.message.file_name } }); }); diff --git a/frappe/utils/file_manager.py b/frappe/utils/file_manager.py index 63997aa9da..f3b36f1eb8 100644 --- a/frappe/utils/file_manager.py +++ b/frappe/utils/file_manager.py @@ -32,10 +32,10 @@ def upload(): raise_exception=True) # save - if filename: + if frappe.form_dict.filedata: filedata = save_uploaded(dt, dn, folder, is_private) elif file_url: - filedata = save_url(file_url, dt, dn, folder) + filedata = save_url(file_url, filename, dt, dn, folder) comment = {} if dt and dn: @@ -60,7 +60,7 @@ def save_uploaded(dt, dn, folder, is_private): else: raise Exception -def save_url(file_url, dt, dn, folder): +def save_url(file_url, filename, dt, dn, folder): # if not (file_url.startswith("http://") or file_url.startswith("https://")): # frappe.msgprint("URL must start with 'http://' or 'https://'") # return None, None @@ -70,6 +70,7 @@ def save_url(file_url, dt, dn, folder): f = frappe.get_doc({ "doctype": "File", "file_url": file_url, + "fieldname": filename, "attached_to_doctype": dt, "attached_to_name": dn, "folder": folder