diff --git a/cypress/integration/file_uploader.js b/cypress/integration/file_uploader.js index 252b768dd7..e1e232c058 100644 --- a/cypress/integration/file_uploader.js +++ b/cypress/integration/file_uploader.js @@ -63,11 +63,11 @@ context('FileUploader', () => { }); cy.get_open_dialog().find('.file-name').should('contain', 'sample_image.jpg'); - cy.get_open_dialog().find(':nth-child(1) > .file-actions > .file-action-buttons > :nth-child(1)').first().click(); + cy.get_open_dialog().find('.btn-crop').first().click(); cy.get_open_dialog().find('.image-cropper-actions > .btn-primary').should('contain', 'Crop'); cy.get_open_dialog().find('.image-cropper-actions > .btn-primary').click(); - cy.get_open_dialog().find(':nth-child(1) > :nth-child(2) > .optimize-checkbox').first().should('contain', 'Optimize'); - cy.get_open_dialog().find(':nth-child(1) > :nth-child(2) > .optimize-checkbox').first().click(); + cy.get_open_dialog().find('.optimize-checkbox').first().should('contain', 'Optimize'); + cy.get_open_dialog().find('.optimize-checkbox').first().click(); cy.intercept('POST', '/api/method/upload_file').as('upload_file'); cy.get_open_dialog().find('.btn-modal-primary').click(); diff --git a/frappe/handler.py b/frappe/handler.py index abbcb02cde..7a6a730345 100755 --- a/frappe/handler.py +++ b/frappe/handler.py @@ -157,7 +157,15 @@ def upload_file(): content_type = guess_type(filename)[0] if optimize and content_type.startswith("image/"): - content = optimize_image(content, content_type) + args = { + "content": content, + "content_type": content_type + } + if frappe.form_dict.max_width: + args["max_width"] = int(frappe.form_dict.max_width) + if frappe.form_dict.max_height: + args["max_height"] = int(frappe.form_dict.max_height) + content = optimize_image(**args) frappe.local.uploaded_file = content frappe.local.uploaded_filename = filename diff --git a/frappe/public/js/frappe/file_uploader/FilePreview.vue b/frappe/public/js/frappe/file_uploader/FilePreview.vue index 892ebcaefa..43dbacb17d 100644 --- a/frappe/public/js/frappe/file_uploader/FilePreview.vue +++ b/frappe/public/js/frappe/file_uploader/FilePreview.vue @@ -42,7 +42,7 @@
diff --git a/frappe/public/js/frappe/file_uploader/FileUploader.vue b/frappe/public/js/frappe/file_uploader/FileUploader.vue index 6ff472cb50..1a377e8b00 100644 --- a/frappe/public/js/frappe/file_uploader/FileUploader.vue +++ b/frappe/public/js/frappe/file_uploader/FileUploader.vue @@ -218,11 +218,6 @@ export default { } }); } - if(this.attach_doc_image) { - this.allow_web_link = false; - this.allow_take_photo = false; - this.google_drive_settings.enabled = false; - } }, watch: { files(newvalue, oldvalue) { @@ -486,6 +481,11 @@ export default { form_data.append('optimize', true); } + if (this.attach_doc_image) { + form_data.append('max_width', 200); + form_data.append('max_height', 200); + } + xhr.send(form_data); }); }, diff --git a/frappe/public/js/frappe/file_uploader/index.js b/frappe/public/js/frappe/file_uploader/index.js index 73b334116f..44b1fd6c39 100644 --- a/frappe/public/js/frappe/file_uploader/index.js +++ b/frappe/public/js/frappe/file_uploader/index.js @@ -28,9 +28,7 @@ export default class FileUploader { } if (attach_doc_image) { - disable_file_browser = true; restrictions.allowed_file_types = ['.jpg', '.png']; - this.dialog && this.dialog.footer.addClass('hide'); } this.$fileuploader = new Vue({