diff --git a/Gemfile b/Gemfile index e9af29d55..033706b39 100644 --- a/Gemfile +++ b/Gemfile @@ -6,11 +6,11 @@ git_source(:github) { |repo| "https://github.com/#{repo}.git" } ruby "3.1.4" # Bundle edge Rails instead: gem 'rails', github: 'rails/rails', branch: 'main' -gem "rails", "~> 7.0.8.5" +gem "rails", "~> 7.2.2" # Use postgresql as the database for Active Record gem "pg", "~> 1.1" # Use Puma as the app server -gem "puma", "~> 5.6" +gem "puma", "~> 6.4" # The modern asset pipeline for Rails [https://github.com/rails/propshaft] gem "propshaft" # Bundle and transpile JavaScript [https://github.com/rails/jsbundling-rails] @@ -18,9 +18,9 @@ gem "jsbundling-rails" # Reduces boot times through caching; required in config/boot.rb gem "bootsnap", ">= 1.4.4", require: false # GOV UK frontend components -gem "govuk-components", "~> 5.1" +gem "govuk-components", "~> 5.7" # GOV UK component form builder DSL -gem "govuk_design_system_formbuilder", "~> 5.0" +gem "govuk_design_system_formbuilder", "~> 5.7" # Convert Markdown into GOV.UK frontend-styled HTML gem "govuk_markdown" gem "redcarpet", "~> 3.6" @@ -44,7 +44,7 @@ gem "view_component", "~> 3.9" # Use the AWS S3 SDK as storage mechanism gem "aws-sdk-s3" # Track changes to models for auditing or versioning. -gem "paper_trail" +gem "paper_trail", "~> 15.2" # Store active record objects in version whodunnits gem "paper_trail-globalid" @@ -90,7 +90,7 @@ group :development do # Display performance information such as SQL time and flame graphs for each request in your browser. # Can be configured to work on production as well see: https://github.com/MiniProfiler/rack-mini-profiler/blob/master/README.md gem "erb_lint", require: false - gem "rack-mini-profiler", "~> 2.0" + gem "rack-mini-profiler", "~> 3.3.0" gem "rubocop-govuk", "4.3.0", require: false gem "rubocop-performance", require: false gem "rubocop-rails", require: false diff --git a/Gemfile.lock b/Gemfile.lock index d2a5de05d..5017836a1 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,75 +1,81 @@ GEM remote: https://rubygems.org/ specs: - actioncable (7.0.8.5) - actionpack (= 7.0.8.5) - activesupport (= 7.0.8.5) + actioncable (7.2.2.1) + actionpack (= 7.2.2.1) + activesupport (= 7.2.2.1) nio4r (~> 2.0) websocket-driver (>= 0.6.1) - actionmailbox (7.0.8.5) - actionpack (= 7.0.8.5) - activejob (= 7.0.8.5) - activerecord (= 7.0.8.5) - activestorage (= 7.0.8.5) - activesupport (= 7.0.8.5) - mail (>= 2.7.1) - net-imap - net-pop - net-smtp - actionmailer (7.0.8.5) - actionpack (= 7.0.8.5) - actionview (= 7.0.8.5) - activejob (= 7.0.8.5) - activesupport (= 7.0.8.5) - mail (~> 2.5, >= 2.5.4) - net-imap - net-pop - net-smtp - rails-dom-testing (~> 2.0) - actionpack (7.0.8.5) - actionview (= 7.0.8.5) - activesupport (= 7.0.8.5) - rack (~> 2.0, >= 2.2.4) + zeitwerk (~> 2.6) + actionmailbox (7.2.2.1) + actionpack (= 7.2.2.1) + activejob (= 7.2.2.1) + activerecord (= 7.2.2.1) + activestorage (= 7.2.2.1) + activesupport (= 7.2.2.1) + mail (>= 2.8.0) + actionmailer (7.2.2.1) + actionpack (= 7.2.2.1) + actionview (= 7.2.2.1) + activejob (= 7.2.2.1) + activesupport (= 7.2.2.1) + mail (>= 2.8.0) + rails-dom-testing (~> 2.2) + actionpack (7.2.2.1) + actionview (= 7.2.2.1) + activesupport (= 7.2.2.1) + nokogiri (>= 1.8.5) + racc + rack (>= 2.2.4, < 3.2) + rack-session (>= 1.0.1) rack-test (>= 0.6.3) - rails-dom-testing (~> 2.0) - rails-html-sanitizer (~> 1.0, >= 1.2.0) - actiontext (7.0.8.5) - actionpack (= 7.0.8.5) - activerecord (= 7.0.8.5) - activestorage (= 7.0.8.5) - activesupport (= 7.0.8.5) + rails-dom-testing (~> 2.2) + rails-html-sanitizer (~> 1.6) + useragent (~> 0.16) + actiontext (7.2.2.1) + actionpack (= 7.2.2.1) + activerecord (= 7.2.2.1) + activestorage (= 7.2.2.1) + activesupport (= 7.2.2.1) globalid (>= 0.6.0) nokogiri (>= 1.8.5) - actionview (7.0.8.5) - activesupport (= 7.0.8.5) + actionview (7.2.2.1) + activesupport (= 7.2.2.1) builder (~> 3.1) - erubi (~> 1.4) - rails-dom-testing (~> 2.0) - rails-html-sanitizer (~> 1.1, >= 1.2.0) - activejob (7.0.8.5) - activesupport (= 7.0.8.5) + erubi (~> 1.11) + rails-dom-testing (~> 2.2) + rails-html-sanitizer (~> 1.6) + activejob (7.2.2.1) + activesupport (= 7.2.2.1) globalid (>= 0.3.6) - activemodel (7.0.8.5) - activesupport (= 7.0.8.5) - activemodel-serializers-xml (1.0.2) - activemodel (> 5.x) - activesupport (> 5.x) + activemodel (7.2.2.1) + activesupport (= 7.2.2.1) + activemodel-serializers-xml (1.0.3) + activemodel (>= 5.0.0.a) + activesupport (>= 5.0.0.a) builder (~> 3.1) - activerecord (7.0.8.5) - activemodel (= 7.0.8.5) - activesupport (= 7.0.8.5) - activestorage (7.0.8.5) - actionpack (= 7.0.8.5) - activejob (= 7.0.8.5) - activerecord (= 7.0.8.5) - activesupport (= 7.0.8.5) + activerecord (7.2.2.1) + activemodel (= 7.2.2.1) + activesupport (= 7.2.2.1) + timeout (>= 0.4.0) + activestorage (7.2.2.1) + actionpack (= 7.2.2.1) + activejob (= 7.2.2.1) + activerecord (= 7.2.2.1) + activesupport (= 7.2.2.1) marcel (~> 1.0) - mini_mime (>= 1.1.0) - activesupport (7.0.8.5) - concurrent-ruby (~> 1.0, >= 1.0.2) + activesupport (7.2.2.1) + base64 + benchmark (>= 0.3) + bigdecimal + concurrent-ruby (~> 1.0, >= 1.3.1) + connection_pool (>= 2.2.5) + drb i18n (>= 1.6, < 2) + logger (>= 1.4.2) minitest (>= 5.1) - tzinfo (~> 2.0) + securerandom (>= 0.3) + tzinfo (~> 2.0, >= 2.0.5) addressable (2.8.6) public_suffix (>= 2.0.2, < 6.0) ast (2.4.2) @@ -104,6 +110,7 @@ GEM thread_safe (~> 0.3, >= 0.3.1) base64 (0.2.0) bcrypt (3.1.20) + benchmark (0.4.0) better_html (2.0.2) actionview (>= 6.0) activesupport (>= 6.0) @@ -111,7 +118,7 @@ GEM erubi (~> 1.4) parser (>= 2.4) smart_properties - bigdecimal (3.1.6) + bigdecimal (3.1.8) bindex (0.8.1) bootsnap (1.18.3) msgpack (~> 1.2) @@ -149,7 +156,8 @@ GEM crass (1.0.6) cssbundling-rails (1.4.0) railties (>= 6.0.0) - date (3.3.4) + csv (3.3.0) + date (3.4.1) descendants_tracker (0.0.4) thread_safe (~> 0.3, >= 0.3.1) devise (4.9.3) @@ -170,6 +178,7 @@ GEM dotenv-rails (3.0.2) dotenv (= 3.0.2) railties (>= 6.1) + drb (2.2.1) dumb_delegator (1.0.0) encryptor (3.0.0) erb_lint (0.5.0) @@ -184,10 +193,10 @@ GEM tzinfo event_stream_parser (1.0.0) excon (0.111.0) - factory_bot (6.4.6) + factory_bot (6.5.0) activesupport (>= 5.0.0) - factory_bot_rails (6.4.3) - factory_bot (~> 6.4) + factory_bot_rails (6.4.4) + factory_bot (~> 6.5) railties (>= 5.0.0) faker (3.2.3) i18n (>= 1.8.11, < 2) @@ -203,11 +212,11 @@ GEM raabro (~> 1.4) globalid (1.2.1) activesupport (>= 6.1) - govuk-components (5.2.1) + govuk-components (5.7.0) html-attributes-utils (~> 1.0.0, >= 1.0.0) - pagy (~> 6.0) - view_component (>= 3.9, < 3.11) - govuk_design_system_formbuilder (5.2.0) + pagy (>= 6, < 10) + view_component (>= 3.9, < 3.17) + govuk_design_system_formbuilder (5.7.1) actionview (>= 6.1) activemodel (>= 6.1) activesupport (>= 6.1) @@ -222,6 +231,10 @@ GEM concurrent-ruby (~> 1.0) ice_nine (0.11.2) iniparse (1.5.0) + io-console (0.8.0) + irb (1.14.1) + rdoc (>= 4.0.0) + reline (>= 0.4.2) jmespath (1.6.2) jsbundling-rails (1.3.0) railties (>= 6.0.0) @@ -246,6 +259,7 @@ GEM listen (3.9.0) rb-fsevent (~> 0.10, >= 0.10.3) rb-inotify (~> 0.9, >= 0.9.10) + logger (1.6.2) loofah (2.23.1) crass (~> 1.0.2) nokogiri (>= 1.12.0) @@ -258,13 +272,13 @@ GEM matrix (0.4.2) method_source (1.1.0) mini_mime (1.1.5) - minitest (5.25.1) + minitest (5.25.4) msgpack (1.7.2) multipart-post (2.4.1) nested_form (0.3.2) net-http (0.4.1) uri - net-imap (0.4.17) + net-imap (0.5.1) date net-protocol net-pop (0.1.2) @@ -273,12 +287,12 @@ GEM timeout net-smtp (0.5.0) net-protocol - nio4r (2.7.3) - nokogiri (1.16.8-arm64-darwin) + nio4r (2.7.4) + nokogiri (1.17.1-arm64-darwin) racc (~> 1.4) - nokogiri (1.16.8-x86_64-darwin) + nokogiri (1.17.1-x86_64-darwin) racc (~> 1.4) - nokogiri (1.16.8-x86_64-linux) + nokogiri (1.17.1-x86_64-linux) racc (~> 1.4) notifications-ruby-client (6.0.0) jwt (>= 1.5, < 3) @@ -287,8 +301,8 @@ GEM childprocess (>= 0.6.3, < 6) iniparse (~> 1.4) rexml (~> 3.2) - pagy (6.5.0) - paper_trail (15.1.0) + pagy (9.3.2) + paper_trail (15.2.0) activerecord (>= 6.1) request_store (~> 1.4) paper_trail-globalid (0.2.0) @@ -313,34 +327,41 @@ GEM pry-byebug (3.10.1) byebug (~> 11.0) pry (>= 0.13, < 0.15) + psych (5.2.1) + date + stringio public_suffix (5.0.4) - puma (5.6.9) + puma (6.5.0) nio4r (~> 2.0) pundit (2.3.1) activesupport (>= 3.0.0) raabro (1.4.0) racc (1.8.1) - rack (2.2.10) + rack (3.1.8) rack-attack (6.7.0) rack (>= 1.0, < 4) - rack-mini-profiler (2.3.4) + rack-mini-profiler (3.3.1) rack (>= 1.2.0) + rack-session (2.0.0) + rack (>= 3.0.0) rack-test (2.1.0) rack (>= 1.3) - rails (7.0.8.5) - actioncable (= 7.0.8.5) - actionmailbox (= 7.0.8.5) - actionmailer (= 7.0.8.5) - actionpack (= 7.0.8.5) - actiontext (= 7.0.8.5) - actionview (= 7.0.8.5) - activejob (= 7.0.8.5) - activemodel (= 7.0.8.5) - activerecord (= 7.0.8.5) - activestorage (= 7.0.8.5) - activesupport (= 7.0.8.5) + rackup (2.2.1) + rack (>= 3) + rails (7.2.2.1) + actioncable (= 7.2.2.1) + actionmailbox (= 7.2.2.1) + actionmailer (= 7.2.2.1) + actionpack (= 7.2.2.1) + actiontext (= 7.2.2.1) + actionview (= 7.2.2.1) + activejob (= 7.2.2.1) + activemodel (= 7.2.2.1) + activerecord (= 7.2.2.1) + activestorage (= 7.2.2.1) + activesupport (= 7.2.2.1) bundler (>= 1.15.0) - railties (= 7.0.8.5) + railties (= 7.2.2.1) rails-dom-testing (2.2.0) activesupport (>= 5.0.0) minitest @@ -348,31 +369,37 @@ GEM rails-html-sanitizer (1.6.1) loofah (~> 2.21) nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0) - rails_admin (3.1.3) + rails_admin (3.3.0) activemodel-serializers-xml (>= 1.0) + csv kaminari (>= 0.14, < 2.0) nested_form (~> 0.3) - rails (>= 6.0, < 8) - turbo-rails (~> 1.0) - railties (7.0.8.5) - actionpack (= 7.0.8.5) - activesupport (= 7.0.8.5) - method_source + rails (>= 6.0, < 9) + turbo-rails (>= 1.0, < 3) + railties (7.2.2.1) + actionpack (= 7.2.2.1) + activesupport (= 7.2.2.1) + irb (~> 1.13) + rackup (>= 1.0.0) rake (>= 12.2) - thor (~> 1.0) - zeitwerk (~> 2.5) + thor (~> 1.0, >= 1.2.2) + zeitwerk (~> 2.6) rainbow (3.1.1) rake (13.2.1) randexp (0.1.7) rb-fsevent (0.11.2) rb-inotify (0.10.1) ffi (~> 1.0) + rdoc (6.8.1) + psych (>= 4.0.0) redcarpet (3.6.0) redis (4.8.1) redis-client (0.22.1) connection_pool regexp_parser (2.9.0) - request_store (1.6.0) + reline (0.5.12) + io-console (~> 0.5) + request_store (1.7.0) rack (>= 1.4) responders (3.1.1) actionpack (>= 5.2) @@ -434,6 +461,7 @@ GEM ruby-progressbar (1.13.0) ruby2_keywords (0.0.5) rubyzip (2.3.2) + securerandom (0.4.0) selenium-webdriver (4.18.1) base64 (~> 0.2) rexml (~> 3.2, >= 3.2.5) @@ -462,21 +490,22 @@ GEM smart_properties (1.17.0) stimulus-rails (1.3.3) railties (>= 6.0.0) + stringio (3.1.2) thor (1.3.2) thread_safe (0.3.6) timecop (0.9.8) - timeout (0.4.1) - turbo-rails (1.5.0) + timeout (0.4.2) + turbo-rails (2.0.11) actionpack (>= 6.0.0) - activejob (>= 6.0.0) railties (>= 6.0.0) tzinfo (2.0.6) concurrent-ruby (~> 1.0) uk_postcode (2.1.8) unicode-display_width (2.5.0) - unread (0.13.1) + unread (0.14.0) activerecord (>= 6.1) uri (0.13.0) + useragent (0.16.11) view_component (3.10.0) activesupport (>= 5.2.0, < 8.0) concurrent-ruby (~> 1.0) @@ -532,8 +561,8 @@ DEPENDENCIES excon (~> 0.111.0) factory_bot_rails faker - govuk-components (~> 5.1) - govuk_design_system_formbuilder (~> 5.0) + govuk-components (~> 5.7) + govuk_design_system_formbuilder (~> 5.7) govuk_markdown jsbundling-rails json-schema @@ -541,19 +570,19 @@ DEPENDENCIES method_source (~> 1.1) notifications-ruby-client overcommit (>= 0.37.0) - paper_trail + paper_trail (~> 15.2) paper_trail-globalid parallel_tests pg (~> 1.1) possessive propshaft pry-byebug - puma (~> 5.6) + puma (~> 6.4) pundit rack (>= 2.2.6.3) rack-attack - rack-mini-profiler (~> 2.0) - rails (~> 7.0.8.5) + rack-mini-profiler (~> 3.3.0) + rails (~> 7.2.2) rails_admin (~> 3.1) redcarpet (~> 3.6) redis (~> 4.8) diff --git a/app/components/bulk_upload_error_row_component.html.erb b/app/components/bulk_upload_error_row_component.html.erb index 4bd303957..db1ceab7a 100644 --- a/app/components/bulk_upload_error_row_component.html.erb +++ b/app/components/bulk_upload_error_row_component.html.erb @@ -38,7 +38,7 @@ <% if potential_errors.any? %>

