From 38b6de3ba7999142a21e564f99a5786e5454660f Mon Sep 17 00:00:00 2001 From: Liane Hampe Date: Tue, 15 Aug 2023 13:24:02 +0200 Subject: [PATCH 1/4] Adds tmp/ dir to .gitignore The tmp/ dir might contain code coverage results or other output of static code analyser. --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 7e2daa8f..e4c844d6 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ /redmine_dmsf.iml Gemfile.lock .history +tmp/ From 3edf6293896c08c5fd789e61ed263069ec6e4df8 Mon Sep 17 00:00:00 2001 From: Liane Hampe Date: Tue, 15 Aug 2023 14:55:27 +0200 Subject: [PATCH 2/4] Changes arguments of DmsfLinksHelper#files_for_select The second argument 'folder_id' is set to nil by default. This could be overridden if necessary. Defining a default value for the helper method prevents the view partial 'dmsf_links/_form.html.erb' to raise an ActionView::Template::Error due to a missing argument. --- app/helpers/dmsf_links_helper.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/helpers/dmsf_links_helper.rb b/app/helpers/dmsf_links_helper.rb index 026d04e5..2cef3da6 100644 --- a/app/helpers/dmsf_links_helper.rb +++ b/app/helpers/dmsf_links_helper.rb @@ -35,7 +35,7 @@ module DmsfLinksHelper str&.match?(/\A\d+\Z/) end - def files_for_select(project_id, folder_id) + def files_for_select(project_id, folder_id = nil) files = [] if DmsfLinksHelper.number?(folder_id) folder = DmsfFolder.find_by(id: folder_id) From eb291db7b0e9a5606f98d87a19932ae8cf14bc32 Mon Sep 17 00:00:00 2001 From: Liane Hampe Date: Tue, 15 Aug 2023 15:10:50 +0200 Subject: [PATCH 3/4] Adds small test to preserve the default value The default value for folder_id is implicitly checked by expecting no exception to be raised. --- test/helpers/dmsf_links_helper_test.rb | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/test/helpers/dmsf_links_helper_test.rb b/test/helpers/dmsf_links_helper_test.rb index 60066470..15228294 100644 --- a/test/helpers/dmsf_links_helper_test.rb +++ b/test/helpers/dmsf_links_helper_test.rb @@ -31,4 +31,11 @@ class DmsfLinksHelperTest < RedmineDmsf::Test::HelperTest assert_not DmsfLinksHelper.number?('123a') assert_not DmsfLinksHelper.number?(nil) end + + def test_default_folder_id_in_files_for_select + project = Project.find(1) + assert_nothing_raised do + files_for_select(project.id) + end + end end From 2543f6a1a6e12b490f50e4da69ccc8cac8ac42d8 Mon Sep 17 00:00:00 2001 From: Liane Hampe Date: Tue, 15 Aug 2023 16:03:44 +0200 Subject: [PATCH 4/4] Fixes Uncaught TypeError: $(...).select2 is not a function The error occured when trying to create a dmsf link. In such a case select2 must be used in a javascript snippet after jquery and the select2 plugin are loaded. Adding the 'document ready' function ensures that everything is loaded properly before the inline javascript will be executed. --- app/views/dmsf_links/_form.html.erb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/views/dmsf_links/_form.html.erb b/app/views/dmsf_links/_form.html.erb index df1bc658..7a31cd11 100644 --- a/app/views/dmsf_links/_form.html.erb +++ b/app/views/dmsf_links/_form.html.erb @@ -110,8 +110,8 @@ <% end %> - <%= late_javascript_tag do %> +$(document).ready(function(){ <%# Select2 extension, TODO: in case of a modal window, select2 makes problems %> <% unless modal || @fast_links %> $('#dmsf_link_target_project_id').select2(); @@ -148,4 +148,5 @@ labelUrl.append(' *'); } }); +}); <% end %>