diff --git a/frappe/handler.py b/frappe/handler.py index 1ce530769d..8d0c18a00b 100755 --- a/frappe/handler.py +++ b/frappe/handler.py @@ -144,7 +144,7 @@ def upload_file(): file_url = frappe.form_dict.file_url folder = frappe.form_dict.folder or 'Home' method = frappe.form_dict.method - filename = frappe.form_dict.get('file_name') + filename = frappe.form_dict.file_name content = None if 'file' in files: @@ -155,7 +155,7 @@ def upload_file(): frappe.local.uploaded_file = content frappe.local.uploaded_filename = filename - if (frappe.session.user == 'Guest' or (user and not user.has_desk_access())) and not file_url: + if not file_url and (frappe.session.user == "Guest" or (user and not user.has_desk_access())): import mimetypes filetype = mimetypes.guess_type(filename)[0] if filetype not in ALLOWED_MIMETYPES: diff --git a/frappe/integrations/doctype/google_settings/google_settings.py b/frappe/integrations/doctype/google_settings/google_settings.py index aa17c19b3e..db65abdb65 100644 --- a/frappe/integrations/doctype/google_settings/google_settings.py +++ b/frappe/integrations/doctype/google_settings/google_settings.py @@ -12,19 +12,16 @@ def get_auth_url(): return "https://www.googleapis.com/oauth2/v4/token" -@frappe.whitelist(allow_guest=True) +@frappe.whitelist() def get_file_picker_settings(): """Return all the data FileUploader needs to start the Google Drive Picker.""" - if frappe.session.user == 'Guest': - return {'enabled': False} - google_settings = frappe.get_single("Google Settings") if not (google_settings.enable and google_settings.google_drive_picker_enabled): - return {'enabled': False} + return {} return { - 'enabled': True, - 'appId': google_settings.app_id, - 'developerKey': google_settings.api_key, - 'clientId': google_settings.client_id + "enabled": True, + "appId": google_settings.app_id, + "developerKey": google_settings.api_key, + "clientId": google_settings.client_id } diff --git a/frappe/public/js/frappe/file_uploader/FileUploader.vue b/frappe/public/js/frappe/file_uploader/FileUploader.vue index 75197c2622..06f9275711 100644 --- a/frappe/public/js/frappe/file_uploader/FileUploader.vue +++ b/frappe/public/js/frappe/file_uploader/FileUploader.vue @@ -181,17 +181,24 @@ export default { show_file_browser: false, show_web_link: false, allow_take_photo: false, - google_drive_settings: {} + google_drive_settings: { + enabled: false + } } }, created() { this.allow_take_photo = window.navigator.mediaDevices; - frappe.call({ - method: "frappe.integrations.doctype.google_settings.google_settings.get_file_picker_settings", - callback: (resp) => { - this.google_drive_settings = resp.message; - } - }); + if (frappe.user_id !== "Guest") { + frappe.call({ + // method only available after login + method: "frappe.integrations.doctype.google_settings.google_settings.get_file_picker_settings", + callback: (resp) => { + if (!resp.exc) { + this.google_drive_settings = resp.message; + } + } + }); + } }, watch: { files(newvalue, oldvalue) {