From d73c86b872008fb7507099440c2a14933c3be984 Mon Sep 17 00:00:00 2001 From: Bilal Date: Tue, 28 Jul 2020 03:11:44 +0200 Subject: [PATCH] fix bug with directory files upload --- app/assets/javascripts/directory_files_input.js | 9 +++++++++ app/views/directories/_file_form.html.erb | 2 +- spec/features/user_manages_project_directories_spec.rb | 7 +++++++ 3 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 app/assets/javascripts/directory_files_input.js diff --git a/app/assets/javascripts/directory_files_input.js b/app/assets/javascripts/directory_files_input.js new file mode 100644 index 0000000..728efc3 --- /dev/null +++ b/app/assets/javascripts/directory_files_input.js @@ -0,0 +1,9 @@ +$(document).on("turbolinks:load", function() { + $("#upload_directory_files").on('click', function(e){ + const newFilesCount = $('input[name = "directory[files][]"][type = "hidden"]').length; + + if (newFilesCount === 0){ + e.preventDefault(); + } + }); +}); \ No newline at end of file diff --git a/app/views/directories/_file_form.html.erb b/app/views/directories/_file_form.html.erb index f0257fd..bd067ca 100644 --- a/app/views/directories/_file_form.html.erb +++ b/app/views/directories/_file_form.html.erb @@ -3,6 +3,6 @@ <%= render "shared/files_dropzone_fields", form: form, directory: directory %> <% end %>
- <%= form.submit t(".submit"), class: "btn btn-block btn-success", data: { disable_with: t("shared.disable_with") } %> + <%= form.submit t(".submit"), id: "upload_directory_files", class: "btn btn-block btn-success", data: { disable_with: t("shared.disable_with") } %>
<% end %> diff --git a/spec/features/user_manages_project_directories_spec.rb b/spec/features/user_manages_project_directories_spec.rb index 6ad5bc3..6af2448 100644 --- a/spec/features/user_manages_project_directories_spec.rb +++ b/spec/features/user_manages_project_directories_spec.rb @@ -51,6 +51,13 @@ RSpec.feature "User manages project custom folders", type: :feature do expect(page).to have_content("UPLOAD NEW FILES") + expect do + click_button "Upload Files" + end.not_to raise_exception + + expect(page).to have_content("UPLOAD NEW FILES") + expect(page).not_to have_content("The folder has been updated") + drop_file Rails.root.join(file_fixture("person_photo.png")), type: :dropzone click_button "Upload Files" -- 2.47.3