diff --git a/Gemfile b/Gemfile index fc19ac60317..01e3d2abe7f 100644 --- a/Gemfile +++ b/Gemfile @@ -115,6 +115,8 @@ gem "ruby-duration", "~> 3.2.0" # released. gem "mail", "= 2.8.1" +gem "csv", "~> 3.3" + # provide compatible filesystem information for available storage gem "sys-filesystem", "~> 1.4.0", require: false @@ -264,7 +266,7 @@ group :test do gem "capybara-screenshot", "~> 1.0.17" gem "cuprite", "~> 0.15.0" gem "selenium-devtools" - gem "selenium-webdriver", "~> 4.19.0" + gem "selenium-webdriver", "~> 4.20" gem "fuubar", "~> 2.5.0" gem "timecop", "~> 0.9.0" @@ -383,6 +385,4 @@ end gem "openproject-octicons", "~>19.10.0" gem "openproject-octicons_helper", "~>19.10.0" -gem "openproject-primer_view_components", "~>0.29.0" - -gem "csv", "~> 3.3" +gem "openproject-primer_view_components", "~>0.29.1" diff --git a/Gemfile.lock b/Gemfile.lock index c6318cb7b07..bde82dacd8b 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -341,8 +341,8 @@ GEM activerecord (>= 4.0.0, < 7.2) awrence (1.2.1) aws-eventstream (1.3.0) - aws-partitions (1.916.0) - aws-sdk-core (3.192.1) + aws-partitions (1.920.0) + aws-sdk-core (3.193.0) aws-eventstream (~> 1, >= 1.3.0) aws-partitions (~> 1, >= 1.651.0) aws-sigv4 (~> 1.8) @@ -773,7 +773,7 @@ GEM actionview openproject-octicons (= 19.10.0) railties - openproject-primer_view_components (0.29.0) + openproject-primer_view_components (0.29.1) actionview (>= 5.0.0) activesupport (>= 5.0.0) openproject-octicons (>= 19.9.0) @@ -789,7 +789,7 @@ GEM activerecord (>= 6.1) request_store (~> 1.4) parallel (1.24.0) - parallel_tests (4.7.0) + parallel_tests (4.7.1) parallel parser (3.3.1.0) ast (~> 2.4.1) @@ -1025,9 +1025,9 @@ GEM crass (~> 1.0.2) nokogiri (>= 1.12.0) secure_headers (6.5.0) - selenium-devtools (0.123.0) + selenium-devtools (0.124.0) selenium-webdriver (~> 4.2) - selenium-webdriver (4.19.0) + selenium-webdriver (4.20.1) base64 (~> 0.2) rexml (~> 3.2, >= 3.2.5) rubyzip (>= 1.2.2, < 3.0) @@ -1047,7 +1047,7 @@ GEM spreadsheet (1.3.1) bigdecimal ruby-ole - spring (4.2.0) + spring (4.2.1) spring-commands-rspec (1.0.4) spring (>= 0.9.1) spring-commands-rubocop (0.4.0) @@ -1270,7 +1270,7 @@ DEPENDENCIES openproject-octicons (~> 19.10.0) openproject-octicons_helper (~> 19.10.0) openproject-openid_connect! - openproject-primer_view_components (~> 0.29.0) + openproject-primer_view_components (~> 0.29.1) openproject-recaptcha! openproject-reporting! openproject-storages! @@ -1327,7 +1327,7 @@ DEPENDENCIES sanitize (~> 6.1.0) secure_headers (~> 6.5.0) selenium-devtools - selenium-webdriver (~> 4.19.0) + selenium-webdriver (~> 4.20) semantic (~> 1.6.1) shoulda-context (~> 2.0) shoulda-matchers (~> 6.0) diff --git a/app/components/members/index_page_header_component.html.erb b/app/components/members/index_page_header_component.html.erb index 861806cdb5c..d8742fbaff8 100644 --- a/app/components/members/index_page_header_component.html.erb +++ b/app/components/members/index_page_header_component.html.erb @@ -1,7 +1,7 @@ <%= render(Primer::OpenProject::PageHeader.new) do |header| header.with_title { page_title } - header.with_breadcrumbs(breadcrumb_items) + header.with_breadcrumbs(breadcrumb_items, selected_item_font_weight: current_breadcrumb_element == page_title ? :bold : :normal) header.with_action_button(scheme: :primary, mobile_icon: :plus, diff --git a/app/components/projects/index_page_header_component.html.erb b/app/components/projects/index_page_header_component.html.erb index d1ddafbc2a9..bcecc8ee288 100644 --- a/app/components/projects/index_page_header_component.html.erb +++ b/app/components/projects/index_page_header_component.html.erb @@ -2,7 +2,7 @@ render(Primer::OpenProject::PageHeader.new) do |header| if show_state? header.with_title(data: { 'test-selector': 'project-query-name'}) { page_title } - header.with_breadcrumbs(breadcrumb_items) + header.with_breadcrumbs(breadcrumb_items, selected_item_font_weight: current_breadcrumb_element == page_title ? :bold : :normal) if query_saveable? header.with_action_text { t('lists.can_be_saved_as') } diff --git a/app/forms/work_packages/progress_form.rb b/app/forms/work_packages/progress_form.rb index 1102a680d2d..baf36ce3d0e 100644 --- a/app/forms/work_packages/progress_form.rb +++ b/app/forms/work_packages/progress_form.rb @@ -171,6 +171,7 @@ class WorkPackages::ProgressForm < ApplicationForm data = { "work-packages--progress--preview-progress-target": "progressInput", "work-packages--progress--touched-field-marker-target": "progressInput", action: "input->work-packages--progress--touched-field-marker#markFieldAsTouched" } + if @focused_field == name data[:"work-packages--progress--focus-field-target"] = "fieldToFocus" end diff --git a/app/helpers/frontend_asset_helper.rb b/app/helpers/frontend_asset_helper.rb index 0d4ad9f91c8..2892e188056 100644 --- a/app/helpers/frontend_asset_helper.rb +++ b/app/helpers/frontend_asset_helper.rb @@ -58,8 +58,13 @@ module FrontendAssetHelper private - def frontend_asset_path(unhashed_file_name) - "/assets/frontend/#{::OpenProject::Assets.lookup_asset(unhashed_file_name)}" + def lookup_frontend_asset(unhashed_file_name) + hashed_file_name = ::OpenProject::Assets.lookup_asset(unhashed_file_name) + frontend_asset_path(hashed_file_name) + end + + def frontend_asset_path(file_name) + "/assets/frontend/#{file_name}" end def variable_asset_path(path) @@ -72,7 +77,7 @@ module FrontendAssetHelper else # we do not need to take care about Rails.application.config.relative_url_root # because in this case javascript|stylesheet_include_tag will add it automatically. - frontend_asset_path(path) + lookup_frontend_asset(path) end end end diff --git a/app/views/account/_login.html.erb b/app/views/account/_login.html.erb index f14f204318f..aabd685021b 100644 --- a/app/views/account/_login.html.erb +++ b/app/views/account/_login.html.erb @@ -73,7 +73,7 @@ See COPYRIGHT and LICENSE files for more details.