Potential errors

-

The following groups of cells might have conflicting data. Check the answers and fix any incorrect data.

If the answers are correct, fix the critical errors and reupload the file. You'll need to confirm that the following data is correct when the file only contains potential errors.

+

The following groups of cells might have conflicting data. Check the answers and fix any incorrect data.

If the answers are correct, fix the critical errors and upload the file again. You'll need to confirm that the following data is correct when the file only contains potential errors.

<%= govuk_table(html_attributes: { class: "no-bottom-border" }) do |table| %> <%= table.with_head do |head| %> <% head.with_row do |row| %> diff --git a/app/components/primary_navigation_component.html.erb b/app/components/primary_navigation_component.html.erb index 9cad3bc64..032c02b81 100644 --- a/app/components/primary_navigation_component.html.erb +++ b/app/components/primary_navigation_component.html.erb @@ -1,17 +1,5 @@ - +<%= govuk_service_navigation(navigation_id: "primary-navigation", classes: "app-service-navigation") do |sn| + items.each do |item| + sn.with_navigation_item(text: item[:text], href: item[:href], classes: "", current: item[:current]) + end + end %> diff --git a/app/components/search_component.html.erb b/app/components/search_component.html.erb index 5e3eb4ae3..62dca0ec2 100644 --- a/app/components/search_component.html.erb +++ b/app/components/search_component.html.erb @@ -1,4 +1,4 @@ -<%= form_with model: @user, url: path(current_user), method: "get", local: true do |f| %> +<%= form_with url: path(current_user), method: "get", local: true do |f| %>