From 8a131917d92c039e22da8d52bdc3efee5cd5b5ff Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Tue, 5 Mar 2024 17:19:42 +0000 Subject: [PATCH 001/325] Update rubocop-rails to version 2.24.0 --- Gemfile.lock | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 3a03f3388..5ce9b1642 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -489,10 +489,11 @@ GEM rubocop-performance (1.20.2) rubocop (>= 1.48.1, < 2.0) rubocop-ast (>= 1.30.0, < 2.0) - rubocop-rails (2.19.1) + rubocop-rails (2.24.0) activesupport (>= 4.2.0) rack (>= 1.1) rubocop (>= 1.33.0, < 2.0) + rubocop-ast (>= 1.31.1, < 2.0) rubocop-rspec (2.23.0) rubocop (~> 1.33) rubocop-capybara (~> 2.17) From 9ac61028477a98583eb72745e7df1a09da660fb9 Mon Sep 17 00:00:00 2001 From: Andrew Kvalheim Date: Sat, 16 Mar 2024 16:44:22 -0700 Subject: [PATCH 002/325] Fix bug in naming of Sentry release In #3299 sentry-ruby was updated past 5.10 which introduces getsentry/sentry-ruby#2004, resulting in: ArgumentError: expect the argument to be a String or NilClass, got Integer (1646633480) /osem/config/initializers/sentry.rb:19 --- config/initializers/sentry.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/initializers/sentry.rb b/config/initializers/sentry.rb index e87be344b..06ff58746 100644 --- a/config/initializers/sentry.rb +++ b/config/initializers/sentry.rb @@ -14,7 +14,7 @@ # Unless someone has set a variable of course... osem_version_from_file = nil version_file = File.expand_path('../../tmp/restart.txt', __dir__) - osem_version_from_file = File.new(version_file).atime.to_i if File.file?(version_file) + osem_version_from_file = File.new(version_file).atime.strftime('%s') if File.file?(version_file) osem_version = ENV.fetch('OSEM_SENTRY_RELEASE', osem_version_from_file) config.release = osem_version if osem_version end From 66fa4994a0a9cf82e0514e7c34addff3864bf48e Mon Sep 17 00:00:00 2001 From: Henne Vogelsang Date: Tue, 26 Mar 2024 11:26:40 +0100 Subject: [PATCH 003/325] Update rubocop TODO --- .rubocop_todo.yml | 40 +++++++++++++++++++++++++++++++++------- 1 file changed, 33 insertions(+), 7 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 7e343ea1b..141951efe 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -1,6 +1,6 @@ # This configuration was generated by # `rubocop --auto-gen-config` -# on 2024-03-04 16:04:49 UTC using RuboCop version 1.61.0. +# on 2024-03-26 10:26:16 UTC using RuboCop version 1.61.0. # The point is for the user to remove these configuration records # one by one as the offenses are removed from the code base. # Note that changes in the inspected code, or installation of new @@ -1146,7 +1146,7 @@ Rails/ContentTag: # Offense count: 13 # Configuration parameters: Include. -# Include: db/migrate/*.rb +# Include: db/**/*.rb Rails/CreateTableWithTimestamps: Exclude: - 'db/migrate/20121223115117_create_rooms_table.rb' @@ -1163,7 +1163,16 @@ Rails/CreateTableWithTimestamps: - 'db/migrate/20170129075434_create_resources_table.rb' - 'db/migrate/20170529215453_create_organizations.rb' +# Offense count: 2 +# Configuration parameters: Severity, Include. +# Include: db/**/*.rb +Rails/DangerousColumnNames: + Exclude: + - 'db/migrate/20160403214841_add_id_and_created_at_to_events_registrations.rb' + - 'db/migrate/20160614145614_add_id_to_users_roles.rb' + # Offense count: 103 +# This cop supports unsafe autocorrection (--autocorrect-all). # Configuration parameters: EnforcedStyle, AllowToTime. # SupportedStyles: strict, flexible Rails/Date: @@ -1224,6 +1233,7 @@ Rails/EnumHash: - 'app/models/survey_question.rb' # Offense count: 7 +# This cop supports safe autocorrection (--autocorrect). # Configuration parameters: EnforcedStyle. # SupportedStyles: slashes, arguments Rails/FilePath: @@ -1235,6 +1245,13 @@ Rails/FilePath: - 'spec/features/sponsor_spec.rb' - 'spec/support/deprecation_shitlist.rb' +# Offense count: 81 +# This cop supports unsafe autocorrection (--autocorrect-all). +# Configuration parameters: AllowedMethods, AllowedPatterns. +# AllowedMethods: order, limit, select, lock +Rails/FindEach: + Enabled: false + # Offense count: 6 # Configuration parameters: Include. # Include: app/models/**/*.rb @@ -1274,7 +1291,7 @@ Rails/HttpStatus: - 'app/controllers/admin/venue_commercials_controller.rb' - 'app/controllers/commercials_controller.rb' -# Offense count: 100 +# Offense count: 102 Rails/I18nLocaleTexts: Enabled: false @@ -1357,7 +1374,15 @@ Rails/RakeEnvironment: - 'lib/tasks/dump_db.rake' - 'lib/tasks/spec.rake' -# Offense count: 21 +# Offense count: 1 +# This cop supports unsafe autocorrection (--autocorrect-all). +# Configuration parameters: AllowedReceivers. +# AllowedReceivers: ActionMailer::Preview, ActiveSupport::TimeZone +Rails/RedundantActiveRecordAllMethod: + Exclude: + - 'db/migrate/20160309182655_remove_dietary_choices_table.rb' + +# Offense count: 20 # This cop supports unsafe autocorrection (--autocorrect-all). Rails/RedundantPresenceValidationOnBelongsTo: Enabled: false @@ -1402,7 +1427,7 @@ Rails/SkipsModelValidations: Rails/ThreeStateBooleanColumn: Enabled: false -# Offense count: 40 +# Offense count: 48 # This cop supports unsafe autocorrection (--autocorrect-all). # Configuration parameters: EnforcedStyle. # SupportedStyles: strict, flexible @@ -1416,6 +1441,7 @@ Rails/TimeZone: - 'lib/tasks/dump_db.rake' - 'spec/controllers/admin/comments_controller_spec.rb' - 'spec/factories/users.rb' + - 'spec/helpers/application_helper_spec.rb' - 'spec/models/conference_spec.rb' # Offense count: 1 @@ -1630,7 +1656,7 @@ Style/HashTransformValues: - 'app/controllers/admin/comments_controller.rb' - 'app/helpers/chart_helper.rb' -# Offense count: 58 +# Offense count: 57 # This cop supports safe autocorrection (--autocorrect). Style/IfUnlessModifier: Enabled: false @@ -1920,7 +1946,7 @@ Style/SoleNestedConditional: Style/StringConcatenation: Enabled: false -# Offense count: 17 +# Offense count: 16 # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: EnforcedStyle, ConsistentQuotesInMultiline. # SupportedStyles: single_quotes, double_quotes From fcbc885524a3b8c4233022bdf8a9ecd8416f60b0 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Tue, 26 Mar 2024 10:59:41 +0000 Subject: [PATCH 004/325] Update rubocop-rspec to version 2.27.1 --- Gemfile.lock | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index f8f49f64d..57eb91097 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -471,7 +471,7 @@ GEM rspec-mocks (~> 3.12) rspec-support (~> 3.12) rspec-support (3.13.1) - rubocop (1.61.0) + rubocop (1.62.1) json (~> 2.3) language_server-protocol (>= 3.17.0) parallel (~> 1.10) @@ -479,10 +479,10 @@ GEM rainbow (>= 2.2.2, < 4.0) regexp_parser (>= 1.8, < 3.0) rexml (>= 3.2.5, < 4.0) - rubocop-ast (>= 1.30.0, < 2.0) + rubocop-ast (>= 1.31.1, < 2.0) ruby-progressbar (~> 1.7) unicode-display_width (>= 2.4.0, < 3.0) - rubocop-ast (1.31.1) + rubocop-ast (1.31.2) parser (>= 3.3.0.4) rubocop-capybara (2.20.0) rubocop (~> 1.41) @@ -496,8 +496,8 @@ GEM rack (>= 1.1) rubocop (>= 1.33.0, < 2.0) rubocop-ast (>= 1.31.1, < 2.0) - rubocop-rspec (2.23.0) - rubocop (~> 1.33) + rubocop-rspec (2.27.1) + rubocop (~> 1.40) rubocop-capybara (~> 2.17) rubocop-factory_bot (~> 2.22) ruby-oembed (0.17.0) From da57c5898db35bf79069af0ad24f715a404dcae7 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Tue, 5 Mar 2024 17:19:41 +0000 Subject: [PATCH 005/325] Update haml_lint to version 0.57.0 --- Gemfile.lock | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index f8f49f64d..1acedc348 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -203,7 +203,7 @@ GEM globalid (1.2.1) activesupport (>= 6.1) gravtastic (3.2.6) - haml (6.1.1) + haml (6.3.0) temple (>= 0.8.2) thor tilt @@ -212,11 +212,11 @@ GEM activesupport (>= 5.1) haml (>= 4.0.6) railties (>= 5.1) - haml_lint (0.45.0) - haml (>= 4.0, < 6.2) + haml_lint (0.57.0) + haml (>= 5.0) parallel (~> 1.10) rainbow - rubocop (>= 0.50.0) + rubocop (>= 1.0) sysexits (~> 1.1) hashdiff (1.1.0) hashery (2.1.2) @@ -562,7 +562,7 @@ GEM sysexits (1.2.0) temple (0.10.3) thor (1.3.1) - tilt (2.1.0) + tilt (2.3.0) timecop (0.9.8) timeout (0.4.1) transitions (1.3.0) From abc7e0d123c1df5668dab86e2932044ac32eca49 Mon Sep 17 00:00:00 2001 From: Henne Vogelsang Date: Tue, 26 Mar 2024 12:02:07 +0100 Subject: [PATCH 006/325] Update haml-lint TODO --- .haml-lint_todo.yml | 67 +++++++++++++++++++++++++-------------------- 1 file changed, 37 insertions(+), 30 deletions(-) diff --git a/.haml-lint_todo.yml b/.haml-lint_todo.yml index 76ec92e79..4675819b5 100644 --- a/.haml-lint_todo.yml +++ b/.haml-lint_todo.yml @@ -1,6 +1,6 @@ # This configuration was generated by # `haml-lint --auto-gen-config` -# on 2021-08-13 13:00:39 +0000 using Haml-Lint version 0.28.0. +# on 2024-03-26 11:01:18 +0000 using Haml-Lint version 0.57.0. # The point is for the user to remove these configuration records # one by one as the lints are removed from the code base. # Note that changes in the inspected code, or installation of new @@ -8,7 +8,11 @@ linters: - # Offense count: 1141 + # Offense count: 401 + InstanceVariables: + enabled: false + + # Offense count: 1378 RuboCop: enabled: false @@ -22,15 +26,11 @@ linters: - "app/views/booths/index.html.haml" - "app/views/schedules/_carousel.html.haml" - # Offense count: 981 + # Offense count: 967 LineLength: enabled: false - # Offense count: 206 - InstanceVariables: - enabled: false - - # Offense count: 12 + # Offense count: 13 ViewLength: exclude: - "app/views/admin/booths/index.html.haml" @@ -43,9 +43,9 @@ linters: - "app/views/admin/versions/_object_desc_and_link.html.haml" - "app/views/conference_registrations/show.html.haml" - "app/views/layouts/_admin_sidebar.html.haml" + - "app/views/proposals/_form.html.haml" - "app/views/proposals/index.html.haml" - "app/views/proposals/show.html.haml" - - "app/views/proposals/_form.html.haml" # Offense count: 28 IdNames: @@ -63,21 +63,34 @@ linters: - "app/views/admin/users/show.html.haml" - "app/views/users/edit.html.haml" - # Offense count: 38 + # Offense count: 37 InlineStyles: enabled: false - # Offense count: 3 + # Offense count: 378 + SpaceInsideHashAttributes: + enabled: false + + # Offense count: 10 + TrailingEmptyLines: + exclude: + - "app/views/admin/conferences/_form_fields.html.haml" + - "app/views/admin/events/_all_with_comments.csv.haml" + - "app/views/admin/events/_form.html.haml" + - "app/views/admin/events/_proposal.html.haml" + - "app/views/admin/schedules/_form.html.haml" + - "app/views/admin/sponsorship_levels/_form.html.haml" + - "app/views/application/_big_statistic.haml" + - "app/views/booths/_form.html.haml" + - "app/views/schedules/_schedule_item.html.haml" + - "app/views/users/edit.html.haml" + + # Offense count: 1 UnnecessaryInterpolation: exclude: - "app/views/admin/conferences/_recent_submissions.html.haml" - - "app/views/proposals/new.html.haml" - - # Offense count: 262 - SpaceInsideHashAttributes: - enabled: false - # Offense count: 24 + # Offense count: 21 ClassesBeforeIds: exclude: - "app/views/admin/emails/index.html.haml" @@ -87,11 +100,9 @@ linters: - "app/views/admin/venues/_form.html.haml" - "app/views/conferences/index.html.haml" - "app/views/devise/shared/_help.html.haml" - - "app/views/devise/shared/_sign_in_form_embedded.html.haml" - "app/views/layouts/_navigation.html.haml" - - "app/views/proposals/_form.html.haml" - # Offense count: 19 + # Offense count: 16 UnnecessaryStringOutput: exclude: - "app/views/admin/event_types/index.html.haml" @@ -101,16 +112,9 @@ linters: - "app/views/admin/versions/_object_desc_and_link.html.haml" - "app/views/admin/volunteers/show.html.haml" - "app/views/conference_registrations/show.html.haml" - - "app/views/conferences/_conference_details.html.haml" - "app/views/proposals/_encouragement_text.html.haml" - - "app/views/proposals/_form.html.haml" - - "app/views/users/edit.html.haml" - "app/views/users/show.html.haml" - # Offense count: 31 - SpaceBeforeScript: - enabled: false - # Offense count: 1 ImplicitDiv: exclude: @@ -134,10 +138,13 @@ linters: - "app/views/layouts/_navigation.html.haml" - "app/views/schedules/events.html.haml" - # Offense count: 7 + # Offense count: 30 + SpaceBeforeScript: + enabled: false + + # Offense count: 5 TrailingWhitespace: exclude: - - "app/views/admin/volunteers/index.html.haml" - "app/views/admin/volunteers/show.html.haml" - "app/views/conference_registrations/_volunteer.html.haml" - "app/views/devise/passwords/new.html.haml" @@ -146,4 +153,4 @@ linters: # Offense count: 1 FinalNewline: exclude: - - "app/views/layouts/_admin.html.haml" + - "app/views/layouts/_admin.html.haml" \ No newline at end of file From 47253e17faa9162f9c44af7d0bb44f046755df3e Mon Sep 17 00:00:00 2001 From: Henne Vogelsang Date: Tue, 26 Mar 2024 12:13:21 +0100 Subject: [PATCH 007/325] Update rubocop TODO --- .rubocop_todo.yml | 36 +++++++++++++++++++++++++++++++++--- 1 file changed, 33 insertions(+), 3 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 141951efe..a11f1ce07 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -1,6 +1,6 @@ # This configuration was generated by # `rubocop --auto-gen-config` -# on 2024-03-26 10:26:16 UTC using RuboCop version 1.61.0. +# on 2024-03-26 11:13:17 UTC using RuboCop version 1.62.1. # The point is for the user to remove these configuration records # one by one as the offenses are removed from the code base. # Note that changes in the inspected code, or installation of new @@ -681,7 +681,7 @@ RSpec/ContextWording: # Offense count: 73 # This cop supports unsafe autocorrection (--autocorrect-all). -# Configuration parameters: SkipBlocks, EnforcedStyle. +# Configuration parameters: SkipBlocks, EnforcedStyle, OnlyStaticConstants. # SupportedStyles: described_class, explicit RSpec/DescribedClass: Exclude: @@ -925,6 +925,13 @@ RSpec/MatchArray: RSpec/MessageSpies: EnforcedStyle: receive +# Offense count: 244 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedStyle. +# SupportedStyles: hash, symbol +RSpec/MetadataStyle: + Enabled: false + # Offense count: 1 RSpec/MultipleDescribes: Exclude: @@ -984,6 +991,8 @@ RSpec/Rails/AvoidSetupHook: # Offense count: 2 # This cop supports unsafe autocorrection (--autocorrect-all). +# Configuration parameters: ResponseMethods. +# ResponseMethods: response, last_response RSpec/Rails/HaveHttpStatus: Exclude: - 'spec/controllers/admin/event_schedules_controller_spec.rb' @@ -1006,7 +1015,7 @@ RSpec/Rails/InferredSpecType: - 'spec/routing/routing_spec.rb' # Offense count: 12 -# This cop supports safe autocorrection (--autocorrect). +# This cop supports unsafe autocorrection (--autocorrect-all). RSpec/ReceiveMessages: Exclude: - 'spec/models/track_spec.rb' @@ -1053,6 +1062,27 @@ RSpec/SortMetadata: Exclude: - 'spec/features/versions_spec.rb' +# Offense count: 8 +# Configuration parameters: Include, CustomTransform, IgnoreMethods, IgnoreMetadata. +# Include: **/*_spec.rb +RSpec/SpecFilePathFormat: + Exclude: + - 'spec/controllers/conference_registration_controller_spec.rb' + - 'spec/controllers/physical_ticket_controller_spec.rb' + - 'spec/features/email_spec.rb' + - 'spec/features/omniauth_spec.rb' + - 'spec/features/proposals_spec.rb' + - 'spec/features/ticket_purchases_spec.rb' + - 'spec/features/venues_spec.rb' + - 'spec/models/comment_spec.rb' + +# Offense count: 1 +# Configuration parameters: Include. +# Include: **/*_spec*rb*, **/spec/**/* +RSpec/SpecFilePathSuffix: + Exclude: + - 'spec/models/openid.rb' + # Offense count: 9 RSpec/StubbedMock: Exclude: From 112c2b6f97e8b4eba82ae60ee0e483697389fb55 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Tue, 26 Mar 2024 11:15:38 +0000 Subject: [PATCH 008/325] Update sprockets to version 4.2.1 --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 1acedc348..37ab752b4 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -386,7 +386,7 @@ GEM puma (6.4.2) nio4r (~> 2.0) racc (1.7.3) - rack (2.2.8.1) + rack (2.2.9) rack-openid (1.4.2) rack (>= 1.1.0) ruby-openid (>= 2.1.8) @@ -544,7 +544,7 @@ GEM snaky_hash (2.0.1) hashie version_gem (~> 1.1, >= 1.1.1) - sprockets (4.2.0) + sprockets (4.2.1) concurrent-ruby (~> 1.0) rack (>= 2.2.4, < 4) sprockets-rails (3.4.2) From d913e7494e7065f08517ee61648fa1ae40771d8a Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Tue, 26 Mar 2024 11:45:37 +0000 Subject: [PATCH 009/325] Update websocket to version 1.2.10 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 11a41ae62..c41336bd1 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -595,7 +595,7 @@ GEM addressable (>= 2.8.0) crack (>= 0.3.2) hashdiff (>= 0.4.0, < 2.0.0) - websocket (1.2.9) + websocket (1.2.10) websocket-driver (0.7.6) websocket-extensions (>= 0.1.0) websocket-extensions (0.1.5) From 264262717387212e6ccb300d881805ec4dbf3f2c Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Tue, 26 Mar 2024 11:55:29 +0000 Subject: [PATCH 010/325] Update mime-types-data to version 3.2024.0305 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 0e26c882d..71ac82fda 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -283,7 +283,7 @@ GEM method_source (1.0.0) mime-types (3.5.2) mime-types-data (~> 3.2015) - mime-types-data (3.2024.0206) + mime-types-data (3.2024.0305) mina (1.2.5) rake mini_magick (4.12.0) From e8c4e7a7c4090e83a2bc5c63f2c1a04af56099ae Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Tue, 26 Mar 2024 14:05:23 +0000 Subject: [PATCH 011/325] Update paper_trail to version 15.1.0 --- Gemfile.lock | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 0e26c882d..61fe64939 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -225,7 +225,7 @@ GEM http-accept (1.7.0) http-cookie (1.0.5) domain_name (~> 0.5) - i18n (1.14.1) + i18n (1.14.4) concurrent-ruby (~> 1.0) i18n_data (0.17.1) simple_po_parser (~> 1.1) @@ -289,7 +289,7 @@ GEM mini_magick (4.12.0) mini_mime (1.1.5) mini_portile2 (2.8.5) - minitest (5.22.2) + minitest (5.22.3) momentjs-rails (2.29.4.1) railties (>= 3.1) monetize (1.13.0) @@ -353,9 +353,9 @@ GEM actionpack (>= 4.2) omniauth (~> 2.0) orm_adapter (0.5.0) - paper_trail (12.3.0) - activerecord (>= 5.2) - request_store (~> 1.1) + paper_trail (15.1.0) + activerecord (>= 6.1) + request_store (~> 1.4) parallel (1.24.0) parser (3.3.0.5) ast (~> 2.4.1) From ba8f7e5cf37e877ce5ed49cd4e58f848dcbc41be Mon Sep 17 00:00:00 2001 From: Henne Vogelsang Date: Tue, 26 Mar 2024 16:20:12 +0100 Subject: [PATCH 012/325] Allow to serialize TimeZone classes --- config/application.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/application.rb b/config/application.rb index 1953c5290..fc72c02cc 100644 --- a/config/application.rb +++ b/config/application.rb @@ -36,6 +36,6 @@ class Application < Rails::Application # This is a nightmare with our current data model, no one ever thought about this. config.active_record.belongs_to_required_by_default = false # https://discuss.rubyonrails.org/t/cve-2022-32224-possible-rce-escalation-bug-with-serialized-columns-in-active-record/81017 - config.active_record.yaml_column_permitted_classes = ['Date', 'DateTime', 'Symbol', 'Time'] + config.active_record.yaml_column_permitted_classes = ['Date', 'DateTime', 'Symbol', 'Time', 'ActiveSupport::TimeWithZone', 'ActiveSupport::TimeZone'] end end From a3a94cdce3ae76c3be2a2c54dd31b59b80ba7393 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Tue, 26 Mar 2024 15:50:38 +0000 Subject: [PATCH 013/325] Update carrierwave to version 3.0.6 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 61fe64939..dff35f8c0 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -113,7 +113,7 @@ GEM rack-test (>= 0.6.3) regexp_parser (>= 1.5, < 3.0) xpath (~> 3.2) - carrierwave (3.0.5) + carrierwave (3.0.6) activemodel (>= 6.0.0) activesupport (>= 6.0.0) addressable (~> 2.6) From af7dd310ec9d06e3aaef8ac5713e103f9465fc30 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Tue, 26 Mar 2024 15:55:29 +0000 Subject: [PATCH 014/325] Update rails-i18n to version 7.0.9 --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index db4b922f4..7d940d5ce 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -319,7 +319,7 @@ GEM next_rails (1.3.0) colorize (>= 0.8.1) nio4r (2.7.0) - nokogiri (1.16.2) + nokogiri (1.16.3) mini_portile2 (~> 2.8.2) racc (~> 1.4) oauth2 (2.0.9) @@ -419,7 +419,7 @@ GEM rails-html-sanitizer (1.6.0) loofah (~> 2.21) nokogiri (~> 1.14) - rails-i18n (7.0.8) + rails-i18n (7.0.9) i18n (>= 0.7, < 2) railties (>= 6.0.0, < 8) railties (7.0.8.1) From ecd738e860154024ceee21f362761d35938de30b Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Tue, 26 Mar 2024 16:00:24 +0000 Subject: [PATCH 015/325] Update bigdecimal to version 3.1.7 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index db4b922f4..1abb88e31 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -93,7 +93,7 @@ GEM activerecord (>= 4.0.0, < 7.2) aws_cf_signer (0.1.3) bcrypt (3.1.20) - bigdecimal (3.1.6) + bigdecimal (3.1.7) bindex (0.8.1) bootstrap-sass (3.4.1) autoprefixer-rails (>= 5.2.1) From 58d1ac5899fa5d0362a77cb70cd1778fef2cb4e8 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Tue, 5 Mar 2024 16:53:49 +0000 Subject: [PATCH 016/325] Update dotenv-rails to version 3.1.0 --- Gemfile.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 9687bcb61..0ece039bb 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -176,10 +176,10 @@ GEM diff-lcs (1.5.1) docile (1.4.0) domain_name (0.6.20240107) - dotenv (2.8.1) - dotenv-rails (2.8.1) - dotenv (= 2.8.1) - railties (>= 3.2) + dotenv (3.1.0) + dotenv-rails (3.1.0) + dotenv (= 3.1.0) + railties (>= 6.1) erubi (1.12.0) execjs (2.9.1) factory_bot (6.4.6) From ac3835914133dc301b5d07a42666debf6d4f4998 Mon Sep 17 00:00:00 2001 From: Henne Vogelsang Date: Tue, 26 Mar 2024 17:11:25 +0100 Subject: [PATCH 017/325] ENV is not a constant... --- spec/controllers/conference_registration_controller_spec.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/spec/controllers/conference_registration_controller_spec.rb b/spec/controllers/conference_registration_controller_spec.rb index 5ed47c1f7..62162e131 100644 --- a/spec/controllers/conference_registration_controller_spec.rb +++ b/spec/controllers/conference_registration_controller_spec.rb @@ -12,7 +12,7 @@ shared_examples 'access #new action' do |user, ichain, path, message| before :each do sign_in send(user) if user - stub_const('ENV', ENV.to_hash.merge('OSEM_ICHAIN_ENABLED' => ichain)) + ENV['OSEM_ICHAIN_ENABLED'] = ichain get :new, params: { conference_id: conference.short_title } end @@ -28,7 +28,7 @@ shared_examples 'can access #new action' do |user, ichain| before :each do sign_in send(user) if user - stub_const('ENV', ENV.to_hash.merge('OSEM_ICHAIN_ENABLED' => ichain)) + ENV['OSEM_ICHAIN_ENABLED'] = ichain get :new, params: { conference_id: conference.short_title } end From d2d0ce2388b51f9c48a5808da0257cf7e10c4d73 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Tue, 26 Mar 2024 16:20:22 +0000 Subject: [PATCH 018/325] Update sqlite3 to version 1.7.3 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 07e5c5419..673963aed 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -551,7 +551,7 @@ GEM actionpack (>= 5.2) activesupport (>= 5.2) sprockets (>= 3.0.0) - sqlite3 (1.7.2) + sqlite3 (1.7.3) mini_portile2 (~> 2.8.0) ssrf_filter (1.1.2) stripe (5.55.0) From 6cd07e28a6e5e1f408fe581c673c896d3352db20 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Tue, 26 Mar 2024 16:25:31 +0000 Subject: [PATCH 019/325] Update rspec-rails to version 6.1.2 --- Gemfile.lock | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 07e5c5419..66c862abe 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -462,14 +462,14 @@ GEM rspec-mocks (3.13.0) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.13.0) - rspec-rails (6.1.1) + rspec-rails (6.1.2) actionpack (>= 6.1) activesupport (>= 6.1) railties (>= 6.1) - rspec-core (~> 3.12) - rspec-expectations (~> 3.12) - rspec-mocks (~> 3.12) - rspec-support (~> 3.12) + rspec-core (~> 3.13) + rspec-expectations (~> 3.13) + rspec-mocks (~> 3.13) + rspec-support (~> 3.13) rspec-support (3.13.1) rubocop (1.62.1) json (~> 2.3) From 2d4d1c973b180cc56a760778aa95acf35652fd4f Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Tue, 26 Mar 2024 16:43:44 +0000 Subject: [PATCH 020/325] Update jwt to version 2.8.1 --- Gemfile.lock | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index d4c027718..27ad4db97 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -92,6 +92,7 @@ GEM awesome_nested_set (3.6.0) activerecord (>= 4.0.0, < 7.2) aws_cf_signer (0.1.3) + base64 (0.2.0) bcrypt (3.1.20) bigdecimal (3.1.7) bindex (0.8.1) @@ -252,7 +253,8 @@ GEM json-schema (4.1.1) addressable (>= 2.8) jsonapi-renderer (0.2.2) - jwt (2.7.1) + jwt (2.8.1) + base64 language_server-protocol (3.17.0.3) launchy (2.5.2) addressable (~> 2.8) From 63c7a12349668a96326ef4b3f069eb7e9a5cbb6c Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Tue, 26 Mar 2024 16:46:25 +0000 Subject: [PATCH 021/325] Update money to version 6.19.0 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index d4c027718..c3e19376a 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -294,7 +294,7 @@ GEM railties (>= 3.1) monetize (1.13.0) money (~> 6.12) - money (6.18.0) + money (6.19.0) i18n (>= 0.6.4, <= 2) money-rails (1.15.0) activesupport (>= 3.0) From 8adf05ab836f1c642598d606c9c7fa57f6786b34 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Tue, 26 Mar 2024 18:45:38 +0000 Subject: [PATCH 022/325] Update prawn to version 2.5.0 --- Gemfile.lock | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index a176f740b..39951fbc5 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -362,7 +362,7 @@ GEM parser (3.3.0.5) ast (~> 2.4.1) racc - pdf-core (0.9.0) + pdf-core (0.10.0) pdf-inspector (1.3.0) pdf-reader (>= 1.0, < 3.0.a) pdf-reader (2.12.0) @@ -372,9 +372,10 @@ GEM ruby-rc4 ttfunk pg (1.5.6) - prawn (2.4.0) - pdf-core (~> 0.9.0) - ttfunk (~> 1.7) + prawn (2.5.0) + matrix (~> 0.4) + pdf-core (~> 0.10.0) + ttfunk (~> 1.8) prawn-qrcode (0.5.2) prawn (>= 1) rqrcode (>= 1.0.0) From cb252414fe10cd2ab5c7f276f20d622713647a9c Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Tue, 26 Mar 2024 18:47:33 +0000 Subject: [PATCH 023/325] Update json-schema to version 4.2.0 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index a176f740b..110a21685 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -250,7 +250,7 @@ GEM jquery-ui-rails (6.0.1) railties (>= 3.2.16) json (2.7.1) - json-schema (4.1.1) + json-schema (4.2.0) addressable (>= 2.8) jsonapi-renderer (0.2.2) jwt (2.8.1) From 8f8b2fbc69b5bbb3f637cacecdbfad7361a045ce Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Tue, 26 Mar 2024 18:48:49 +0000 Subject: [PATCH 024/325] Update shoulda-matchers to version 6.2.0 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index a176f740b..ea0dbf0b0 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -529,7 +529,7 @@ GEM sentry-ruby (~> 5.16.1) sentry-ruby (5.16.1) concurrent-ruby (~> 1.0, >= 1.0.2) - shoulda-matchers (6.1.0) + shoulda-matchers (6.2.0) activesupport (>= 5.2.0) simple_po_parser (1.1.6) simplecov (0.22.0) From 2e33e62c2fa6618690988cc7ad082feafb33fc06 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Tue, 26 Mar 2024 18:48:49 +0000 Subject: [PATCH 025/325] Update all of sentry-ruby-core to version 5.17.1 --- Gemfile.lock | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index a176f740b..ba1f2016f 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -524,10 +524,11 @@ GEM rexml (~> 3.2, >= 3.2.5) rubyzip (>= 1.2.2, < 3.0) websocket (~> 1.0) - sentry-rails (5.16.1) + sentry-rails (5.17.1) railties (>= 5.0) - sentry-ruby (~> 5.16.1) - sentry-ruby (5.16.1) + sentry-ruby (~> 5.17.1) + sentry-ruby (5.17.1) + bigdecimal concurrent-ruby (~> 1.0, >= 1.0.2) shoulda-matchers (6.1.0) activesupport (>= 5.2.0) From ce1f0781d32cfc8f20efd857e4d43b3040b54bc5 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Tue, 26 Mar 2024 18:49:48 +0000 Subject: [PATCH 026/325] Update carrierwave to version 3.0.7 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index a176f740b..4ee1ca346 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -114,7 +114,7 @@ GEM rack-test (>= 0.6.3) regexp_parser (>= 1.5, < 3.0) xpath (~> 3.2) - carrierwave (3.0.6) + carrierwave (3.0.7) activemodel (>= 6.0.0) activesupport (>= 6.0.0) addressable (~> 2.6) From 856bd7718e69edca2905d38559bc30e2870f81f9 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Wed, 27 Mar 2024 11:11:21 +0000 Subject: [PATCH 027/325] Update net-imap to version 0.4.10 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 5c8c5c32f..c5713cb17 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -308,7 +308,7 @@ GEM mysql2 (0.5.6) net-http (0.4.1) uri - net-imap (0.3.7) + net-imap (0.4.10) date net-protocol net-pop (0.1.2) From bc3cafdb29eee18845d912779ca5adce25633cf0 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Wed, 27 Mar 2024 11:20:28 +0000 Subject: [PATCH 028/325] Update caxlsx to version 4.1.0 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 5c8c5c32f..cc6c9201e 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -127,7 +127,7 @@ GEM fastimage case_transform (0.2) activesupport - caxlsx (3.4.1) + caxlsx (4.1.0) htmlentities (~> 4.3, >= 4.3.4) marcel (~> 1.0) nokogiri (~> 1.10, >= 1.10.4) From c750bcedaf31eff25056a61ce59e8da1d3f0ee42 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Wed, 27 Mar 2024 21:45:53 +0000 Subject: [PATCH 029/325] Update nio4r to version 2.7.1 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 47c127d8f..94cdee9f5 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -320,7 +320,7 @@ GEM netrc (0.11.0) next_rails (1.3.0) colorize (>= 0.8.1) - nio4r (2.7.0) + nio4r (2.7.1) nokogiri (1.16.3) mini_portile2 (~> 2.8.2) racc (~> 1.4) From 08f46c52ca98005672fe4639246714986220b894 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Thu, 28 Mar 2024 21:45:23 +0000 Subject: [PATCH 030/325] Update version_gem to version 1.1.4 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 94cdee9f5..a477ab80d 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -583,7 +583,7 @@ GEM unobtrusive_flash (3.3.1) railties uri (0.13.0) - version_gem (1.1.3) + version_gem (1.1.4) warden (1.2.9) rack (>= 2.0.9) web-console (4.2.1) From 9b4af53078453ad50f501931ea4bb72dcb325c42 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Tue, 2 Apr 2024 00:46:11 +0000 Subject: [PATCH 031/325] Update faker to version 3.3.0 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 94cdee9f5..b0799e199 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -188,7 +188,7 @@ GEM factory_bot_rails (6.4.3) factory_bot (~> 6.4) railties (>= 5.0.0) - faker (3.2.3) + faker (3.3.0) i18n (>= 1.8.11, < 2) faraday (2.9.0) faraday-net_http (>= 2.0, < 3.2) From 0788cf1515eb1ed0e88db4474f5d6e56a1b0707b Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Tue, 2 Apr 2024 16:45:58 +0000 Subject: [PATCH 032/325] Update net-smtp to version 0.5.0 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index adbdbccfb..58636b4c2 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -315,7 +315,7 @@ GEM net-protocol net-protocol (0.2.2) timeout - net-smtp (0.4.0.1) + net-smtp (0.5.0) net-protocol netrc (0.11.0) next_rails (1.3.0) From 64f8426bacee29b7f22786ead925bac0e9c3365f Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Tue, 2 Apr 2024 20:15:22 +0000 Subject: [PATCH 033/325] Update json-schema to version 4.3.0 --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 58636b4c2..53ed7c41b 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -250,7 +250,7 @@ GEM jquery-ui-rails (6.0.1) railties (>= 3.2.16) json (2.7.1) - json-schema (4.2.0) + json-schema (4.3.0) addressable (>= 2.8) jsonapi-renderer (0.2.2) jwt (2.8.1) @@ -385,7 +385,7 @@ GEM prawn-table prawn-table (0.2.2) prawn (>= 1.3.0, < 3.0.0) - public_suffix (5.0.4) + public_suffix (5.0.5) puma (6.4.2) nio4r (~> 2.0) racc (1.7.3) From 58b7bcc8fb5da90e95521c14357cecc3c07a9a46 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Fri, 5 Apr 2024 10:45:39 +0000 Subject: [PATCH 034/325] Update omniauth-google-oauth2 to version 1.1.2 --- Gemfile.lock | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 53ed7c41b..c868f770b 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -331,7 +331,7 @@ GEM rack (>= 1.2, < 4) snaky_hash (~> 2.0) version_gem (~> 1.1) - omniauth (2.1.1) + omniauth (2.1.2) hashie (>= 3.4.6) rack (>= 2.2.3) rack-protection @@ -340,11 +340,11 @@ GEM omniauth-github (2.0.1) omniauth (~> 2.0) omniauth-oauth2 (~> 1.8) - omniauth-google-oauth2 (1.1.1) + omniauth-google-oauth2 (1.1.2) jwt (>= 2.0) - oauth2 (~> 2.0.6) + oauth2 (~> 2.0) omniauth (~> 2.0) - omniauth-oauth2 (~> 1.8.0) + omniauth-oauth2 (~> 1.8) omniauth-oauth2 (1.8.0) oauth2 (>= 1.4, < 3) omniauth (~> 2.0) @@ -393,8 +393,9 @@ GEM rack-openid (1.4.2) rack (>= 1.1.0) ruby-openid (>= 2.1.8) - rack-protection (3.0.6) - rack + rack-protection (3.2.0) + base64 (>= 0.1.0) + rack (~> 2.2, >= 2.2.4) rack-test (2.1.0) rack (>= 1.3) rails (7.0.8.1) From 10dbb087e2f16cbd18fb38e6d4735b89c4e80ad0 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Sat, 6 Apr 2024 10:45:51 +0000 Subject: [PATCH 035/325] Update rubocop-performance to version 1.21.0 --- Gemfile.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index c868f770b..3ac32542b 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -249,7 +249,7 @@ GEM thor (>= 0.14, < 2.0) jquery-ui-rails (6.0.1) railties (>= 3.2.16) - json (2.7.1) + json (2.7.2) json-schema (4.3.0) addressable (>= 2.8) jsonapi-renderer (0.2.2) @@ -492,9 +492,9 @@ GEM rubocop (~> 1.41) rubocop-factory_bot (2.25.1) rubocop (~> 1.41) - rubocop-performance (1.20.2) + rubocop-performance (1.21.0) rubocop (>= 1.48.1, < 2.0) - rubocop-ast (>= 1.30.0, < 2.0) + rubocop-ast (>= 1.31.1, < 2.0) rubocop-rails (2.24.0) activesupport (>= 4.2.0) rack (>= 1.1) From f9695621f2218c7a2059e00c5a3c67461ac34143 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Sat, 6 Apr 2024 14:45:46 +0000 Subject: [PATCH 036/325] Update letter_opener to version 1.10.0 --- Gemfile.lock | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index c868f770b..9f060f340 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -136,6 +136,7 @@ GEM actionpack (>= 3.1) caxlsx (>= 3.0) chartkick (5.0.6) + childprocess (5.0.0) chronic (0.10.2) chunky_png (1.4.0) climate_control (1.2.0) @@ -256,12 +257,13 @@ GEM jwt (2.8.1) base64 language_server-protocol (3.17.0.3) - launchy (2.5.2) + launchy (3.0.0) addressable (~> 2.8) + childprocess (~> 5.0) leaflet-rails (1.9.3) rails (>= 4.2.0) - letter_opener (1.9.0) - launchy (>= 2.2, < 3) + letter_opener (1.10.0) + launchy (>= 2.2, < 4) letter_opener_web (2.0.0) actionmailer (>= 5.2) letter_opener (~> 1.7) From 9f817621b3e343c7e6c462276220b4022966cfc1 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Mon, 8 Apr 2024 16:45:35 +0000 Subject: [PATCH 037/325] Update fastimage to version 2.3.1 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 1a2b9a272..152302c94 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -195,7 +195,7 @@ GEM faraday-net_http (>= 2.0, < 3.2) faraday-net_http (3.1.0) net-http - fastimage (2.3.0) + fastimage (2.3.1) feature (1.4.0) ffi (1.16.3) font-awesome-sass (6.5.1) From 5e08ebacb91af68066b87788a5b8b2a951f1f2bb Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Tue, 9 Apr 2024 01:45:54 +0000 Subject: [PATCH 038/325] Update rake to version 13.2.1 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 1a2b9a272..21841e815 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -436,7 +436,7 @@ GEM thor (~> 1.0) zeitwerk (~> 2.5) rainbow (3.1.1) - rake (13.1.0) + rake (13.2.1) recaptcha (5.16.0) redcarpet (3.6.0) regexp_parser (2.9.0) From 06a6f9dbc2fc210f54bde36423c392582fab83f7 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Tue, 9 Apr 2024 14:16:03 +0000 Subject: [PATCH 039/325] Update faker to version 3.3.1 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 1a9fe28c7..ed6eff9ee 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -189,7 +189,7 @@ GEM factory_bot_rails (6.4.3) factory_bot (~> 6.4) railties (>= 5.0.0) - faker (3.3.0) + faker (3.3.1) i18n (>= 1.8.11, < 2) faraday (2.9.0) faraday-net_http (>= 2.0, < 3.2) From 6ba430c8ac8e87a36c883d756ebf7508c2d37322 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Wed, 10 Apr 2024 19:15:38 +0000 Subject: [PATCH 040/325] Update font-awesome-sass to version 6.5.2 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index ed6eff9ee..92cda81c0 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -198,7 +198,7 @@ GEM fastimage (2.3.1) feature (1.4.0) ffi (1.16.3) - font-awesome-sass (6.5.1) + font-awesome-sass (6.5.2) sassc (~> 2.0) geckodriver-helper (0.24.0) archive-zip (~> 0.7) From 578210df9f42846a8dd425ed1cf38343120381c8 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Tue, 16 Apr 2024 08:20:43 +0000 Subject: [PATCH 041/325] Update cloudinary to version 2.0.2 --- Gemfile.lock | 26 +++++++++----------------- 1 file changed, 9 insertions(+), 17 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 92cda81c0..4dc487557 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -91,7 +91,6 @@ GEM execjs (~> 2) awesome_nested_set (3.6.0) activerecord (>= 4.0.0, < 7.2) - aws_cf_signer (0.1.3) base64 (0.2.0) bcrypt (3.1.20) bigdecimal (3.1.7) @@ -140,9 +139,10 @@ GEM chronic (0.10.2) chunky_png (1.4.0) climate_control (1.2.0) - cloudinary (1.29.0) - aws_cf_signer - rest-client (>= 2.0.0) + cloudinary (2.0.2) + faraday (>= 2.0.1, < 3.0.0) + faraday-follow_redirects (~> 0.3.0) + faraday-multipart (~> 1.0, >= 1.0.4) cocoon (1.2.15) colorize (1.1.0) concurrent-ruby (1.2.3) @@ -177,7 +177,6 @@ GEM devise (>= 2.2) diff-lcs (1.5.1) docile (1.4.0) - domain_name (0.6.20240107) dotenv (3.1.0) dotenv-rails (3.1.0) dotenv (= 3.1.0) @@ -193,6 +192,10 @@ GEM i18n (>= 1.8.11, < 2) faraday (2.9.0) faraday-net_http (>= 2.0, < 3.2) + faraday-follow_redirects (0.3.0) + faraday (>= 1, < 3) + faraday-multipart (1.0.4) + multipart-post (~> 2) faraday-net_http (3.1.0) net-http fastimage (2.3.1) @@ -224,9 +227,6 @@ GEM hashery (2.1.2) hashie (5.0.0) htmlentities (4.3.4) - http-accept (1.7.0) - http-cookie (1.0.5) - domain_name (~> 0.5) i18n (1.14.4) concurrent-ruby (~> 1.0) i18n_data (0.17.1) @@ -285,9 +285,6 @@ GEM marcel (1.0.4) matrix (0.4.2) method_source (1.0.0) - mime-types (3.5.2) - mime-types-data (~> 3.2015) - mime-types-data (3.2024.0305) mina (1.2.5) rake mini_magick (4.12.0) @@ -307,6 +304,7 @@ GEM railties (>= 3.0) multi_json (1.15.0) multi_xml (0.6.0) + multipart-post (2.4.0) mysql2 (0.5.6) net-http (0.4.1) uri @@ -319,7 +317,6 @@ GEM timeout net-smtp (0.5.0) net-protocol - netrc (0.11.0) next_rails (1.3.0) colorize (>= 0.8.1) nio4r (2.7.1) @@ -445,11 +442,6 @@ GEM responders (3.1.1) actionpack (>= 5.2) railties (>= 5.2) - rest-client (2.1.0) - http-accept (>= 1.7.0, < 2.0) - http-cookie (>= 1.0.2, < 2.0) - mime-types (>= 1.16, < 4.0) - netrc (~> 0.8) rexml (3.2.6) rolify (6.0.1) rqrcode (2.2.0) From e2a68eae3bec8368e0c7b8aa48cb6363f16ca5b3 Mon Sep 17 00:00:00 2001 From: Henne Vogelsang Date: Tue, 16 Apr 2024 12:40:50 +0200 Subject: [PATCH 042/325] Update ajax-datatables-rails to version 1.5.0 --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 92cda81c0..6e636f8a5 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -81,8 +81,8 @@ GEM addressable (2.8.6) public_suffix (>= 2.0.2, < 6.0) afm (0.2.2) - ajax-datatables-rails (1.4.0) - rails (>= 5.2) + ajax-datatables-rails (1.5.0) + rails (>= 6.0) zeitwerk archive-zip (0.12.0) io-like (~> 0.3.0) From 1f805eca560f51ebcdf1404d5968ea854dd229a3 Mon Sep 17 00:00:00 2001 From: Henne Vogelsang Date: Tue, 16 Apr 2024 12:54:11 +0200 Subject: [PATCH 043/325] Update leaflet-rails to version 1.9.4 --- Gemfile.lock | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 6e636f8a5..d6c89625d 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -260,8 +260,9 @@ GEM launchy (3.0.0) addressable (~> 2.8) childprocess (~> 5.0) - leaflet-rails (1.9.3) - rails (>= 4.2.0) + leaflet-rails (1.9.4) + actionpack (>= 4.2.0) + railties (>= 4.2.0) letter_opener (1.10.0) launchy (>= 2.2, < 4) letter_opener_web (2.0.0) From 10f8c46119470d83a406ab3efde688ef9dcc53b7 Mon Sep 17 00:00:00 2001 From: Henne Vogelsang Date: Tue, 16 Apr 2024 13:27:34 +0200 Subject: [PATCH 044/325] Update rubocop-rails to version 2.24.1 --- Gemfile.lock | 4 ++-- spec/support/save_feature_failures.rb | 4 +++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 1a2b9a272..5f3009cc3 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -477,7 +477,7 @@ GEM rspec-mocks (~> 3.13) rspec-support (~> 3.13) rspec-support (3.13.1) - rubocop (1.62.1) + rubocop (1.63.0) json (~> 2.3) language_server-protocol (>= 3.17.0) parallel (~> 1.10) @@ -497,7 +497,7 @@ GEM rubocop-performance (1.21.0) rubocop (>= 1.48.1, < 2.0) rubocop-ast (>= 1.31.1, < 2.0) - rubocop-rails (2.24.0) + rubocop-rails (2.24.1) activesupport (>= 4.2.0) rack (>= 1.1) rubocop (>= 1.33.0, < 2.0) diff --git a/spec/support/save_feature_failures.rb b/spec/support/save_feature_failures.rb index 3f7129c41..fb35bfe17 100644 --- a/spec/support/save_feature_failures.rb +++ b/spec/support/save_feature_failures.rb @@ -7,13 +7,15 @@ example_filename = File.expand_path(example_filename, Capybara.save_path) example_screenshotname = "#{example_filename}.png" example_filename += '.html' + # rubocop:disable Lint/Debugger if RSpec.current_example.exception.present? save_page(example_filename) - save_screenshot(example_screenshotname) # rubocop:disable Lint/Debugger + save_screenshot(example_screenshotname) # remove the file if the test starts working again else File.unlink(example_filename) if File.exist?(example_filename) File.unlink(example_screenshotname) if File.exist?(example_screenshotname) end + # rubocop:enable Lint/Debugger end end From 9f992791c3e9ab0939ac3ec6c8a7a5b3f7b10c6f Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Tue, 16 Apr 2024 11:36:06 +0000 Subject: [PATCH 045/325] Update rubocop-rspec to version 2.29.1 --- Gemfile.lock | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 470eeaeda..b557c8f7c 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -470,7 +470,7 @@ GEM rspec-mocks (~> 3.13) rspec-support (~> 3.13) rspec-support (3.13.1) - rubocop (1.63.0) + rubocop (1.63.2) json (~> 2.3) language_server-protocol (>= 3.17.0) parallel (~> 1.10) @@ -495,10 +495,13 @@ GEM rack (>= 1.1) rubocop (>= 1.33.0, < 2.0) rubocop-ast (>= 1.31.1, < 2.0) - rubocop-rspec (2.27.1) + rubocop-rspec (2.29.1) rubocop (~> 1.40) rubocop-capybara (~> 2.17) rubocop-factory_bot (~> 2.22) + rubocop-rspec_rails (~> 2.28) + rubocop-rspec_rails (2.28.3) + rubocop (~> 1.40) ruby-oembed (0.17.0) ruby-openid (2.9.2) ruby-progressbar (1.13.0) From 1ac19034112e258858a7ed4c03c56ad3a572aab0 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Wed, 17 Apr 2024 19:16:18 +0000 Subject: [PATCH 046/325] Update nokogiri to version 1.16.4 --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index b557c8f7c..906e015cc 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -290,7 +290,7 @@ GEM rake mini_magick (4.12.0) mini_mime (1.1.5) - mini_portile2 (2.8.5) + mini_portile2 (2.8.6) minitest (5.22.3) momentjs-rails (2.29.4.1) railties (>= 3.1) @@ -321,7 +321,7 @@ GEM next_rails (1.3.0) colorize (>= 0.8.1) nio4r (2.7.1) - nokogiri (1.16.3) + nokogiri (1.16.4) mini_portile2 (~> 2.8.2) racc (~> 1.4) oauth2 (2.0.9) From c36a664202d7f9647800385f5c44884782969410 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Thu, 18 Apr 2024 16:47:46 +0000 Subject: [PATCH 047/325] Update all of sentry-ruby-core to version 5.17.3 --- Gemfile.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 906e015cc..308f58d41 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -285,7 +285,7 @@ GEM net-smtp marcel (1.0.4) matrix (0.4.2) - method_source (1.0.0) + method_source (1.1.0) mina (1.2.5) rake mini_magick (4.12.0) @@ -524,10 +524,10 @@ GEM rexml (~> 3.2, >= 3.2.5) rubyzip (>= 1.2.2, < 3.0) websocket (~> 1.0) - sentry-rails (5.17.1) + sentry-rails (5.17.3) railties (>= 5.0) - sentry-ruby (~> 5.17.1) - sentry-ruby (5.17.1) + sentry-ruby (~> 5.17.3) + sentry-ruby (5.17.3) bigdecimal concurrent-ruby (~> 1.0, >= 1.0.2) shoulda-matchers (6.2.0) From 1058bb8c647c5db715bb67e9313fbcc6f03b3c00 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Fri, 3 May 2024 19:15:50 +0000 Subject: [PATCH 048/325] Update parser to version 3.3.1.0 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 308f58d41..cb849474f 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -359,7 +359,7 @@ GEM activerecord (>= 6.1) request_store (~> 1.4) parallel (1.24.0) - parser (3.3.0.5) + parser (3.3.1.0) ast (~> 2.4.1) racc pdf-core (0.10.0) From 0e6185f9b31896d25c224cf5c977f4ce8afe0678 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Sat, 4 May 2024 23:15:28 +0000 Subject: [PATCH 049/325] Update haml_lint to version 0.58.0 --- Gemfile.lock | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 308f58d41..6e811efba 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -217,7 +217,7 @@ GEM activesupport (>= 5.1) haml (>= 4.0.6) railties (>= 5.1) - haml_lint (0.57.0) + haml_lint (0.58.0) haml (>= 5.0) parallel (~> 1.10) rainbow @@ -359,7 +359,7 @@ GEM activerecord (>= 6.1) request_store (~> 1.4) parallel (1.24.0) - parser (3.3.0.5) + parser (3.3.1.0) ast (~> 2.4.1) racc pdf-core (0.10.0) @@ -470,7 +470,7 @@ GEM rspec-mocks (~> 3.13) rspec-support (~> 3.13) rspec-support (3.13.1) - rubocop (1.63.2) + rubocop (1.63.4) json (~> 2.3) language_server-protocol (>= 3.17.0) parallel (~> 1.10) @@ -481,8 +481,8 @@ GEM rubocop-ast (>= 1.31.1, < 2.0) ruby-progressbar (~> 1.7) unicode-display_width (>= 2.4.0, < 3.0) - rubocop-ast (1.31.2) - parser (>= 3.3.0.4) + rubocop-ast (1.31.3) + parser (>= 3.3.1.0) rubocop-capybara (2.20.0) rubocop (~> 1.41) rubocop-factory_bot (2.25.1) From 005a01a4582aff5e8a8294cb607b2ac795b0e203 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Tue, 7 May 2024 20:23:01 +0000 Subject: [PATCH 050/325] Update dotenv to version 3.1.2 --- Gemfile.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 6e811efba..e18e53ced 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -177,9 +177,9 @@ GEM devise (>= 2.2) diff-lcs (1.5.1) docile (1.4.0) - dotenv (3.1.0) - dotenv-rails (3.1.0) - dotenv (= 3.1.0) + dotenv (3.1.2) + dotenv-rails (3.1.2) + dotenv (= 3.1.2) railties (>= 6.1) erubi (1.12.0) execjs (2.9.1) From fb5eb155fd13a0e23e9785f9e98af61a27e5f525 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Wed, 8 May 2024 19:15:34 +0000 Subject: [PATCH 051/325] Update multi_xml to version 0.7.1 --- Gemfile.lock | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 6e811efba..b3f28086c 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -304,7 +304,8 @@ GEM money (~> 6.13) railties (>= 3.0) multi_json (1.15.0) - multi_xml (0.6.0) + multi_xml (0.7.1) + bigdecimal (~> 3.1) multipart-post (2.4.0) mysql2 (0.5.6) net-http (0.4.1) From e5af088ddc4dce953a0ec7bd7a96608cfa2e5efe Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Mon, 13 May 2024 12:00:23 +0000 Subject: [PATCH 052/325] Update rubocop-rspec to version 2.29.2 --- Gemfile.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 3d240387b..6b8650f6b 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -438,7 +438,7 @@ GEM rake (13.2.1) recaptcha (5.16.0) redcarpet (3.6.0) - regexp_parser (2.9.0) + regexp_parser (2.9.1) request_store (1.6.0) rack (>= 1.4) responders (3.1.1) @@ -471,7 +471,7 @@ GEM rspec-mocks (~> 3.13) rspec-support (~> 3.13) rspec-support (3.13.1) - rubocop (1.63.4) + rubocop (1.63.5) json (~> 2.3) language_server-protocol (>= 3.17.0) parallel (~> 1.10) @@ -496,7 +496,7 @@ GEM rack (>= 1.1) rubocop (>= 1.33.0, < 2.0) rubocop-ast (>= 1.31.1, < 2.0) - rubocop-rspec (2.29.1) + rubocop-rspec (2.29.2) rubocop (~> 1.40) rubocop-capybara (~> 2.17) rubocop-factory_bot (~> 2.22) From 352d0d8ca6f81d63ee0e2d8617228c09460e48f9 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Mon, 13 May 2024 12:05:22 +0000 Subject: [PATCH 053/325] Update launchy to version 3.0.1 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 3d240387b..eeeb1b81d 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -257,7 +257,7 @@ GEM jwt (2.8.1) base64 language_server-protocol (3.17.0.3) - launchy (3.0.0) + launchy (3.0.1) addressable (~> 2.8) childprocess (~> 5.0) leaflet-rails (1.9.4) From 4b42dea2d10b274e735510da83ba7dd4b93c165d Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Mon, 13 May 2024 18:28:40 +0000 Subject: [PATCH 054/325] Update nokogiri to version 1.16.5 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 3d240387b..95723c57f 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -322,7 +322,7 @@ GEM next_rails (1.3.0) colorize (>= 0.8.1) nio4r (2.7.1) - nokogiri (1.16.4) + nokogiri (1.16.5) mini_portile2 (~> 2.8.2) racc (~> 1.4) oauth2 (2.0.9) From 26573f9de16120c8778274e3f2bf7b7c7de9a97e Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Tue, 14 May 2024 09:25:28 +0000 Subject: [PATCH 055/325] Update devise to version 4.9.4 --- Gemfile.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 95723c57f..48d38cb3e 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -167,7 +167,7 @@ GEM delayed_job_active_record (4.1.8) activerecord (>= 3.0, < 8.0) delayed_job (>= 3.0, < 5) - devise (4.9.3) + devise (4.9.4) bcrypt (~> 3.0) orm_adapter (~> 0.1) railties (>= 4.1.0) @@ -227,7 +227,7 @@ GEM hashery (2.1.2) hashie (5.0.0) htmlentities (4.3.4) - i18n (1.14.4) + i18n (1.14.5) concurrent-ruby (~> 1.0) i18n_data (0.17.1) simple_po_parser (~> 1.1) @@ -607,7 +607,7 @@ GEM chronic (>= 0.6.3) xpath (3.2.0) nokogiri (~> 1.8) - zeitwerk (2.6.13) + zeitwerk (2.6.14) PLATFORMS ruby From d025fa4c08ae3d8e948ef2ab8d0cf31aa6277050 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Thu, 16 May 2024 12:55:38 +0000 Subject: [PATCH 056/325] Update bigdecimal to version 3.1.8 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 85bed9557..4a31aa9d1 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -93,7 +93,7 @@ GEM activerecord (>= 4.0.0, < 7.2) base64 (0.2.0) bcrypt (3.1.20) - bigdecimal (3.1.7) + bigdecimal (3.1.8) bindex (0.8.1) bootstrap-sass (3.4.1) autoprefixer-rails (>= 5.2.1) From 11a55355cf9d61baab4fbad7713e258f91194c7b Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Thu, 16 May 2024 13:00:30 +0000 Subject: [PATCH 057/325] Update multipart-post to version 2.4.1 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 711b130bb..2d6047ada 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -306,7 +306,7 @@ GEM multi_json (1.15.0) multi_xml (0.7.1) bigdecimal (~> 3.1) - multipart-post (2.4.0) + multipart-post (2.4.1) mysql2 (0.5.6) net-http (0.4.1) uri From d540f8a973c2b7e6a440e958b842850cbe7b3c4f Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Thu, 16 May 2024 13:05:21 +0000 Subject: [PATCH 058/325] Update nio4r to version 2.7.3 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 711b130bb..c7f7edfb3 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -321,7 +321,7 @@ GEM net-protocol next_rails (1.3.0) colorize (>= 0.8.1) - nio4r (2.7.1) + nio4r (2.7.3) nokogiri (1.16.5) mini_portile2 (~> 2.8.2) racc (~> 1.4) From d7395c5cdc9cb07a9c7b1694b3eadaa5949e0a5c Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Thu, 16 May 2024 18:24:59 +0000 Subject: [PATCH 059/325] Update rexml to version 3.2.8 --- Gemfile.lock | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 711b130bb..e4bab5c97 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -444,7 +444,8 @@ GEM responders (3.1.1) actionpack (>= 5.2) railties (>= 5.2) - rexml (3.2.6) + rexml (3.2.8) + strscan (>= 3.0.9) rolify (6.0.1) rqrcode (2.2.0) chunky_png (~> 1.0) @@ -563,6 +564,7 @@ GEM dante (>= 0.2.0) multi_json (~> 1.0) stripe (> 5, < 6) + strscan (3.1.0) sysexits (1.2.0) temple (0.10.3) thor (1.3.1) From b7a0b4fd7fb2c384e3b876ad355989165dc2af84 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Fri, 17 May 2024 09:05:23 +0000 Subject: [PATCH 060/325] Update rspec-mocks to version 3.13.1 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index abf367c26..f6c8418f4 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -460,7 +460,7 @@ GEM rspec-expectations (3.13.0) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.13.0) - rspec-mocks (3.13.0) + rspec-mocks (3.13.1) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.13.0) rspec-rails (6.1.2) From b34f9c12f82dd46075f16768b2120e449c9b55c5 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Fri, 17 May 2024 09:11:26 +0000 Subject: [PATCH 061/325] Update Ascii85 to version 1.1.1 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index abf367c26..ddee791b3 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,7 +1,7 @@ GEM remote: https://rubygems.org/ specs: - Ascii85 (1.1.0) + Ascii85 (1.1.1) actioncable (7.0.8.1) actionpack (= 7.0.8.1) activesupport (= 7.0.8.1) From bd409a720b7e22f7729697d02285b0c336e82148 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Fri, 17 May 2024 09:15:38 +0000 Subject: [PATCH 062/325] Update net-imap to version 0.4.11 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index abf367c26..235785bba 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -310,7 +310,7 @@ GEM mysql2 (0.5.6) net-http (0.4.1) uri - net-imap (0.4.10) + net-imap (0.4.11) date net-protocol net-pop (0.1.2) From 53a4d45b8e7b2beae1a26748388a231fb783df92 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Fri, 17 May 2024 11:46:19 +0000 Subject: [PATCH 063/325] Update omniauth-rails_csrf_protection to version 1.0.2 --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index f4e4eeff0..7a63789f8 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -291,7 +291,7 @@ GEM mini_magick (4.12.0) mini_mime (1.1.5) mini_portile2 (2.8.6) - minitest (5.22.3) + minitest (5.23.0) momentjs-rails (2.29.4.1) railties (>= 3.1) monetize (1.13.0) @@ -352,7 +352,7 @@ GEM omniauth-openid (2.0.1) omniauth (>= 1.0, < 3.0) rack-openid (~> 1.4.0) - omniauth-rails_csrf_protection (1.0.1) + omniauth-rails_csrf_protection (1.0.2) actionpack (>= 4.2) omniauth (~> 2.0) orm_adapter (0.5.0) From 65e5d0c3d1daeb0264eb2cf644dadd43aaeedfcd Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Sat, 18 May 2024 13:15:54 +0000 Subject: [PATCH 064/325] Update regexp_parser to version 2.9.2 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index f4e4eeff0..e26ef70c4 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -438,7 +438,7 @@ GEM rake (13.2.1) recaptcha (5.16.0) redcarpet (3.6.0) - regexp_parser (2.9.1) + regexp_parser (2.9.2) request_store (1.6.0) rack (>= 1.4) responders (3.1.1) From 13c62081907c65fc9fb7278c9ef44319109216fe Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Tue, 21 May 2024 15:15:59 +0000 Subject: [PATCH 065/325] Update letter_opener_web to version 3.0.0 --- Gemfile.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index f4e4eeff0..b04b74038 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -265,10 +265,10 @@ GEM railties (>= 4.2.0) letter_opener (1.10.0) launchy (>= 2.2, < 4) - letter_opener_web (2.0.0) - actionmailer (>= 5.2) - letter_opener (~> 1.7) - railties (>= 5.2) + letter_opener_web (3.0.0) + actionmailer (>= 6.1) + letter_opener (~> 1.9) + railties (>= 6.1) rexml lograge (0.14.0) actionpack (>= 4) @@ -291,7 +291,7 @@ GEM mini_magick (4.12.0) mini_mime (1.1.5) mini_portile2 (2.8.6) - minitest (5.22.3) + minitest (5.23.0) momentjs-rails (2.29.4.1) railties (>= 3.1) monetize (1.13.0) @@ -389,7 +389,7 @@ GEM public_suffix (5.0.5) puma (6.4.2) nio4r (~> 2.0) - racc (1.7.3) + racc (1.8.0) rack (2.2.9) rack-openid (1.4.2) rack (>= 1.1.0) From 7422c3256b13742ee6bb4ea5f1189a4d638b5d08 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Thu, 23 May 2024 02:20:52 +0000 Subject: [PATCH 066/325] Update minitest to version 5.23.1 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 404808c10..692e5a220 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -291,7 +291,7 @@ GEM mini_magick (4.12.0) mini_mime (1.1.5) mini_portile2 (2.8.6) - minitest (5.23.0) + minitest (5.23.1) momentjs-rails (2.29.4.1) railties (>= 3.1) monetize (1.13.0) From 1a850b19eae09e598166a75f59518de1e9f8ba0c Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Tue, 28 May 2024 20:16:08 +0000 Subject: [PATCH 067/325] Update chartkick to version 5.0.7 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 692e5a220..9c172fb43 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -134,7 +134,7 @@ GEM caxlsx_rails (0.6.3) actionpack (>= 3.1) caxlsx (>= 3.0) - chartkick (5.0.6) + chartkick (5.0.7) childprocess (5.0.0) chronic (0.10.2) chunky_png (1.4.0) From effba3382eddb18cd91e7b1f014498dc2a235993 Mon Sep 17 00:00:00 2001 From: Henne Vogelsang Date: Thu, 6 Jun 2024 16:48:57 +0200 Subject: [PATCH 068/325] Update Ruby version to 3.3.2 Also remove support for OSEM_RUBY_VERSION, we are going to support one ruby version and one ruby version only now. --- .github/workflows/next-rails.yml | 2 +- .github/workflows/spec.yml | 4 ++-- .ruby-version | 2 +- Dockerfile | 6 +++++- Gemfile | 2 +- Gemfile.lock | 4 ++-- dotenv.example | 3 --- 7 files changed, 12 insertions(+), 11 deletions(-) diff --git a/.github/workflows/next-rails.yml b/.github/workflows/next-rails.yml index 43f03260b..6c24660d7 100644 --- a/.github/workflows/next-rails.yml +++ b/.github/workflows/next-rails.yml @@ -26,7 +26,7 @@ jobs: echo "BUNDLE_CACHE_PATH=vendor/cache.next" >> $GITHUB_ENV - uses: ruby/setup-ruby@v1 with: - ruby-version: 3.1.4 + ruby-version: 3.3.2 bundler-cache: true - name: Prepare spec run: | diff --git a/.github/workflows/spec.yml b/.github/workflows/spec.yml index 7da756c6a..008374f3c 100644 --- a/.github/workflows/spec.yml +++ b/.github/workflows/spec.yml @@ -16,7 +16,7 @@ jobs: - uses: actions/checkout@v2 - uses: ruby/setup-ruby@v1 with: - ruby-version: 3.1.4 + ruby-version: 3.3.2 bundler-cache: true - run: bundle exec rubocop - run: bundle exec haml-lint app/views @@ -34,7 +34,7 @@ jobs: - uses: actions/checkout@v2 - uses: ruby/setup-ruby@v1 with: - ruby-version: 3.1.4 + ruby-version: 3.3.2 bundler-cache: true - name: Prepare spec run: | diff --git a/.ruby-version b/.ruby-version index 0aec50e6e..477254331 100644 --- a/.ruby-version +++ b/.ruby-version @@ -1 +1 @@ -3.1.4 +3.3.2 diff --git a/Dockerfile b/Dockerfile index bd87877c8..2e9edc1ec 100644 --- a/Dockerfile +++ b/Dockerfile @@ -17,6 +17,10 @@ USER osem WORKDIR /osem/ # Install our bundle -RUN bundle install --jobs=3 --retry=3 +RUN bundle config set --local path 'vendor/bundle'; \ + bundle install --jobs=4 --retry=3 + +# Install our process manager +RUN gem install foreman CMD ["foreman", "start"] diff --git a/Gemfile b/Gemfile index 05e824acb..d9c836b3d 100644 --- a/Gemfile +++ b/Gemfile @@ -6,7 +6,7 @@ end source 'https://rubygems.org' -ruby ENV.fetch('OSEM_RUBY_VERSION', '3.1.4') +ruby '3.3.2' # as web framework if next? diff --git a/Gemfile.lock b/Gemfile.lock index 9c172fb43..01e5a9e9c 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -717,7 +717,7 @@ DEPENDENCIES whenever RUBY VERSION - ruby 3.1.4 + ruby 3.3.2 BUNDLED WITH - 2.3.26 + 2.5.9 diff --git a/dotenv.example b/dotenv.example index 372800ec9..b6ca7a36b 100644 --- a/dotenv.example +++ b/dotenv.example @@ -32,9 +32,6 @@ # OSEM_MEMCACHED_USERNAME='root' # OSEM_MEMCACHED_PASSWORD='1234' -# Set this if you want to deviate from our 'standard' ruby version -# OSEM_RUBY_VERSION=3.1.2 - # What time is it? # OSEM_TIME_ZONE="UTC" From f5de806ef8e8fd98135d61b8121ea5c06b5eb16f Mon Sep 17 00:00:00 2001 From: Henne Vogelsang Date: Thu, 6 Jun 2024 16:55:50 +0200 Subject: [PATCH 069/325] Enable rubocop-rspec_rails cops --- .rubocop.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.rubocop.yml b/.rubocop.yml index e6c0a8538..5f06f1290 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -1,5 +1,6 @@ require: - rubocop-rspec + - rubocop-rspec_rails - rubocop-rails - rubocop-capybara - rubocop-performance From 600be2800cf9530ab377d2d6432e66f5ef2de44e Mon Sep 17 00:00:00 2001 From: Henne Vogelsang Date: Thu, 6 Jun 2024 16:56:02 +0200 Subject: [PATCH 070/325] Update rubocop todo --- .rubocop_todo.yml | 86 +++++++++++++++++++++++++---------------------- 1 file changed, 45 insertions(+), 41 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index a11f1ce07..d95059f19 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -1,6 +1,6 @@ # This configuration was generated by # `rubocop --auto-gen-config` -# on 2024-03-26 11:13:17 UTC using RuboCop version 1.62.1. +# on 2024-06-06 14:55:31 UTC using RuboCop version 1.63.5. # The point is for the user to remove these configuration records # one by one as the offenses are removed from the code base. # Note that changes in the inspected code, or installation of new @@ -504,12 +504,6 @@ Lint/NonAtomicFileOperation: Exclude: - 'spec/support/save_feature_failures.rb' -# Offense count: 1 -# This cop supports safe autocorrection (--autocorrect). -Lint/RedundantCopDisableDirective: - Exclude: - - 'spec/support/save_feature_failures.rb' - # Offense count: 1 # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: AutoCorrect, IgnoreEmptyBlocks, AllowUnusedKeywordArguments. @@ -982,38 +976,6 @@ RSpec/OverwritingSetup: Exclude: - 'spec/controllers/admin/booths_controller_spec.rb' -# Offense count: 3 -# This cop supports safe autocorrection (--autocorrect). -RSpec/Rails/AvoidSetupHook: - Exclude: - - 'spec/features/versions_spec.rb' - - 'spec/helpers/events_helper_spec.rb' - -# Offense count: 2 -# This cop supports unsafe autocorrection (--autocorrect-all). -# Configuration parameters: ResponseMethods. -# ResponseMethods: response, last_response -RSpec/Rails/HaveHttpStatus: - Exclude: - - 'spec/controllers/admin/event_schedules_controller_spec.rb' - -# Offense count: 11 -# This cop supports unsafe autocorrection (--autocorrect-all). -# Configuration parameters: Inferences. -RSpec/Rails/InferredSpecType: - Exclude: - - 'spec/controllers/admin/comments_controller_spec.rb' - - 'spec/controllers/admin/programs_controller_spec.rb' - - 'spec/controllers/application_controller_spec.rb' - - 'spec/controllers/conference_registration_controller_spec.rb' - - 'spec/helpers/application_helper_spec.rb' - - 'spec/helpers/conference_helper_spec.rb' - - 'spec/helpers/date_time_helper_spec.rb' - - 'spec/helpers/events_helper_spec.rb' - - 'spec/helpers/format_helper_spec.rb' - - 'spec/helpers/users_helper_spec.rb' - - 'spec/routing/routing_spec.rb' - # Offense count: 12 # This cop supports unsafe autocorrection (--autocorrect-all). RSpec/ReceiveMessages: @@ -1107,6 +1069,38 @@ RSpec/VoidExpect: Exclude: - 'spec/models/conference_spec.rb' +# Offense count: 3 +# This cop supports safe autocorrection (--autocorrect). +RSpecRails/AvoidSetupHook: + Exclude: + - 'spec/features/versions_spec.rb' + - 'spec/helpers/events_helper_spec.rb' + +# Offense count: 2 +# This cop supports unsafe autocorrection (--autocorrect-all). +# Configuration parameters: ResponseMethods. +# ResponseMethods: response, last_response +RSpecRails/HaveHttpStatus: + Exclude: + - 'spec/controllers/admin/event_schedules_controller_spec.rb' + +# Offense count: 11 +# This cop supports unsafe autocorrection (--autocorrect-all). +# Configuration parameters: Inferences. +RSpecRails/InferredSpecType: + Exclude: + - 'spec/controllers/admin/comments_controller_spec.rb' + - 'spec/controllers/admin/programs_controller_spec.rb' + - 'spec/controllers/application_controller_spec.rb' + - 'spec/controllers/conference_registration_controller_spec.rb' + - 'spec/helpers/application_helper_spec.rb' + - 'spec/helpers/conference_helper_spec.rb' + - 'spec/helpers/date_time_helper_spec.rb' + - 'spec/helpers/events_helper_spec.rb' + - 'spec/helpers/format_helper_spec.rb' + - 'spec/helpers/users_helper_spec.rb' + - 'spec/routing/routing_spec.rb' + # Offense count: 24 # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: ExpectedOrder, Include. @@ -1530,6 +1524,16 @@ Style/AccessorGrouping: Exclude: - 'app/models/payment.rb' +# Offense count: 2 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: AllowOnlyRestArgument, UseAnonymousForwarding, RedundantRestArgumentNames, RedundantKeywordRestArgumentNames, RedundantBlockArgumentNames. +# RedundantRestArgumentNames: args, arguments +# RedundantKeywordRestArgumentNames: kwargs, options, opts +# RedundantBlockArgumentNames: blk, block, proc +Style/ArgumentsForwarding: + Exclude: + - 'app/models/user.rb' + # Offense count: 3 # This cop supports unsafe autocorrection (--autocorrect-all). Style/ArrayIntersect: @@ -2040,7 +2044,7 @@ Style/TrailingCommaInHashLiteral: - 'db/migrate/20140701123203_add_events_per_week_to_conference.rb' - 'spec/models/conference_spec.rb' -# Offense count: 4 +# Offense count: 3 # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: WordRegex. # SupportedStyles: percent, brackets @@ -2048,7 +2052,7 @@ Style/WordArray: EnforcedStyle: percent MinSize: 6 -# Offense count: 524 +# Offense count: 525 # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, AllowedPatterns. # URISchemes: http, https From f51db484ab8f3baef9041965c154ea331d82d54f Mon Sep 17 00:00:00 2001 From: Henne Vogelsang Date: Thu, 6 Jun 2024 17:13:13 +0200 Subject: [PATCH 071/325] Drop sqlite3 We should spec on the database we use... --- .github/workflows/next-rails.yml | 1 - .github/workflows/spec.yml | 1 - Gemfile | 2 -- Gemfile.lock | 3 --- 4 files changed, 7 deletions(-) diff --git a/.github/workflows/next-rails.yml b/.github/workflows/next-rails.yml index 6c24660d7..fe0c0d344 100644 --- a/.github/workflows/next-rails.yml +++ b/.github/workflows/next-rails.yml @@ -12,7 +12,6 @@ jobs: runs-on: ubuntu-latest name: next-rails env: - OSEM_DB_ADAPTER: sqlite3 RAILS_ENV: test strategy: matrix: diff --git a/.github/workflows/spec.yml b/.github/workflows/spec.yml index 008374f3c..2513417ed 100644 --- a/.github/workflows/spec.yml +++ b/.github/workflows/spec.yml @@ -25,7 +25,6 @@ jobs: runs-on: ubuntu-latest name: spec env: - OSEM_DB_ADAPTER: sqlite3 RAILS_ENV: test strategy: matrix: diff --git a/Gemfile b/Gemfile index d9c836b3d..f76234ed9 100644 --- a/Gemfile +++ b/Gemfile @@ -248,8 +248,6 @@ end group :development, :test do # as debugger gem 'byebug' - # as development/test database - gem 'sqlite3' # to test new rails version gem 'next_rails' end diff --git a/Gemfile.lock b/Gemfile.lock index 01e5a9e9c..21ee3f5e2 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -556,8 +556,6 @@ GEM actionpack (>= 5.2) activesupport (>= 5.2) sprockets (>= 3.0.0) - sqlite3 (1.7.3) - mini_portile2 (~> 2.8.0) ssrf_filter (1.1.2) stripe (5.55.0) stripe-ruby-mock (3.1.0) @@ -703,7 +701,6 @@ DEPENDENCIES simplecov-cobertura skylight sprockets-rails - sqlite3 stripe stripe-ruby-mock (~> 3.1.0.rc3) timecop From b2f07967994cb5fb9f7a11e5d62772b40816c9a6 Mon Sep 17 00:00:00 2001 From: Henne Vogelsang Date: Thu, 6 Jun 2024 17:16:02 +0200 Subject: [PATCH 072/325] Drop mysql2 support, settle on postgresql It's enough work to support one database, let's settle on the defacto Rails default. --- .dockerignore | 1 - .github/workflows/next-rails.yml | 14 +++++++++++++- .github/workflows/spec.yml | 14 +++++++++++++- .gitignore | 2 -- .rubocop_todo.yml | 9 ++++++++- Gemfile | 3 +-- Gemfile.lock | 2 -- config/database.yml | 15 ++------------- docker-compose.yml | 2 +- dotenv.example | 3 --- lib/tasks/dump_db.rake | 13 ------------- 11 files changed, 38 insertions(+), 40 deletions(-) delete mode 100644 lib/tasks/dump_db.rake diff --git a/.dockerignore b/.dockerignore index 7e7192a0b..add2862b6 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,7 +1,6 @@ .bundle/cache .git/ coverage/ -db/*.sqlite3 Dockerfile docker-compose.* log/ diff --git a/.github/workflows/next-rails.yml b/.github/workflows/next-rails.yml index fe0c0d344..e7934eefe 100644 --- a/.github/workflows/next-rails.yml +++ b/.github/workflows/next-rails.yml @@ -12,6 +12,7 @@ jobs: runs-on: ubuntu-latest name: next-rails env: + OSEM_DB_HOST: localhost RAILS_ENV: test strategy: matrix: @@ -29,7 +30,6 @@ jobs: bundler-cache: true - name: Prepare spec run: | - rm -f osem_test osem_development bundle exec rake db:setup --trace bundle exec bin/rails webdrivers:chromedriver:update - name: spec/${{ matrix.suite }} @@ -40,3 +40,15 @@ jobs: with: project-token: ${{ secrets.CODACY_PROJECT_TOKEN }} coverage-reports: coverage/coverage.xml + services: + postgres: + image: postgres:16-alpine + env: + POSTGRES_PASSWORD: mysecretpassword + options: >- + --health-cmd pg_isready + --health-interval 10s + --health-timeout 5s + --health-retries 5 + ports: + - 5432:5432 diff --git a/.github/workflows/spec.yml b/.github/workflows/spec.yml index 2513417ed..413c8fc2a 100644 --- a/.github/workflows/spec.yml +++ b/.github/workflows/spec.yml @@ -25,6 +25,7 @@ jobs: runs-on: ubuntu-latest name: spec env: + OSEM_DB_HOST: localhost RAILS_ENV: test strategy: matrix: @@ -37,7 +38,6 @@ jobs: bundler-cache: true - name: Prepare spec run: | - rm -f osem_test osem_development bundle exec rake db:setup --trace bundle exec bin/rails webdrivers:chromedriver:update bundle exec rake factory_bot:lint RAILS_ENV=test @@ -49,3 +49,15 @@ jobs: with: project-token: ${{ secrets.CODACY_PROJECT_TOKEN }} coverage-reports: coverage/coverage.xml + services: + postgres: + image: postgres:16-alpine + env: + POSTGRES_PASSWORD: mysecretpassword + options: >- + --health-cmd pg_isready + --health-interval 10s + --health-timeout 5s + --health-retries 5 + ports: + - 5432:5432 diff --git a/.gitignore b/.gitignore index 3d1ffb4d5..122965d62 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,3 @@ -/db/test.sqlite3-journal config/application.rb config/config.yml config/secrets.yml @@ -18,7 +17,6 @@ capybara-*.html /vendor/bundle /log/* /tmp/* -/db/*.sqlite3 /public/system/* /coverage/ /spec/tmp/* diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index d95059f19..7521eabca 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -1,6 +1,6 @@ # This configuration was generated by # `rubocop --auto-gen-config` -# on 2024-06-06 14:55:31 UTC using RuboCop version 1.63.5. +# on 2024-06-06 15:22:39 UTC using RuboCop version 1.63.5. # The point is for the user to remove these configuration records # one by one as the offenses are removed from the code base. # Note that changes in the inspected code, or installation of new @@ -1156,6 +1156,13 @@ Rails/Blank: - 'app/models/user.rb' - 'spec/factories/event_schedule.rb' +# Offense count: 68 +# Configuration parameters: Database, Include. +# SupportedDatabases: mysql, postgresql +# Include: db/**/*.rb +Rails/BulkChangeTable: + Enabled: false + # Offense count: 1 # This cop supports unsafe autocorrection (--autocorrect-all). Rails/CompactBlank: diff --git a/Gemfile b/Gemfile index f76234ed9..765a33d26 100644 --- a/Gemfile +++ b/Gemfile @@ -22,8 +22,7 @@ gem 'puma' # http://edgeguides.rubyonrails.org/upgrading_ruby_on_rails.html#responders gem 'responders', '~> 3.0' -# as supported databases -gem 'mysql2' +# as database gem 'pg' # for tracking data changes diff --git a/Gemfile.lock b/Gemfile.lock index 21ee3f5e2..79b9982c5 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -307,7 +307,6 @@ GEM multi_xml (0.7.1) bigdecimal (~> 3.1) multipart-post (2.4.1) - mysql2 (0.5.6) net-http (0.4.1) uri net-imap (0.4.11) @@ -663,7 +662,6 @@ DEPENDENCIES mina mini_magick money-rails - mysql2 next_rails omniauth omniauth-facebook diff --git a/config/database.yml b/config/database.yml index 96ef1936b..c12abd29e 100644 --- a/config/database.yml +++ b/config/database.yml @@ -1,14 +1,6 @@ -<% - encoding = 'unicode' - if ENV.fetch('OSEM_DB_ADAPTER', nil) == 'mysql2' - encoding = 'utf8' - end -%> - - default: &default - adapter: <%= ENV.fetch('OSEM_DB_ADAPTER', 'postgresql') %> - encoding: <%= encoding %> + adapter: 'postgresql' + encoding: 'unicode' host: <%= ENV.fetch('OSEM_DB_HOST', 'database') %> port: <%= ENV.fetch('OSEM_DB_PORT', '5432') %> username: <%= ENV.fetch('OSEM_DB_USER', 'postgres') %> @@ -21,9 +13,6 @@ development: <<: *default database: osem_development -# Warning: The database defined as "test" will be erased and -# re-generated when you run "rake". -# Do not set this db to the same as development or production. test: <<: *default database: osem_test diff --git a/docker-compose.yml b/docker-compose.yml index d77440776..82587a202 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -2,7 +2,7 @@ version: "2.4" services: database: - image: postgres:12-alpine + image: postgres:16-alpine environment: PGDATA: /var/lib/postgresql/data/pgdata POSTGRES_PASSWORD: mysecretpassword diff --git a/dotenv.example b/dotenv.example index b6ca7a36b..76c826481 100644 --- a/dotenv.example +++ b/dotenv.example @@ -9,9 +9,6 @@ # bundle exec rake secret # SECRET_KEY_BASE=12345 -# The type of database to use (postgresql, mysql2, sqlite3) -# OSEM_DB_ADAPTER=mysql2 - # The name of the host the database runs on # OSEM_DB_HOST=database diff --git a/lib/tasks/dump_db.rake b/lib/tasks/dump_db.rake deleted file mode 100644 index fff08335f..000000000 --- a/lib/tasks/dump_db.rake +++ /dev/null @@ -1,13 +0,0 @@ -# frozen_string_literal: true - -require 'yaml' -task :dump_db do - yaml = YAML.load_file("config/database.yml") - conf = yaml["production"] - filename = "#{conf["database"]}-#{Time.now.strftime("%Y-%m-%d-%H:%M:%S:%L")}.sql" - if conf["adapter"] == 'mysql2' - system "mysqldump -u #{conf["username"]} --password=#{conf["password"]} -h #{conf["host"]} #{conf["database"]} > ~/#{filename}" - else - puts "Error: This rake task only works for MYSQL" - end -end From 494c73bbd636a8a626c14658bbf1b9d433bd5389 Mon Sep 17 00:00:00 2001 From: Henne Vogelsang Date: Thu, 6 Jun 2024 18:26:01 +0200 Subject: [PATCH 073/325] Drop skylight, we already support sentry --- Gemfile | 3 --- Gemfile.lock | 3 --- app/views/layouts/application.html.haml | 3 --- dotenv.example | 4 ---- 4 files changed, 13 deletions(-) diff --git a/Gemfile b/Gemfile index 765a33d26..beab8ce06 100644 --- a/Gemfile +++ b/Gemfile @@ -186,9 +186,6 @@ gem 'sprockets-rails' # for multiple speakers select on proposal/event forms gem 'selectize-rails' -# For collecting performance data -gem 'skylight' - # memcached binary connector gem 'dalli' diff --git a/Gemfile.lock b/Gemfile.lock index 79b9982c5..053841e63 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -543,8 +543,6 @@ GEM simplecov (~> 0.19) simplecov-html (0.12.3) simplecov_json_formatter (0.1.4) - skylight (6.0.4) - activesupport (>= 5.2.0) snaky_hash (2.0.1) hashie version_gem (~> 1.1, >= 1.1.1) @@ -697,7 +695,6 @@ DEPENDENCIES sentry-rails shoulda-matchers simplecov-cobertura - skylight sprockets-rails stripe stripe-ruby-mock (~> 3.1.0.rc3) diff --git a/app/views/layouts/application.html.haml b/app/views/layouts/application.html.haml index 2b2eca75a..95fb77f18 100644 --- a/app/views/layouts/application.html.haml +++ b/app/views/layouts/application.html.haml @@ -46,8 +46,5 @@ You can run, copy, distribute, study, change and improve it. The source code and the developers are on #{link_to "GitHub", "https://github.com/openSUSE/osem"}. - - if ENV.fetch('SKYLIGHT_PUBLIC_DASHBOARD_URL', nil) - Performance data is available on - #{link_to "Skylight", ENV["SKYLIGHT_PUBLIC_DASHBOARD_URL"]}. = yield :script_body = yield :charts_js diff --git a/dotenv.example b/dotenv.example index 76c826481..6d31d9c62 100644 --- a/dotenv.example +++ b/dotenv.example @@ -105,10 +105,6 @@ # Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies. # FORCE_SSL=true -# Your skylight.io keys -# SKYLIGHT_AUTHENTICATION=1234 -# SKYLIGHT_PUBLIC_DASHBOARD_URL='https://oss.skylight.io/app/applications/xxxxxxxxxxxx' - # How should browser tests be performed? # For headless Chrome (default): # OSEM_TEST_DRIVER=chrome_headless From 9d3d7b321825c6db9aec577661d83a6946070fe3 Mon Sep 17 00:00:00 2001 From: Henne Vogelsang Date: Thu, 6 Jun 2024 18:42:04 +0200 Subject: [PATCH 074/325] Update actions/checkout to version 4 Found some warnings on a action summary view... --- .github/workflows/next-rails.yml | 2 +- .github/workflows/spec.yml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/next-rails.yml b/.github/workflows/next-rails.yml index e7934eefe..76bbb97c6 100644 --- a/.github/workflows/next-rails.yml +++ b/.github/workflows/next-rails.yml @@ -19,7 +19,7 @@ jobs: suite: [models, features, controllers, ability, leftovers] fail-fast: false steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - name: Sets env vars for next-rails run: | echo "BUNDLE_GEMFILE=Gemfile.next" >> $GITHUB_ENV diff --git a/.github/workflows/spec.yml b/.github/workflows/spec.yml index 413c8fc2a..a7036ebdd 100644 --- a/.github/workflows/spec.yml +++ b/.github/workflows/spec.yml @@ -13,7 +13,7 @@ jobs: linters: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - uses: ruby/setup-ruby@v1 with: ruby-version: 3.3.2 @@ -31,7 +31,7 @@ jobs: matrix: suite: [models, features, controllers, ability, leftovers] steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - uses: ruby/setup-ruby@v1 with: ruby-version: 3.3.2 From b78b89219fc61d028cd3c51f319781c01e5cf47c Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Wed, 22 May 2024 10:35:24 +0000 Subject: [PATCH 075/325] Update request_store to version 1.7.0 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 053841e63..e09295c4d 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -438,7 +438,7 @@ GEM recaptcha (5.16.0) redcarpet (3.6.0) regexp_parser (2.9.2) - request_store (1.6.0) + request_store (1.7.0) rack (>= 1.4) responders (3.1.1) actionpack (>= 5.2) From e6e2693eb921886d44869425f22d8bcf7ebd94eb Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Thu, 6 Jun 2024 16:25:31 +0000 Subject: [PATCH 076/325] Update zeitwerk to version 2.6.15 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 053841e63..add87dff3 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -604,7 +604,7 @@ GEM chronic (>= 0.6.3) xpath (3.2.0) nokogiri (~> 1.8) - zeitwerk (2.6.14) + zeitwerk (2.6.15) PLATFORMS ruby From d6b7eb02f80a66853fc8638894b03246989e06c6 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Thu, 6 Jun 2024 15:13:13 +0000 Subject: [PATCH 077/325] Update webmock to version 3.23.1 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 053841e63..6b475271c 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -592,7 +592,7 @@ GEM nokogiri (~> 1.6) rubyzip (>= 1.3.0) selenium-webdriver (~> 4.0, < 4.11) - webmock (3.23.0) + webmock (3.23.1) addressable (>= 2.8.0) crack (>= 0.3.2) hashdiff (>= 0.4.0, < 2.0.0) From 07bfff8fa13ba3f5700ea60d880c5a32d8a8336b Mon Sep 17 00:00:00 2001 From: Henne Vogelsang Date: Thu, 6 Jun 2024 21:52:39 +0200 Subject: [PATCH 078/325] Replace registration-period datepickers with date input Nowadays all browsers have reasonable date input support... --- app/assets/javascripts/osem-datepickers.js | 20 ---------- app/models/cfp.rb | 2 +- app/models/registration_period.rb | 21 +++++++--- app/views/admin/cfps/_form.html.haml | 6 ++- .../registration_periods/_form.html.haml | 13 ++++++- app/views/tracks/_form_fields.html.haml | 4 +- spec/features/registration_periods_spec.rb | 39 ++----------------- 7 files changed, 38 insertions(+), 67 deletions(-) diff --git a/app/assets/javascripts/osem-datepickers.js b/app/assets/javascripts/osem-datepickers.js index d2c01bd12..cc23aaa42 100644 --- a/app/assets/javascripts/osem-datepickers.js +++ b/app/assets/javascripts/osem-datepickers.js @@ -25,17 +25,6 @@ $(function () { format: "YYYY-MM-DD" }); - // today <= start_registration <= end_registration <= end_conference - var end_conference = $('form').data('end-conference'); - - $('#registration-period-start-datepicker').datetimepicker({ - format: 'YYYY-MM-DD' - }); - - $('#registration-period-end-datepicker').datetimepicker({ - format: 'YYYY-MM-DD' - }); - $("#conference-start-datepicker").on("dp.change",function (e) { $('#conference-end-datepicker').data("DateTimePicker").minDate(e.date); if (!$('#conference-end-datepicker').val()) { @@ -55,13 +44,4 @@ $(function () { $('#conference-end-datepicker').val()?$('#conference-start-datepicker').data("DateTimePicker").maxDate(e.date):$('#conference-start-datepicker').data("DateTimePicker").maxDate(null); }); - $("#registration-period-start-datepicker").on("dp.change",function (e) { - $('#registration-period-end-datepicker').data("DateTimePicker").minDate(e.date); - if (!$('#registration-period-end-datepicker').val()) { - $('#registration-period-end-datepicker').data("DateTimePicker").date(e.date); - } - }); - $("#registration-period-end-datepicker").on("dp.change",function (e) { - $('#registration-period-start-datepicker').data("DateTimePicker").maxDate(e.date); - }); } ); diff --git a/app/models/cfp.rb b/app/models/cfp.rb index 6571e7011..ccc040970 100644 --- a/app/models/cfp.rb +++ b/app/models/cfp.rb @@ -125,7 +125,7 @@ def before_end_of_conference def start_after_end_date errors - .add(:start_date, "can't be after the end date") if start_date && end_date && start_date > end_date + .add(:start_date, "can't be after the end date") if start_date > end_date end def conference_id diff --git a/app/models/registration_period.rb b/app/models/registration_period.rb index 66f02fe0a..7902b42c4 100644 --- a/app/models/registration_period.rb +++ b/app/models/registration_period.rb @@ -6,21 +6,32 @@ class RegistrationPeriod < ApplicationRecord has_paper_trail ignore: [:updated_at], meta: { conference_id: :conference_id } validates :start_date, :end_date, presence: true - validate :before_end_of_conference + validate :start_before_end_of_conference + validate :end_before_end_of_conference validate :start_date_before_end_date private - def before_end_of_conference + def start_before_end_of_conference + return unless conference + return unless start_date + errors - .add(:start_date, "can't be after the conference end date (#{conference.end_date})") if conference&.end_date && start_date && (start_date > conference.end_date) + .add(:start_date, "can't start after the conference end date (#{conference.end_date})") if start_date > conference.end_date + end + + def end_before_end_of_conference + return unless conference + return unless end_date errors - .add(:end_date, "can't be after the conference end date (#{conference.end_date})") if conference&.end_date && end_date && (end_date > conference.end_date) + .add(:end_date, "can't end after the conference end date (#{conference.end_date})") if end_date > conference.end_date end def start_date_before_end_date + return unless start_date && end_date + errors - .add(:start_date, "can't be after the end date") if start_date && end_date && start_date > end_date + .add(:start_date, "can't be after the end date") if start_date > end_date end end diff --git a/app/views/admin/cfps/_form.html.haml b/app/views/admin/cfps/_form.html.haml index f6af36874..de5ba1ede 100644 --- a/app/views/admin/cfps/_form.html.haml +++ b/app/views/admin/cfps/_form.html.haml @@ -2,10 +2,12 @@ = f.hidden_field :cfp_type .form-group = f.label :start_date, "Start Date" - = f.text_field :start_date, class: 'form-control', id: 'registration-period-start-datepicker', start_date: @conference.start_date, end_date: @conference.end_date + %abbr{title: 'This field is required'} * + = f.date_field :start_date, class: 'form-control', required: true .form-group = f.label :end_date, "End Date" - = f.text_field :end_date, class: 'form-control', id: 'registration-period-end-datepicker', start_date: @conference.start_date, end_date: @conference.end_date + %abbr{title: 'This field is required'} * + = f.date_field :end_date, class: 'form-control', required: true .form-group = f.label :description, "Description" = f.text_area :description, rows: 2, data: { provide: 'markdown' } diff --git a/app/views/admin/registration_periods/_form.html.haml b/app/views/admin/registration_periods/_form.html.haml index 35b996b10..2bf25a57d 100644 --- a/app/views/admin/registration_periods/_form.html.haml +++ b/app/views/admin/registration_periods/_form.html.haml @@ -1,11 +1,20 @@ +%p + Setup the time frame in which people can registrer to your conference = form_for(@registration_period, url: admin_conference_registration_period_path(@conference.short_title)) do |f| .form-group = f.label :start_date %abbr{title: 'This field is required'} * - = f.text_field :start_date, required: true, 'data-end-conference': @conference.end_date.to_s, id: 'registration-period-start-datepicker', class: 'form-control' + %p.small + Must be before conference end (#{@conference.end_date}) and the end date + - if @registration_period.end_date + (#{@registration_period.end_date}) + below + = f.date_field :start_date, required: true, class: 'form-control', max: @conference.end_date, required: true .form-group = f.label :end_date %abbr{title: 'This field is required'} * - = f.text_field :end_date, required: true, id: 'registration-period-end-datepicker', class: 'form-control' + %p.small + Must be before conference end (#{@conference.end_date}) + = f.date_field :end_date, required: true, class: 'form-control', max: @conference.end_date, required: true %p.text-right = f.submit 'Save Registration Period', class: 'btn btn-primary' diff --git a/app/views/tracks/_form_fields.html.haml b/app/views/tracks/_form_fields.html.haml index b32420996..4c2210209 100644 --- a/app/views/tracks/_form_fields.html.haml +++ b/app/views/tracks/_form_fields.html.haml @@ -13,12 +13,12 @@ = f.color_field :color, size: 6, required: true, class: 'form-control' .form-group = f.label :start_date, "Start Date" - = f.text_field :start_date, id: 'registration-period-start-datepicker', start_date: @conference.start_date, end_date: @conference.end_date, required: @track.self_organized_and_accepted_or_confirmed?, class: 'form-control' + = f.date_field :start_date, required: @track.self_organized_and_accepted_or_confirmed?, class: 'form-control' - if @track.self_organized_and_accepted_or_confirmed? %abbr{title: 'This field is required'} * .form-group = f.label :end_date, "End Date" - = f.text_field :end_date, id: 'registration-period-end-datepicker', required: @track.self_organized_and_accepted_or_confirmed?, class: 'form-control' + = f.date_field :end_date, required: @track.self_organized_and_accepted_or_confirmed?, class: 'form-control' - if @track.self_organized_and_accepted_or_confirmed? %abbr{title: 'This field is required'} * - if current_user.is_admin? diff --git a/spec/features/registration_periods_spec.rb b/spec/features/registration_periods_spec.rb index 4ef0573bb..5e161e116 100644 --- a/spec/features/registration_periods_spec.rb +++ b/spec/features/registration_periods_spec.rb @@ -16,62 +16,31 @@ click_link 'New Registration Period' end - scenario 'requires start date and end date', feature: true do - visit admin_conference_registration_period_path(conference_id: conference) - click_link 'New Registration Period' - - click_button 'Save Registration Period' - page.find('#flash') - expect(flash) - .to eq('An error prohibited the Registration Period from being saved: ' \ - "Start date can't be blank. End date can't be blank.") - end - context 'with tickets' do let!(:registration_ticket) do create(:registration_ticket, conference: conference) end it 'creates registration period', feature: true, js: true do - page - .execute_script("$('#registration-period-start-datepicker').val('" + - "#{start_date.strftime('%d/%m/%Y')}')") - page - .execute_script("$('#registration-period-end-datepicker').val('" + - "#{end_date.strftime('%d/%m/%Y')}')") - + fill_in 'registration_period_start_date', with: start_date.strftime('%Y/%m/%d') + fill_in 'registration_period_end_date', with: end_date.strftime('%Y/%m/%d') click_button 'Save Registration Period' page.find('#flash') expect(flash).to eq('Registration Period successfully updated.') expect(current_path).to eq(admin_conference_registration_period_path(conference.short_title)) expect(page).to have_text("Ticket required?\nYes") - - registration_period = RegistrationPeriod.where(conference_id: conference.id).first - registration_period.reload - expect(registration_period.start_date).to eq(start_date) - expect(registration_period.end_date).to eq(end_date) end end context 'without tickets' do it 'creates registration period', feature: true, js: true do - page - .execute_script("$('#registration-period-start-datepicker').val('" + - "#{start_date.strftime('%d/%m/%Y')}')") - page - .execute_script("$('#registration-period-end-datepicker').val('" + - "#{end_date.strftime('%d/%m/%Y')}')") - + fill_in 'registration_period_start_date', with: start_date.strftime('%Y-%m-%d') + fill_in 'registration_period_end_date', with: end_date.strftime('%Y-%m-%d') click_button 'Save Registration Period' page.find('#flash') expect(flash).to eq('Registration Period successfully updated.') expect(current_path).to eq(admin_conference_registration_period_path(conference.short_title)) expect(page).to have_text("Ticket required?\nNo") - - registration_period = RegistrationPeriod.where(conference_id: conference.id).first - registration_period.reload - expect(registration_period.start_date).to eq(start_date) - expect(registration_period.end_date).to eq(end_date) end end end From 52208213f2fe44618a9fe9aca4b27041d9bc01fe Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Fri, 7 Jun 2024 11:20:30 +0000 Subject: [PATCH 079/325] Update parser to version 3.3.2.0 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index d55740b55..aedcb0249 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -359,7 +359,7 @@ GEM activerecord (>= 6.1) request_store (~> 1.4) parallel (1.24.0) - parser (3.3.1.0) + parser (3.3.2.0) ast (~> 2.4.1) racc pdf-core (0.10.0) From a53a2acde56dea5eb6827433337fe0bd4a8a71ff Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Fri, 7 Jun 2024 11:27:04 +0000 Subject: [PATCH 080/325] Update cancancan to version 3.6.1 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index d55740b55..867f17d0b 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -103,7 +103,7 @@ GEM momentjs-rails (>= 2.8.1) builder (3.2.4) byebug (11.1.3) - cancancan (3.5.0) + cancancan (3.6.1) capybara (3.40.0) addressable matrix From 73f9467089c851a438dd87c0882b58b0f3298ab5 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Fri, 7 Jun 2024 11:30:21 +0000 Subject: [PATCH 081/325] Update cloudinary to version 2.1.1 --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index d55740b55..ab2ab59ae 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -139,7 +139,7 @@ GEM chronic (0.10.2) chunky_png (1.4.0) climate_control (1.2.0) - cloudinary (2.0.2) + cloudinary (2.1.1) faraday (>= 2.0.1, < 3.0.0) faraday-follow_redirects (~> 0.3.0) faraday-multipart (~> 1.0, >= 1.0.4) @@ -190,7 +190,7 @@ GEM railties (>= 5.0.0) faker (3.3.1) i18n (>= 1.8.11, < 2) - faraday (2.9.0) + faraday (2.9.1) faraday-net_http (>= 2.0, < 3.2) faraday-follow_redirects (0.3.0) faraday (>= 1, < 3) From 30fdc2d796d46c8772a966ad82e041ea9d66d5e1 Mon Sep 17 00:00:00 2001 From: Henne Vogelsang Date: Thu, 6 Jun 2024 22:11:59 +0200 Subject: [PATCH 082/325] Replace all datepickers with date input Nowadays all browsers have reasonable date input support... --- .../admin/conferences/_form_fields.html.haml | 4 +- app/views/admin/programs/_form.html.haml | 4 +- .../admin/survey_questions/_form.html.haml | 4 +- app/views/admin/surveys/_form.html.haml | 4 +- .../admin/surveys/_survey_question.html.haml | 4 +- spec/features/conference_spec.rb | 45 +++++++------------ 6 files changed, 26 insertions(+), 39 deletions(-) diff --git a/app/views/admin/conferences/_form_fields.html.haml b/app/views/admin/conferences/_form_fields.html.haml index ceb72acc8..afa644ede 100644 --- a/app/views/admin/conferences/_form_fields.html.haml +++ b/app/views/admin/conferences/_form_fields.html.haml @@ -49,11 +49,11 @@ .form-group = f.label :start_date, "Start Date" %abbr{title: 'This field is required'} * - = f.text_field :start_date, id: 'conference-start-datepicker', required: true, class: 'form-control' + = f.date_field :start_date, required: true, class: 'form-control' .form-group = f.label :end_date, "End Date" %abbr{title: 'This field is required'} * - = f.text_field :end_date, id: 'conference-end-datepicker', required: true, class: 'form-control' + = f.date_field :end_date, required: true, class: 'form-control' - unless f.object.new_record? # We are showing more fields on the edit form .form-group = f.number_field :start_hour, size: 2, min: 0, max: 23, class: 'form-control' diff --git a/app/views/admin/programs/_form.html.haml b/app/views/admin/programs/_form.html.haml index 037418bf4..645cc79d2 100644 --- a/app/views/admin/programs/_form.html.haml +++ b/app/views/admin/programs/_form.html.haml @@ -25,9 +25,9 @@ For the feature to work you need to set the voting dates below as well .form-group = f.label :voting_start_date - = f.text_field :voting_start_date, id: 'datetimepicker-voting_start_date', value: (f.object.voting_start_date.to_formatted_s(:db_without_seconds) unless f.object.voting_start_date.nil?), class: 'form-control' + = f.datetime_field :voting_start_date, value: (f.object.voting_start_date.to_formatted_s(:db_without_seconds) unless f.object.voting_start_date.nil?), class: 'form-control' = f.label :voting_end_date - = f.text_field :voting_end_date, id: 'datetimepicker-voting_end_date', value: (f.object.voting_end_date.to_formatted_s(:db_without_seconds) unless f.object.voting_end_date.nil?), class: 'form-control' + = f.datetime_field :voting_end_date, value: (f.object.voting_end_date.to_formatted_s(:db_without_seconds) unless f.object.voting_end_date.nil?), class: 'form-control' %h4 Languages %hr diff --git a/app/views/admin/survey_questions/_form.html.haml b/app/views/admin/survey_questions/_form.html.haml index b77bb1c55..7b8885edb 100644 --- a/app/views/admin/survey_questions/_form.html.haml +++ b/app/views/admin/survey_questions/_form.html.haml @@ -86,10 +86,10 @@ .kinds.text{ class: @survey_question.text? ? '' : 'hidden' } %textarea.form-control{ rows: 4 } .kinds.datetime{ class: @survey_question.datetime? ? '' : 'hidden' } - .form-group{ class: 'datetimepicker' } + .form-group .input-group .input-group-addon %span.fa-solid.fa-calendar - %input.form-control{ readonly: 'readonly' } + %input.form-control{ type: 'datetime-local', readonly: 'readonly' } .kinds.numeric{ class: @survey_question.numeric? ? '' : 'hidden' } %input.form-control{ type: 'number' } diff --git a/app/views/admin/surveys/_form.html.haml b/app/views/admin/surveys/_form.html.haml index b03022ab1..3479bbc78 100644 --- a/app/views/admin/surveys/_form.html.haml +++ b/app/views/admin/surveys/_form.html.haml @@ -22,7 +22,7 @@ = f.select :target, Survey.targets.keys, class: 'form-control' .form-group = f.label :start_date - = f.text_field :start_date, class: 'datetimepicker form-control' + = f.datetime_field :start_date, class: 'form-control' = f.label :end_date - = f.text_field :end_date, class: 'datetimepicker form-control' + = f.datetime_field :end_date, class: 'form-control' = f.submit nil, class: 'btn btn-primary' diff --git a/app/views/admin/surveys/_survey_question.html.haml b/app/views/admin/surveys/_survey_question.html.haml index f006036e0..0219ce461 100644 --- a/app/views/admin/surveys/_survey_question.html.haml +++ b/app/views/admin/surveys/_survey_question.html.haml @@ -32,10 +32,10 @@ - elsif survey_question.text? = text_area_tag "survey_submission[#{survey_question.id}][]", survey_reply.text, rows: 4, class: 'form-control', required: survey_question.mandatory - elsif survey_question.datetime? - .form-group{ class: 'datetimepicker' } + .form-group .input-group .input-group-addon %span.fa-solid.fa-calendar - %input.form-control{ readonly: 'readonly', name: "survey_submission[#{survey_question.id}][]", value: survey_reply.text, required: survey_question.mandatory } + %input.form-control{ type: 'datetime-local', readonly: 'readonly', name: "survey_submission[#{survey_question.id}][]", value: survey_reply.text, required: survey_question.mandatory } - elsif survey_question.numeric? %input.form-control{ type: 'number', name: "survey_submission[#{survey_question.id}][]", value: survey_reply.text, required: survey_question.mandatory } diff --git a/spec/features/conference_spec.rb b/spec/features/conference_spec.rb index 39d5106f2..be4235ccd 100644 --- a/spec/features/conference_spec.rb +++ b/spec/features/conference_spec.rb @@ -3,9 +3,19 @@ require 'spec_helper' feature Conference do - let!(:user) { create(:admin) } + let(:user) { create(:admin) } let!(:organization) { create(:organization) } - shared_examples 'add and update conference' do + + describe 'admin' do + let(:conference) { create(:conference, organization: organization) } + + scenario 'has organization name in menu bar for conference views', feature: true, js: true do + sign_in user + visit admin_conference_path(conference.short_title) + + expect(find('.navbar-brand').text).to eq(conference.organization.name) + end + scenario 'adds a new conference', feature: true, js: true do expected_count = Conference.count + 1 sign_in user @@ -19,13 +29,8 @@ select('(GMT+01:00) Berlin', from: 'conference[timezone]') today = Time.zone.today - 1 - page - .execute_script("$('#conference-start-datepicker').val('" + - "#{today.strftime('%d/%m/%Y')}')") - page - .execute_script("$('#conference-end-datepicker').val('" + - "#{(today + 7).strftime('%d/%m/%Y')}')") - + fill_in 'conference_start_date', with: today.strftime('%Y/%m/%d') + fill_in 'conference_end_date', with: (today + 7).strftime('%Y/%m/%d') click_button 'Create Conference' page.find('#flash') @@ -50,13 +55,8 @@ fill_in 'conference_short_title', with: 'NewCon' day = Time.zone.today + 10 - page - .execute_script("$('#conference-start-datepicker').val('" + - "#{day.strftime('%d/%m/%Y')}')") - page - .execute_script("$('#conference-end-datepicker').val('" + - "#{(day + 7).strftime('%d/%m/%Y')}')") - + fill_in 'conference_start_date', with: day.strftime('%Y/%m/%d') + fill_in 'conference_end_date', with: (day + 7).strftime('%Y/%m/%d') page.accept_alert do click_button 'Update Conference' end @@ -70,17 +70,4 @@ expect(Conference.count).to eq(expected_count) end end - - describe 'admin' do - let!(:conference) { create(:conference) } - - scenario 'has organization name in menu bar for conference views', feature: true, js: true do - sign_in user - visit admin_conference_path(conference.short_title) - - expect(find('.navbar-brand').text).to eq(conference.organization.name) - end - - it_behaves_like 'add and update conference' - end end From 7190867f2162bf99349784bf5b8b83008d5989e6 Mon Sep 17 00:00:00 2001 From: Henne Vogelsang Date: Thu, 6 Jun 2024 22:15:27 +0200 Subject: [PATCH 083/325] Drop bootstrap3-datetimepicker-rails We are using the browser for date inputs now... --- Gemfile | 3 -- Gemfile.lock | 5 -- app/assets/javascripts/application.js | 2 - app/assets/javascripts/osem-datepickers.js | 47 ------------------- app/assets/stylesheets/application.css | 1 - .../jquery-ui-timepicker-addon.css | 10 ---- app/assets/stylesheets/strap-on.scss | 1 - 7 files changed, 69 deletions(-) delete mode 100644 app/assets/javascripts/osem-datepickers.js delete mode 100644 app/assets/stylesheets/jquery-ui-timepicker-addon.css diff --git a/Gemfile b/Gemfile index beab8ce06..ebc72f9e3 100644 --- a/Gemfile +++ b/Gemfile @@ -88,9 +88,6 @@ gem 'jquery-ui-rails', '~> 6.0.1' # for languages validation gem 'iso-639' -# as date picker -gem 'bootstrap3-datetimepicker-rails', '~> 4.17.47' - # data tables gem 'ajax-datatables-rails' gem 'jquery-datatables-rails' diff --git a/Gemfile.lock b/Gemfile.lock index 053841e63..5e4368598 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -99,8 +99,6 @@ GEM autoprefixer-rails (>= 5.2.1) sassc (>= 2.0.0) bootstrap-switch-rails (3.3.3) - bootstrap3-datetimepicker-rails (4.17.47) - momentjs-rails (>= 2.8.1) builder (3.2.4) byebug (11.1.3) cancancan (3.5.0) @@ -292,8 +290,6 @@ GEM mini_mime (1.1.5) mini_portile2 (2.8.6) minitest (5.23.1) - momentjs-rails (2.29.4.1) - railties (>= 3.1) monetize (1.13.0) money (~> 6.12) money (6.19.0) @@ -618,7 +614,6 @@ DEPENDENCIES awesome_nested_set bootstrap-sass (~> 3.4.0) bootstrap-switch-rails (= 3.3.3) - bootstrap3-datetimepicker-rails (~> 4.17.47) byebug cancancan capybara diff --git a/app/assets/javascripts/application.js b/app/assets/javascripts/application.js index cf12a0859..9a3b692a3 100644 --- a/app/assets/javascripts/application.js +++ b/app/assets/javascripts/application.js @@ -31,8 +31,6 @@ //= require momentjs //= require leaflet //= require holderjs -//= require bootstrap-datetimepicker -//= require osem-datepickers //= require osem-datatables //= require osem-tickets //= require bootstrap-switch diff --git a/app/assets/javascripts/osem-datepickers.js b/app/assets/javascripts/osem-datepickers.js deleted file mode 100644 index cc23aaa42..000000000 --- a/app/assets/javascripts/osem-datepickers.js +++ /dev/null @@ -1,47 +0,0 @@ -// get current_date -var today = new Date().toISOString().slice(0, 10); -$(function () { - $("input[id^='datetimepicker']").datetimepicker({ - useCurrent: false, - sideBySide: true, - format: 'YYYY-MM-DD HH:mm' - }); - - $('.datetimepicker').datetimepicker({ - useCurrent: false, - sideBySide: true, - format: 'YYYY-MM-DD HH:mm' - }); - - $("#conference-start-datepicker").datetimepicker({ - useCurrent: false, - ignoreReadonly: true, - format: "YYYY-MM-DD", - }); - - $("#conference-end-datepicker").datetimepicker({ - useCurrent: false, - ignoreReadonly: true, - format: "YYYY-MM-DD" - }); - - $("#conference-start-datepicker").on("dp.change",function (e) { - $('#conference-end-datepicker').data("DateTimePicker").minDate(e.date); - if (!$('#conference-end-datepicker').val()) { - $('#conference-end-datepicker').data("DateTimePicker").date(e.date); - } - }); - - $("#conference-start-datepicker").change(function (e) { - $('#conference-start-datepicker').val()?$('#conference-end-datepicker').data("DateTimePicker").minDate(e.date):$('#conference-end-datepicker').data("DateTimePicker").minDate(null); - }); - - $("#conference-end-datepicker").on("dp.change",function (e) { - $('#conference-start-datepicker').data("DateTimePicker").maxDate(e.date); - }); - - $("#conference-end-datepicker").change(function (e) { - $('#conference-end-datepicker').val()?$('#conference-start-datepicker').data("DateTimePicker").maxDate(e.date):$('#conference-start-datepicker').data("DateTimePicker").maxDate(null); - }); - -} ); diff --git a/app/assets/stylesheets/application.css b/app/assets/stylesheets/application.css index 576997ae2..02dbfc64b 100644 --- a/app/assets/stylesheets/application.css +++ b/app/assets/stylesheets/application.css @@ -9,7 +9,6 @@ *= require osem-splash *= require osem-fonts *= require bootstrap-markdown - *= require bootstrap-datetimepicker *= require leaflet *= require bootstrap3-switch *= require osem-payments diff --git a/app/assets/stylesheets/jquery-ui-timepicker-addon.css b/app/assets/stylesheets/jquery-ui-timepicker-addon.css deleted file mode 100644 index b93a85f62..000000000 --- a/app/assets/stylesheets/jquery-ui-timepicker-addon.css +++ /dev/null @@ -1,10 +0,0 @@ -.ui-timepicker-div .ui-widget-header { margin-bottom: 8px; } -.ui-timepicker-div dl { text-align: left; } -.ui-timepicker-div dl dt { height: 25px; margin-bottom: -25px; } -.ui-timepicker-div dl dd { margin: 0 10px 10px 65px; } -.ui-timepicker-div td { font-size: 90%; } -.ui-tpicker-grid-label { background: none; border: none; margin: 0; padding: 0; } - -.ui-timepicker-rtl{ direction: rtl; } -.ui-timepicker-rtl dl { text-align: right; } -.ui-timepicker-rtl dl dd { margin: 0 65px 10px 10px; } \ No newline at end of file diff --git a/app/assets/stylesheets/strap-on.scss b/app/assets/stylesheets/strap-on.scss index 571161e6d..feeecb295 100644 --- a/app/assets/stylesheets/strap-on.scss +++ b/app/assets/stylesheets/strap-on.scss @@ -5,7 +5,6 @@ $navbar-default-color: #ffffff; $navbar-default-link-color: #ffffff; $navbar-default-link-hover-color: #000000; -@import 'bootstrap-datetimepicker'; @import "bootstrap-sprockets"; // From 8987808649752657c69280a09eae47563b10ccd5 Mon Sep 17 00:00:00 2001 From: Henne Vogelsang Date: Fri, 7 Jun 2024 14:07:54 +0200 Subject: [PATCH 084/325] Download chromedriver during container build If it's too outdated it leads to weird failures in the test suite because we disallow outside requests in it. --- Dockerfile | 5 +++-- Gemfile | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/Dockerfile b/Dockerfile index 2e9edc1ec..1a6892a9e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -20,7 +20,8 @@ WORKDIR /osem/ RUN bundle config set --local path 'vendor/bundle'; \ bundle install --jobs=4 --retry=3 -# Install our process manager -RUN gem install foreman +# Install our process manager / update chromedriver +RUN gem install foreman; \ + bundle exec bin/rails webdrivers:chromedriver:update CMD ["foreman", "start"] diff --git a/Gemfile b/Gemfile index ebc72f9e3..bb7ba51da 100644 --- a/Gemfile +++ b/Gemfile @@ -213,9 +213,7 @@ group :test do # as test framework gem 'capybara' gem 'database_cleaner' - gem 'geckodriver-helper' gem 'rspec-rails' - gem 'webdrivers' # for measuring test coverage gem 'simplecov-cobertura' # for describing models @@ -239,6 +237,9 @@ group :test do end group :development, :test do + # as capybara driver + gem 'webdrivers' + gem 'geckodriver-helper' # as debugger gem 'byebug' # to test new rails version From 5098f1534c944341d8ff91573368d6b98a189474 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Fri, 7 Jun 2024 12:12:04 +0000 Subject: [PATCH 085/325] Update faker to version 3.4.1 --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index d886059cb..fb37aebb3 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -145,7 +145,7 @@ GEM faraday-multipart (~> 1.0, >= 1.0.4) cocoon (1.2.15) colorize (1.1.0) - concurrent-ruby (1.2.3) + concurrent-ruby (1.3.1) countable-rails (0.0.1) railties (>= 3.1) crack (1.0.0) @@ -188,7 +188,7 @@ GEM factory_bot_rails (6.4.3) factory_bot (~> 6.4) railties (>= 5.0.0) - faker (3.3.1) + faker (3.4.1) i18n (>= 1.8.11, < 2) faraday (2.9.0) faraday-net_http (>= 2.0, < 3.2) From eb9f22ce8bdaaeb7863674f1fc04704aa06fc82f Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Fri, 7 Jun 2024 12:25:28 +0000 Subject: [PATCH 086/325] Update rubocop to version 1.64.1 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 92367775a..6692e485f 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -467,7 +467,7 @@ GEM rspec-mocks (~> 3.13) rspec-support (~> 3.13) rspec-support (3.13.1) - rubocop (1.63.5) + rubocop (1.64.1) json (~> 2.3) language_server-protocol (>= 3.17.0) parallel (~> 1.10) From ef9b37f269a6da1d3779ad915f9d26477e745346 Mon Sep 17 00:00:00 2001 From: Henne Vogelsang Date: Fri, 7 Jun 2024 15:09:31 +0200 Subject: [PATCH 087/325] Install foreman system wide --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 1a6892a9e..59e6b0325 100644 --- a/Dockerfile +++ b/Dockerfile @@ -21,7 +21,7 @@ RUN bundle config set --local path 'vendor/bundle'; \ bundle install --jobs=4 --retry=3 # Install our process manager / update chromedriver -RUN gem install foreman; \ +RUN sudo gem install foreman; \ bundle exec bin/rails webdrivers:chromedriver:update CMD ["foreman", "start"] From 8cbcb88a368569cf9b747c28cccb2a21281593aa Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Fri, 7 Jun 2024 13:25:28 +0000 Subject: [PATCH 088/325] Update omniauth-facebook to version 10.0.0 --- Gemfile.lock | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 369771ceb..8611993dd 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -331,8 +331,9 @@ GEM hashie (>= 3.4.6) rack (>= 2.2.3) rack-protection - omniauth-facebook (9.0.0) - omniauth-oauth2 (~> 1.2) + omniauth-facebook (10.0.0) + bigdecimal + omniauth-oauth2 (>= 1.2, < 3) omniauth-github (2.0.1) omniauth (~> 2.0) omniauth-oauth2 (~> 1.8) From b9a50ef20d6deb0c966384e3e62a732025b1893d Mon Sep 17 00:00:00 2001 From: Henne Vogelsang Date: Fri, 7 Jun 2024 16:11:25 +0200 Subject: [PATCH 089/325] Drop Organization from database Rolling back this feature. It was a nice attempt but no one ever followed up and made this something else than a code of conduct holder... --- .../20181229233812_drop_organizations.rb | 11 +++++++++ ...33813_add_code_of_conduct_to_conference.rb | 5 ++++ db/schema.rb | 24 +++++++------------ 3 files changed, 25 insertions(+), 15 deletions(-) create mode 100644 db/migrate/20181229233812_drop_organizations.rb create mode 100644 db/migrate/20181229233813_add_code_of_conduct_to_conference.rb diff --git a/db/migrate/20181229233812_drop_organizations.rb b/db/migrate/20181229233812_drop_organizations.rb new file mode 100644 index 000000000..dd1be5f2c --- /dev/null +++ b/db/migrate/20181229233812_drop_organizations.rb @@ -0,0 +1,11 @@ +class DropOrganizations < ActiveRecord::Migration[7.0] + def change + drop_table :organizations do |t| + t.string :name, null: false + t.text :description + t.string :picture + end + + remove_reference :conferences, :organization, index: true + end +end diff --git a/db/migrate/20181229233813_add_code_of_conduct_to_conference.rb b/db/migrate/20181229233813_add_code_of_conduct_to_conference.rb new file mode 100644 index 000000000..6151241f2 --- /dev/null +++ b/db/migrate/20181229233813_add_code_of_conduct_to_conference.rb @@ -0,0 +1,5 @@ +class AddCodeOfConductToConference < ActiveRecord::Migration[7.0] + def change + add_column :conferences, :code_of_conduct, :text + end +end diff --git a/db/schema.rb b/db/schema.rb index 2ad25c7ea..ab00f623e 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -2,15 +2,17 @@ # of editing this file, please use the migrations feature of Active Record to # incrementally modify your database, and then regenerate this schema definition. # -# Note that this schema.rb definition is the authoritative source for your -# database schema. If you need to create the application database on another -# system, you should be using db:schema:load, not running all the migrations -# from scratch. The latter is a flawed and unsustainable approach (the more migrations -# you'll amass, the slower it'll run and the greater likelihood for issues). +# This file is the source Rails uses to define your schema when running `bin/rails +# db:schema:load`. When creating a new database, `bin/rails db:schema:load` tends to +# be faster and is potentially less error prone than running all of your +# migrations from scratch. Old migrations may fail to apply correctly if those +# migrations use external dependencies or application code. # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 20181229233811) do +ActiveRecord::Schema[7.0].define(version: 2018_12_29_233813) do + # These are extensions that must be enabled in order to support this database + enable_extension "plpgsql" create_table "answers", force: :cascade do |t| t.string "title" @@ -100,11 +102,10 @@ t.string "picture" t.integer "start_hour", default: 9 t.integer "end_hour", default: 20 - t.integer "organization_id" t.integer "ticket_layout", default: 0 t.string "custom_domain" t.integer "booth_limit", default: 0 - t.index ["organization_id"], name: "index_conferences_on_organization_id" + t.text "code_of_conduct" end create_table "conferences_questions", id: false, force: :cascade do |t| @@ -285,13 +286,6 @@ t.datetime "updated_at" end - create_table "organizations", force: :cascade do |t| - t.string "name", null: false - t.text "description" - t.string "picture" - t.text "code_of_conduct" - end - create_table "payments", force: :cascade do |t| t.string "last4" t.integer "amount" From dc1a6a43635e47782d988870d8570e987b92cb2b Mon Sep 17 00:00:00 2001 From: Henne Vogelsang Date: Fri, 7 Jun 2024 16:13:28 +0200 Subject: [PATCH 090/325] Drop Organization abilities --- app/models/ability.rb | 2 -- app/models/admin_ability.rb | 21 +++------------------ spec/ability/ability_spec.rb | 4 +--- 3 files changed, 4 insertions(+), 23 deletions(-) diff --git a/app/models/ability.rb b/app/models/ability.rb index 77746620d..913c97ff9 100644 --- a/app/models/ability.rb +++ b/app/models/ability.rb @@ -17,7 +17,6 @@ def initialize(user) # Abilities for not signed in users (guests) def not_signed_in - can [:index, :conferences, :code_of_conduct], Organization can [:index], Conference can [:show], Conference do |conference| conference.splashpage&.public == true @@ -86,7 +85,6 @@ def signed_in(user) end end - can :index, Organization can :index, Ticket can :manage, TicketPurchase, user_id: user.id can [:new, :create], Payment, user_id: user.id diff --git a/app/models/admin_ability.rb b/app/models/admin_ability.rb index 6100455c0..67bf6cfe5 100644 --- a/app/models/admin_ability.rb +++ b/app/models/admin_ability.rb @@ -30,7 +30,6 @@ def common_abilities_for_roles(user) conference.registration_open? && !conference.registration_limit_exceeded? || conference.program.speakers.confirmed.include?(user) end - can [:index, :admins], Organization can :index, Ticket can :manage, TicketPurchase, user_id: user.id can [:new, :create], Payment, user_id: user.id @@ -81,7 +80,6 @@ def common_abilities_for_roles(user) # Abilities for signed in users with roles def signed_in_with_roles(user) - signed_in_with_organization_admin_role(user) if user.has_cached_role? :organization_admin, :any signed_in_with_organizer_role(user) if user.has_cached_role? :organizer, :any signed_in_with_cfp_role(user) if user.has_cached_role? :cfp, :any signed_in_with_info_desk_role(user) if user.has_cached_role? :info_desk, :any @@ -90,22 +88,9 @@ def signed_in_with_roles(user) common_abilities_for_roles(user) end - def signed_in_with_organization_admin_role(user) - org_ids_for_organization_admin = Organization.with_role(:organization_admin, user).pluck(:id) - conf_ids_for_organization_admin = Conference.where(organization_id: org_ids_for_organization_admin).pluck(:id) - - can [:read, :update, :destroy, :assign_org_admins, :unassign_org_admins, :admins], Organization, id: org_ids_for_organization_admin - can :new, Conference - can :manage, Conference, organization_id: org_ids_for_organization_admin - can [:index, :show], Role - - signed_in_with_organizer_role(user, conf_ids_for_organization_admin) - end - - def signed_in_with_organizer_role(user, conf_ids_for_organization_admin = []) - # ids of all the conferences for which the user has the 'organizer' role and - # conferences that belong to organizations for which user is 'organization_admin' - conf_ids = conf_ids_for_organization_admin.concat(Conference.with_role(:organizer, user).pluck(:id)).uniq + def signed_in_with_organizer_role(user) + # ids of all the conferences for which the user has the 'organizer' role + conf_ids = Conference.with_role(:organizer, user).pluck(:id) # ids of all the tracks that belong to the programs of the above conferences track_ids = Track.joins(:program).where('programs.conference_id IN (?)', conf_ids).pluck(:id) diff --git a/spec/ability/ability_spec.rb b/spec/ability/ability_spec.rb index d119f9c5f..0f3438ac0 100644 --- a/spec/ability/ability_spec.rb +++ b/spec/ability/ability_spec.rb @@ -11,8 +11,7 @@ subject(:ability){ Ability.new(user) } let(:user){ nil } - let!(:organization) { create(:organization) } - let!(:my_conference) { create(:full_conference, organization: organization) } + let!(:my_conference) { create(:full_conference) } let(:my_room) { create(:room, venue: my_conference.venue) } @@ -36,7 +35,6 @@ # Test abilities for not signed in users context 'when user is not signed in' do - it{ should be_able_to(:index, Organization)} it{ should be_able_to(:index, Conference)} it{ should be_able_to(:show, conference_public)} From 275be8c80aa27af0174b5af9948600de26a79891 Mon Sep 17 00:00:00 2001 From: Henne Vogelsang Date: Fri, 7 Jun 2024 16:19:29 +0200 Subject: [PATCH 091/325] Drop Organization Feature --- app/controllers/admin/base_controller.rb | 3 +- .../admin/conferences_controller.rb | 2 +- .../admin/organizations_controller.rb | 98 ------------------- app/controllers/admin/versions_controller.rb | 3 - app/controllers/organizations_controller.rb | 21 ---- app/helpers/application_helper.rb | 2 +- app/helpers/versions_helper.rb | 9 -- app/models/conference.rb | 10 +- app/models/organization.rb | 25 ----- app/pdfs/ticket_pdf.rb | 1 - .../admin/conferences/_form_fields.html.haml | 4 - app/views/admin/organizations/_form.html.haml | 22 ----- .../_users_with_org_admin_role.haml | 26 ----- app/views/admin/organizations/edit.html.haml | 9 -- app/views/admin/organizations/index.html.haml | 40 -------- app/views/admin/organizations/new.html.haml | 8 -- .../admin/organizations/show_org_admins.haml | 20 ---- .../versions/_object_desc_and_link.html.haml | 48 ++------- .../_registration_info.html.haml | 2 +- .../conference_registrations/show.html.haml | 3 +- app/views/conferences/_code_of_conduct.haml | 8 +- .../conferences/_conference_details.html.haml | 4 +- app/views/conferences/show.html.haml | 2 +- .../layouts/_admin_sidebar_index.html.haml | 10 -- app/views/layouts/_user_menu.html.haml | 5 - app/views/organizations/index.html.haml | 21 ---- app/views/physical_tickets/show.html.haml | 6 -- config/routes.rb | 12 --- 28 files changed, 22 insertions(+), 402 deletions(-) delete mode 100644 app/controllers/admin/organizations_controller.rb delete mode 100644 app/controllers/organizations_controller.rb delete mode 100644 app/models/organization.rb delete mode 100644 app/views/admin/organizations/_form.html.haml delete mode 100644 app/views/admin/organizations/_users_with_org_admin_role.haml delete mode 100644 app/views/admin/organizations/edit.html.haml delete mode 100644 app/views/admin/organizations/index.html.haml delete mode 100644 app/views/admin/organizations/new.html.haml delete mode 100644 app/views/admin/organizations/show_org_admins.haml delete mode 100644 app/views/organizations/index.html.haml diff --git a/app/controllers/admin/base_controller.rb b/app/controllers/admin/base_controller.rb index 824744266..9b842b71d 100644 --- a/app/controllers/admin/base_controller.rb +++ b/app/controllers/admin/base_controller.rb @@ -21,8 +21,7 @@ def verify_user_admin return false end unless (current_user.has_cached_role? :organizer, :any) || (current_user.has_cached_role? :cfp, :any) || - (current_user.has_cached_role? :info_desk, :any) || (current_user.has_cached_role? :organization_admin, :any) || - (current_user.has_cached_role? :volunteers_coordinator, :any) || + (current_user.has_cached_role? :info_desk, :any) || (current_user.has_cached_role? :volunteers_coordinator, :any) || (current_user.has_cached_role? :track_organizer, :any) || current_user.is_admin raise CanCan::AccessDenied.new('You are not authorized to access this page.') end diff --git a/app/controllers/admin/conferences_controller.rb b/app/controllers/admin/conferences_controller.rb index 80e36f47c..bc4e7cbf7 100644 --- a/app/controllers/admin/conferences_controller.rb +++ b/app/controllers/admin/conferences_controller.rb @@ -180,7 +180,7 @@ def conference_params :use_vpositions, :use_vdays, :vdays_attributes, :vpositions_attributes, :use_volunteers, :color, :sponsorship_levels_attributes, :sponsors_attributes, - :registration_limit, :organization_id, :ticket_layout, + :registration_limit, :ticket_layout, :booth_limit) end end diff --git a/app/controllers/admin/organizations_controller.rb b/app/controllers/admin/organizations_controller.rb deleted file mode 100644 index 14ff040d3..000000000 --- a/app/controllers/admin/organizations_controller.rb +++ /dev/null @@ -1,98 +0,0 @@ -# frozen_string_literal: true - -module Admin - class OrganizationsController < Admin::BaseController - load_and_authorize_resource :organization - before_action :verify_user, only: [:assign_org_admins, :unassign_org_admins] - - def index - @organizations = Organization.all - end - - def create - @organization = Organization.new(organization_params) - if @organization.save - redirect_to admin_organizations_path, - notice: 'Organization successfully created' - else - redirect_to new_admin_organization_path, - error: @organization.errors.full_messages.join(', ') - end - end - - def new - @organization = Organization.new - end - - def edit; end - - def update - if @organization.update(organization_params) - redirect_to admin_organizations_path, - notice: 'Organization successfully updated' - else - redirect_to edit_admin_organization_path(@organization), - error: @organization.errors.full_messages.join(', ') - end - end - - def destroy - if @organization.destroy - redirect_to admin_organizations_path, - notice: 'Organization successfully destroyed' - else - redirect_to admin_organizations_path, - error: 'Organization cannot be destroyed' - end - end - - def assign_org_admins - if @user.has_cached_role? 'organization_admin', @organization - flash[:error] = "User #{@user.email} already has the role organization admin" - elsif @user.add_role 'organization_admin', @organization - flash[:notice] = "Successfully added role organization admin to user #{@user.email}" - else - flash[:error] = "Coud not add role organization admin to #{@user.email}" - end - - redirect_to admins_admin_organization_path(@organization) - end - - def unassign_org_admins - if @user.remove_role 'organization_admin', @organization - flash[:notice] = "Successfully removed role organization admin from user #{@user.email}" - else - flash[:error] = "Could not remove role organization admin from user #{@user.email}" - end - - redirect_to admins_admin_organization_path(@organization) - end - - def admins - @role = @organization.roles.first - @users = @role.users - render 'show_org_admins' - end - - private - - def user_params - params.require(:user).permit(:email) - end - - def verify_user - @user = User.find_by(email: user_params[:email]) - unless @user - redirect_to admins_admin_organization_path(@organization), - error: 'Could not find user. Please provide a valid email!' - return - end - end - - def organization_params - params.require(:organization).permit( - :name, :description, :picture, :code_of_conduct - ) - end - end -end diff --git a/app/controllers/admin/versions_controller.rb b/app/controllers/admin/versions_controller.rb index 1bc7ae2ab..751ac7467 100644 --- a/app/controllers/admin/versions_controller.rb +++ b/app/controllers/admin/versions_controller.rb @@ -8,9 +8,6 @@ class VersionsController < Admin::BaseController def index @conferences_with_role = current_user.is_admin? ? Conference.pluck(:short_title) : Conference.with_role([:organizer, :cfp, :info_desk], current_user).pluck(:short_title) - if current_user.has_cached_role? :organization_admin, :any - @conferences_with_role = Organization.with_role('organization_admin', current_user).map { |org| org.conferences.pluck :short_title }.flatten - end @conferences_with_role.uniq! return if @conference.blank? diff --git a/app/controllers/organizations_controller.rb b/app/controllers/organizations_controller.rb deleted file mode 100644 index 28696d335..000000000 --- a/app/controllers/organizations_controller.rb +++ /dev/null @@ -1,21 +0,0 @@ -# frozen_string_literal: true - -class OrganizationsController < ApplicationController - load_and_authorize_resource :organization - - def index - @organizations = Organization.all - end - - def code_of_conduct - @title = "#{@organization.name}: Code of Conduct" - @content = @organization.code_of_conduct - render 'document' - end - - def conferences - @current = @organization.conferences.upcoming.reorder(start_date: :asc) - @antiquated = @organization.conferences.past - render '/conferences/index' - end -end diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index e3474111f..0be070a28 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -140,7 +140,7 @@ def hidden_if_conference_over(conference) def nav_root_link_for(conference) link_text = ( - conference.try(:organization).try(:name) || ENV.fetch('OSEM_NAME', 'OSEM') + ENV.fetch('OSEM_NAME', 'OSEM') ) link_to( link_text, diff --git a/app/helpers/versions_helper.rb b/app/helpers/versions_helper.rb index 0f355f5a0..33cecc1ee 100644 --- a/app/helpers/versions_helper.rb +++ b/app/helpers/versions_helper.rb @@ -8,15 +8,6 @@ def link_if_alive(version, link_text, link_url, conference) version.item && conference ? link_to(link_text, link_url) : "#{link_text} with ID #{version.item_id}" end - def link_to_organization(organization_id) - return 'deleted organization' unless organization_id - - org = Organization.find_by(id: organization_id) - return current_or_last_object_state('Organization', organization_id).try(:name) unless org - - org.name.to_s - end - def link_to_conference(conference_id) return 'deleted conference' if conference_id.nil? diff --git a/app/models/conference.rb b/app/models/conference.rb index cac3a8493..8c83f2860 100644 --- a/app/models/conference.rb +++ b/app/models/conference.rb @@ -12,9 +12,6 @@ class Conference < ApplicationRecord scope :upcoming, (-> { where('end_date >= ?', Date.current) }) scope :past, (-> { where('end_date < ?', Date.current) }) - belongs_to :organization - delegate :code_of_conduct, to: :organization - has_paper_trail ignore: %i(updated_at guid revision events_per_week), meta: { conference_id: :id } has_and_belongs_to_many :questions @@ -83,7 +80,6 @@ def after_conference :start_hour, :end_hour, :ticket_layout, - :organization, :timezone, presence: true validates :short_title, uniqueness: true @@ -579,11 +575,11 @@ def tracks_distribution(state = nil) # * +ActiveRecord+ def self.get_active_conferences_for_dashboard result = Conference.where('start_date > ?', Time.now) - .select('id, short_title, color, start_date, organization_id') + .select('id, short_title, color, start_date') if result.empty? result = Conference - .select('id, short_title, color, start_date, organization_id').limit(2) + .select('id, short_title, color, start_date').limit(2) .order(start_date: :desc) end result @@ -595,7 +591,7 @@ def self.get_active_conferences_for_dashboard # ====Returns # * +ActiveRecord+ def self.get_conferences_without_active_for_dashboard(active_conferences) - result = Conference.select('id, short_title, color, start_date, organization_id').order(start_date: :desc) + result = Conference.select('id, short_title, color, start_date').order(start_date: :desc) result - active_conferences end diff --git a/app/models/organization.rb b/app/models/organization.rb deleted file mode 100644 index 877de9dff..000000000 --- a/app/models/organization.rb +++ /dev/null @@ -1,25 +0,0 @@ -# frozen_string_literal: true - -class Organization < ApplicationRecord - resourcify :roles, dependent: :delete_all - - has_paper_trail - - has_many :conferences, dependent: :destroy - - after_create :create_roles - - validates :name, - uniqueness: { - case_sensitive: false - }, - presence: true - - mount_uploader :picture, PictureUploader, mount_on: :picture - - private - - def create_roles - roles.where(name: 'organization_admin').first_or_create(description: 'For the administrators of an organization and its conferences') - end -end diff --git a/app/pdfs/ticket_pdf.rb b/app/pdfs/ticket_pdf.rb index cb624b1d1..542e8cb0d 100644 --- a/app/pdfs/ticket_pdf.rb +++ b/app/pdfs/ticket_pdf.rb @@ -67,7 +67,6 @@ def draw_second_square move_down 70 draw_text @conference.title.to_s, at: [@mid_horizontal + 30, cursor - 30], size: 12 - draw_text @conference.organization.name.to_s, at: [@mid_horizontal + 30, cursor - 50], size: 12 if @conference.venue draw_text @conference.venue_name, at: [@mid_horizontal + 30, cursor - 70] draw_text @conference.venue_street, at: [@mid_horizontal + 30, cursor - 90] diff --git a/app/views/admin/conferences/_form_fields.html.haml b/app/views/admin/conferences/_form_fields.html.haml index afa644ede..bcba474f3 100644 --- a/app/views/admin/conferences/_form_fields.html.haml +++ b/app/views/admin/conferences/_form_fields.html.haml @@ -1,10 +1,6 @@ %h4 Basic Information %hr -- if f.object.new_record? - .form-group - = f.label :organization, "Organization" - = f.select :organization_id, Organization.accessible_by(current_ability, :update).pluck(:name, :id) .form-group = f.label :title, "Title" %abbr{title: 'This field is required'} * diff --git a/app/views/admin/organizations/_form.html.haml b/app/views/admin/organizations/_form.html.haml deleted file mode 100644 index 13544440b..000000000 --- a/app/views/admin/organizations/_form.html.haml +++ /dev/null @@ -1,22 +0,0 @@ -= form_for(@organization, url: (@organization.new_record? ? admin_organizations_path : admin_organization_path(@organization))) do |f| - .form-group - = f.label :name, "Name" - %abbr{title: 'This field is required'} * - = f.text_field :name, required: true, class: 'form-control', placeholder: 'Name' - .form-group - = f.text_area :description, rows: 10, data: { provide: 'markdown' }, class: 'form-control', placeholder: 'Decribe about your organization...' - %span.help-block - = markdown_hint - .form-group - = f.text_area :code_of_conduct, rows: 10, data: { provide: 'markdown' }, class: 'form-control', placeholder: 'Rules governing behavior and dispute resolution...' - %span.help-block - = markdown_hint - .form-group - = image_tag f.object.picture.thumb.url if f.object.picture? - = f.file_field :picture - %p.text-right - %button{type: 'submit', class: 'btn btn-success'} - - if @organization.new_record? - Create Organization - - else - Update Organization diff --git a/app/views/admin/organizations/_users_with_org_admin_role.haml b/app/views/admin/organizations/_users_with_org_admin_role.haml deleted file mode 100644 index 0632afbf0..000000000 --- a/app/views/admin/organizations/_users_with_org_admin_role.haml +++ /dev/null @@ -1,26 +0,0 @@ -.page-header - %h3 Users (#{users.length}) -- if users.present? - %table.datatable#users - %thead - %tr - %th Name - %th Email - - if ( can? :unassign_org_admins, organization ) - %th - Actions - %tbody - - users.each do |user| - %tr - %td= user.name - %td= user.email - - if ( can? :unassign_org_admins, organization ) - %td - = link_to 'Remove from organization admin', - unassign_org_admins_admin_organization_path(organization.id, - role.name, - user: {email: user.email}), - method: :delete, - class: 'btn btn-danger' -- else - %h5 No users found! diff --git a/app/views/admin/organizations/edit.html.haml b/app/views/admin/organizations/edit.html.haml deleted file mode 100644 index c9d69bcd4..000000000 --- a/app/views/admin/organizations/edit.html.haml +++ /dev/null @@ -1,9 +0,0 @@ -.row - .col-md-12 - .page-header - %h1 - Edit Organization - = @organization.name -.row - .col-md-8 - = render partial: 'form' diff --git a/app/views/admin/organizations/index.html.haml b/app/views/admin/organizations/index.html.haml deleted file mode 100644 index 09cf187ea..000000000 --- a/app/views/admin/organizations/index.html.haml +++ /dev/null @@ -1,40 +0,0 @@ -.row - .col-md-12 - .page-header - %h1 Organizations - - if can? :manage, :all - .btn-group.pull-right - = link_to 'Create Organization', new_admin_organization_path, class: 'btn btn-success pull-right' - %p.text-muted - Manage organizations in OSEM -.row - .col-md-12 - %table.datatable - %thead - %tr - %th Name - %th Upcoming Conferences - %th Past Conferences - %th Code of Conduct? - %th Actions - %tbody - - @organizations.each do |organization| - %tr{ id: "organization-#{organization.id}" } - %td - = organization.name - %td - = organization.conferences.upcoming.count - %td - = organization.conferences.past.count - %td.text-center - - unless organization.code_of_conduct.blank? - = icon 'fa-solid', 'check', title: 'yes' - %td - .btn-group - = link_to 'Admins', admins_admin_organization_path(organization), - method: :get, class: 'btn btn-success' - = link_to 'Edit', edit_admin_organization_path(organization), - method: :get, class: 'btn btn-primary' - = link_to 'Delete', admin_organization_path(organization), - method: :delete, class: 'btn btn-danger', data: { confirm: "Warning: This will delete #{organization.name} and all its data which includes data for all conferences within #{organization.name}. Do you really want to continue?" } - = link_to 'Add Conference', new_admin_conference_path, method: :get, class: 'btn btn-info' diff --git a/app/views/admin/organizations/new.html.haml b/app/views/admin/organizations/new.html.haml deleted file mode 100644 index b38ea9372..000000000 --- a/app/views/admin/organizations/new.html.haml +++ /dev/null @@ -1,8 +0,0 @@ -.row - .col-md-12 - .page-header - %h1 - Create Organization -.row - .col-md-8 - = render partial: 'form' diff --git a/app/views/admin/organizations/show_org_admins.haml b/app/views/admin/organizations/show_org_admins.haml deleted file mode 100644 index 5c7698db1..000000000 --- a/app/views/admin/organizations/show_org_admins.haml +++ /dev/null @@ -1,20 +0,0 @@ -.row - .col-md-12 - .page-header - %h2 - Organization admins for #{@organization.name} - .text-muted - = @role.description - -.row.col-md-3 - - if ( can? :assign_org_admins, @organization ) - = form_for :user, url: assign_org_admins_admin_organization_path(@organization, @role.name), method: :post do |f| - .form-group - = f.label :email, 'Add user by email: ' - = f.text_field :email, placeholder: "User's email", class: 'form-control', required: true - = f.submit 'Add', id: 'user-add', class: 'btn btn-primary' - -.row - .col-md-12 - = render partial: 'users_with_org_admin_role', - locals: { users: @users, organization: @organization, role: @role } diff --git a/app/views/admin/versions/_object_desc_and_link.html.haml b/app/views/admin/versions/_object_desc_and_link.html.haml index 1728b999e..34bf4c8fa 100644 --- a/app/views/admin/versions/_object_desc_and_link.html.haml +++ b/app/views/admin/versions/_object_desc_and_link.html.haml @@ -7,26 +7,13 @@ end - case version.item_type -- when 'Organization' - organization - = link_to_organization(version.item_id) - - when 'UsersRole' - role = current_or_last_object_state('Role', object.role_id) - role_name = role.try(:name) || PaperTrail::Version.where(item_type: 'Role', item_id: object.role_id).last.changeset[:name].second role - - if role_name == 'organization_admin' - - if Organization.find_by(id: version.conference_id) - -# organization_admin belongs to organization and not conferences - - organization = Organization.find_by(id: version.conference_id) - = link_if_alive version, role_name, - admins_admin_organization_path(organization), organization - - else - (Deleted Organization) - - else - - conference = Conference.find_by(id: version.conference_id) - - conference_short_title = conference.try(:short_title) || current_or_last_object_state('Conference', version.conference_id).try(:short_title) || ' ' - = link_if_alive version, role.try(:name), admin_conference_role_path(conference_short_title,role.try(:name) || ' '), conference + - conference = Conference.find_by(id: version.conference_id) + - conference_short_title = conference.try(:short_title) || current_or_last_object_state('Conference', version.conference_id).try(:short_title) || ' ' + = link_if_alive version, role.try(:name), admin_conference_role_path(conference_short_title,role.try(:name) || ' '), conference = version.event == 'create' ? 'to' : 'from' user @@ -133,19 +120,10 @@ - when 'Role' role - role_name = object.try(:name) || PaperTrail::Version.where(item_type: 'Role', item_id: version.item_id).last.changeset[:name].second - - if role_name == 'organization_admin' - - if Organization.find_by(id: version.conference_id) - -# organization_admin belongs to organization and not conferences - - organization = Organization.find_by(id: version.conference_id) - = link_if_alive version, role_name, - admins_admin_organization_path(organization), organization - - else - (Role Deleted) - - else - - conference = Conference.find_by(id: version.conference_id) - - conference_short_title = conference.try(:short_title) || current_or_last_object_state('Conference', version.conference_id).try(:short_title) || ' ' - = link_if_alive version, role_name, - admin_conference_role_path(conference_short_title, role_name), conference + - conference = Conference.find_by(id: version.conference_id) + - conference_short_title = conference.try(:short_title) || current_or_last_object_state('Conference', version.conference_id).try(:short_title) || ' ' + = link_if_alive version, role_name, + admin_conference_role_path(conference_short_title, role_name), conference - when 'Venue' venue @@ -202,16 +180,8 @@ user = link_to_user(version.item_id) -- unless %w(Conference Subscription Registration User Organization).include?(version.item_type) - - if (version.item_type == 'Role' && role_name == 'organization_admin') || (version.item_type == 'UsersRole' && role_name == 'organization_admin') - in organization - - if Organization.find_by(id: version.conference_id) - -# organization_admin belongs to organization and not conferences - - organization = Organization.find_by(id: version.conference_id) - = link_to_organization(version.conference_id) - - else - (Organization Deleted) - - elsif version.item_type == 'Commercial' +- unless %w(Conference Subscription Registration User).include?(version.item_type) + - if version.item_type == 'Commercial' - commercial = current_or_last_object_state(version.item_type, version.item_id) - commercialable = current_or_last_object_state(commercial.commercialable_type, commercial.commercialable_id) - unless commercial.commercialable_type == 'Conference' diff --git a/app/views/conference_registrations/_registration_info.html.haml b/app/views/conference_registrations/_registration_info.html.haml index e8293d549..0fd04b511 100644 --- a/app/views/conference_registrations/_registration_info.html.haml +++ b/app/views/conference_registrations/_registration_info.html.haml @@ -27,4 +27,4 @@ (Scheduled on: #{event.time.to_date}) %br -= render 'conferences/code_of_conduct', organization: @conference.organization += render 'conferences/code_of_conduct' diff --git a/app/views/conference_registrations/show.html.haml b/app/views/conference_registrations/show.html.haml index c419d5359..d94470498 100644 --- a/app/views/conference_registrations/show.html.haml +++ b/app/views/conference_registrations/show.html.haml @@ -37,8 +37,7 @@ You need to accept the = link_to 'Code of Conduct', '#', data: { toggle: 'modal', target: '#modal-code-of-conduct'} - = render 'conferences/code_of_conduct', - organization: @conference.organization + = render 'conferences/code_of_conduct' - if @conference.surveys.for_registration.any? .row .col-md-12 diff --git a/app/views/conferences/_code_of_conduct.haml b/app/views/conferences/_code_of_conduct.haml index 1b9b98674..d31108678 100644 --- a/app/views/conferences/_code_of_conduct.haml +++ b/app/views/conferences/_code_of_conduct.haml @@ -4,7 +4,7 @@ data: { toggle: 'modal', target: '#modal-code-of-conduct'} - content_for :modals do - - cache [organization, '#CoC-modal'] do + - cache '#CoC-modal' do .modal.fade{ id: "modal-code-of-conduct" } .modal-dialog .modal-content @@ -13,8 +13,6 @@ %i.fa-solid.fa-xmark %h3.modal-title Code of Conduct .modal-body - = markdown organization.code_of_conduct + = markdown conference.code_of_conduct .modal-footer - = link_to 'permalink', - [:code_of_conduct, organization], - target: '_blank' + = link_to 'permalink', :code_of_conduct diff --git a/app/views/conferences/_conference_details.html.haml b/app/views/conferences/_conference_details.html.haml index a79d31e14..ffdd197aa 100644 --- a/app/views/conferences/_conference_details.html.haml +++ b/app/views/conferences/_conference_details.html.haml @@ -27,9 +27,7 @@ - if conference.program and conference.program.schedule_public = link_to "Schedule", conference_schedule_path(conference.short_title), class: 'btn btn-default' - unless conference.code_of_conduct.blank? - = link_to "Code of Conduct", - [:code_of_conduct, conference.organization], - class: 'btn btn-default' + = link_to "Code of Conduct", :code_of_conduct, class: 'btn btn-default' - if conference.registration_open? - if conference.user_registered?(current_user) = link_to "My Registration", conference_conference_registration_path(conference.short_title), class: 'btn btn-default' diff --git a/app/views/conferences/show.html.haml b/app/views/conferences/show.html.haml index 85b2bac65..41718b663 100644 --- a/app/views/conferences/show.html.haml +++ b/app/views/conferences/show.html.haml @@ -19,7 +19,7 @@ #splash - if @conference.code_of_conduct.present? - = render 'code_of_conduct', organization: @conference.organization + = render 'code_of_conduct' -# header/description = render 'header', conference: @conference, venue: @conference.venue diff --git a/app/views/layouts/_admin_sidebar_index.html.haml b/app/views/layouts/_admin_sidebar_index.html.haml index 91001405c..3da79dd2b 100644 --- a/app/views/layouts/_admin_sidebar_index.html.haml +++ b/app/views/layouts/_admin_sidebar_index.html.haml @@ -27,18 +27,8 @@ = link_to(admin_users_path) do %span.fa-solid.fa-user Users - - if can? :index, Organization - %li - = link_to(admin_organizations_path) do - %span.fa-solid.fa-users - Organizations - if can? :index, PaperTrail::Version %li = link_to(admin_revision_history_path) do %span.fa-solid.fa-clock-rotate-left Revision History - - if ENV.fetch('ORGANIZATIONS_ENABLED', nil) == 'true' - %li - = link_to(admin_organizations_path) do - %span.fa-solid.fa-user-group - Organizations diff --git a/app/views/layouts/_user_menu.html.haml b/app/views/layouts/_user_menu.html.haml index 887eee03a..f3c965adf 100644 --- a/app/views/layouts/_user_menu.html.haml +++ b/app/views/layouts/_user_menu.html.haml @@ -76,8 +76,3 @@ = link_to(admin_revision_history_path) do %span.fa-solid.fa-clock-rotate-left Revision History - - if ENV.fetch('OSEM_ICHAIN_ENABLED', nil) == 'true' - %li - = link_to(admin_organizations_path) do - %span.fa-solid.fa-user-group - Organizations diff --git a/app/views/organizations/index.html.haml b/app/views/organizations/index.html.haml deleted file mode 100644 index bd97ac2b3..000000000 --- a/app/views/organizations/index.html.haml +++ /dev/null @@ -1,21 +0,0 @@ -.container - .row - .col-md-12.page-header - %h1 - Organizations - .btn-group.pull-right - / = link_to 'Add new', new_organization_path, class: 'btn btn-mini btn-success' - - @organizations.each do |organization| - .col-md-4{ id: "organization-#{organization.id}" } - .thumbnail - = image_tag(organization.picture.thumb.url, width: '20%') if organization.picture? - .caption - %h4 - = organization.name - .btn-group - = link_to 'Conferences', - conferences_organization_path(organization), - class: 'btn btn-success' - - unless organization.code_of_conduct.blank? - = link_to 'Code of Conduct', [:code_of_conduct, organization], class: 'btn btn-info' - / = link_to 'Edit', edit_organization_path(organization), class: 'btn btn-mini btn-default' diff --git a/app/views/physical_tickets/show.html.haml b/app/views/physical_tickets/show.html.haml index ec8e73793..693517456 100644 --- a/app/views/physical_tickets/show.html.haml +++ b/app/views/physical_tickets/show.html.haml @@ -34,12 +34,6 @@ = image_tag(@conference.picture.ticket.url, class: 'img-responsive') - else = image_tag('/img/osem-logo.png', class: 'img-responsive') - %p.text-left - %br - %strong - Organization - %br - = @conference.organization.name .col-md-5.box.well %p.text-left %strong diff --git a/config/routes.rb b/config/routes.rb index 5865281de..cc6147e65 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -23,13 +23,6 @@ end namespace :admin do - resources :organizations do - member do - get :admins - post :assign_org_admins - delete :unassign_org_admins - end - end resources :users do member do patch :toggle_confirmation @@ -150,11 +143,6 @@ get '/revision_history/:id/revert_object' => 'versions#revert_object', as: 'revision_history_revert_object' get '/revision_history/:id/revert_attribute' => 'versions#revert_attribute', as: 'revision_history_revert_attribute' end - resources :organizations, only: [:index] do - member do - get :conferences, 'code-of-conduct' - end - end resources :conferences, only: [:index, :show] do resources :booths do member do From 85149dc8373514f92e2a565b2efaed8c569fa517 Mon Sep 17 00:00:00 2001 From: Henne Vogelsang Date: Fri, 7 Jun 2024 16:31:23 +0200 Subject: [PATCH 092/325] Drop Organization from specs --- .../admin/conferences_controller_spec.rb | 101 +------ .../admin/organizations_controller_spec.rb | 200 -------------- .../organizations_controller_spec.rb | 60 ---- spec/factories/conferences.rb | 1 - spec/factories/organizations.rb | 15 - spec/features/cfp_ability_spec.rb | 14 +- spec/features/code_of_conduct_spec.rb | 91 ------ spec/features/conference_spec.rb | 12 +- spec/features/info_desk_ability_spec.rb | 14 +- .../organization_admin_ability_spec.rb | 259 ------------------ spec/features/organization_spec.rb | 62 ----- spec/features/organizer_ability_spec.rb | 16 +- spec/features/roles_spec.rb | 46 ---- spec/features/splashpage_spec.rb | 15 - spec/features/track_organizer_ability_spec.rb | 5 +- spec/features/user_ability_spec.rb | 3 +- spec/features/versions_spec.rb | 38 --- spec/helpers/application_helper_spec.rb | 4 - spec/models/organization_spec.rb | 17 -- 19 files changed, 14 insertions(+), 959 deletions(-) delete mode 100644 spec/controllers/admin/organizations_controller_spec.rb delete mode 100644 spec/controllers/organizations_controller_spec.rb delete mode 100644 spec/factories/organizations.rb delete mode 100644 spec/features/code_of_conduct_spec.rb delete mode 100644 spec/features/organization_admin_ability_spec.rb delete mode 100644 spec/features/organization_spec.rb delete mode 100644 spec/models/organization_spec.rb diff --git a/spec/controllers/admin/conferences_controller_spec.rb b/spec/controllers/admin/conferences_controller_spec.rb index 3207d3826..0f9f3ffae 100644 --- a/spec/controllers/admin/conferences_controller_spec.rb +++ b/spec/controllers/admin/conferences_controller_spec.rb @@ -5,16 +5,13 @@ describe Admin::ConferencesController do # It is necessary to use bang version of let to build roles before user - let!(:organization) { create(:organization, name: 'organization') } - let!(:conference) { create(:conference, organization: organization, end_date: Date.new(2014, 05, 26) + 15) } - let!(:organization_admin_role) { Role.find_by(name: 'organization_admin', resource: organization) } - let(:organization_admin) { create(:user, role_ids: organization_admin_role.id) } + let!(:conference) { create(:conference, end_date: Date.new(2014, 05, 26) + 15) } let(:organizer_role) { Role.find_by(name: 'organizer', resource: conference) } let!(:organizer) { create(:organizer, resource: conference) } let!(:organizer2) { create(:organizer, email: 'organizer2@email.osem', resource: conference) } let(:participant) { create(:user) } - shared_examples 'access as organizer or organization_admin' do + shared_examples 'access as organizer' do describe 'PATCH #update' do context 'valid attributes' do it 'locates the requested conference' do @@ -197,95 +194,6 @@ end end - shared_examples 'access as organization_admin' do - describe 'POST #create' do - context 'with valid attributes' do - it 'saves the conference to the database' do - expected = expect do - post :create, params: { conference: - attributes_for(:conference, short_title: 'dps15', organization_id: organization.id) } - end - expected.to change { Conference.count }.by 1 - end - - it 'redirects to conference#show' do - post :create, params: { conference: - attributes_for(:conference, short_title: 'dps15', organization_id: organization.id) } - - expect(response).to redirect_to admin_conference_path( - assigns[:conference].short_title) - end - - it 'creates roles for the conference' do - cfp_role = Role.find_by(name: 'cfp', resource: conference) - info_desk_role = Role.find_by(name: 'info_desk', resource: conference) - volunteers_coordinator_role = Role.find_by(name: 'volunteers_coordinator', resource: conference) - - post :create, params: { conference: - attributes_for(:conference, short_title: 'dps15') } - - expect(conference.roles.count).to eq 4 - - expect(conference.roles).to match_array [organizer_role, cfp_role, info_desk_role, volunteers_coordinator_role] - end - end - - context 'with invalid attributes' do - it 'does not save the conference to the database' do - expected = expect do - post :create, params: { conference: - attributes_for(:conference, short_title: nil, organization_id: organization.id) } - end - expected.to_not change { Conference.count } - end - - it 're-renders the new template' do - post :create, params: { conference: - attributes_for(:conference, short_title: nil, organization_id: organization.id) } - expect(response).to be_successful - end - end - - context 'with duplicate conference short title' do - it 'does not save the conference to the database' do - conference - expected = expect do - post :create, params: { conference: - attributes_for(:conference, short_title: conference.short_title, organization_id: organization.id) } - end - expected.to_not change { Conference.count } - end - - it 're-renders the new template' do - conference - post :create, params: { conference: attributes_for(:conference, short_title: conference.short_title, organization_id: organization.id) } - expect(response).to be_successful - end - end - end - - describe 'GET #new' do - it 'assigns a new conference to conference' do - get :new - expect(assigns(:conference)).to be_a_new(Conference) - end - - it 'renders the :new template' do - get :new - expect(response).to render_template :new - end - end - end - - describe 'organization admin access' do - before do - sign_in(organization_admin) - end - - it_behaves_like 'access as organizer or organization_admin' - it_behaves_like 'access as organization_admin' - end - shared_examples 'access as organizer, participant or guest' do |path, message| describe 'GET #new' do it 'requires organizer privileges' do @@ -299,8 +207,7 @@ describe 'POST #create' do it 'requires organizer privileges' do - post :create, params: { conference: attributes_for(:conference, - short_title: 'ExCon', organization_id: organization.id) } + post :create, params: { conference: attributes_for(:conference, short_title: 'ExCon') } expect(response).to redirect_to(send(path)) if message expect(flash[:alert]).to match(/#{message}/) @@ -314,7 +221,7 @@ sign_in(organizer) end - it_behaves_like 'access as organizer or organization_admin' + it_behaves_like 'access as organizer' it_behaves_like 'access as organizer, participant or guest', :root_path, 'You are not authorized to access this page.' end diff --git a/spec/controllers/admin/organizations_controller_spec.rb b/spec/controllers/admin/organizations_controller_spec.rb deleted file mode 100644 index 4468bb34c..000000000 --- a/spec/controllers/admin/organizations_controller_spec.rb +++ /dev/null @@ -1,200 +0,0 @@ -# frozen_string_literal: true - -require 'spec_helper' - -describe Admin::OrganizationsController do - let!(:admin) { create(:admin) } - let!(:organization) { create(:organization) } - let!(:user) { create(:user) } - - context 'logged in as user with no role' do - before :each do - sign_in user - end - - describe 'GET #new' do - before :each do - get :new - end - - it 'redirects to root' do - expect(flash[:alert]).to eq('You are not authorized to access this page.') - expect(response).to redirect_to(root_path) - end - end - - describe 'GET #index' do - before :each do - get :index - end - - it 'redirects to root' do - expect(flash[:alert]).to eq('You are not authorized to access this page.') - expect(response).to redirect_to(root_path) - end - end - - describe 'POST #create' do - it 'does not create new organization' do - expected = expect do - post :create, params: { organization: attributes_for(:organization) } - end - expected.to_not change(Organization, :count) - end - - it 'redirects to root' do - post :create, params: { organization: attributes_for(:organization) } - - expect(flash[:alert]).to eq('You are not authorized to access this page.') - expect(response).to redirect_to(root_path) - end - end - - describe 'PATCH #update' do - it 'does not update and redirects to root' do - old_name = organization.name - patch :update, params: { id: organization.id, organization: attributes_for(:organization, name: 'new name') } - - organization.reload - expect(organization.name).to eq(old_name) - expect(flash[:alert]).to eq('You are not authorized to access this page.') - expect(response).to redirect_to(root_path) - end - end - - describe 'DELETE #destroy' do - context 'for a valid organization' do - it 'does not destroy a resource' do - expected = expect do - delete :destroy, params: { id: organization.id } - end - expected.to_not change(Organization, :count) - end - - it 'redirects to root' do - delete :destroy, params: { id: organization.id } - - expect(flash[:alert]).to eq('You are not authorized to access this page.') - expect(response).to redirect_to(root_path) - end - end - end - end - - context 'logged in as admin' do - before :each do - sign_in admin - end - - describe 'GET #new' do - before do - get :new - end - it { expect(response).to render_template('new') } - end - - describe 'GET #index' do - before do - get :index - end - it { expect(response).to render_template('index') } - end - - describe 'POST #create' do - context 'with valid attributes' do - it 'creates new organization' do - expected = expect do - post :create, params: { organization: attributes_for(:organization) } - end - expected.to change { Organization.count }.by(1) - end - - it 'redirects to index' do - post :create, params: { organization: attributes_for(:organization) } - - expect(flash[:notice]).to eq('Organization successfully created') - expect(response).to redirect_to(admin_organizations_path) - end - end - - context 'with invalid attributes' do - it 'does not create new organization' do - expected = expect do - post :create, params: { organization: attributes_for(:organization, name: '') } - end - expected.to_not change(Organization, :count) - end - - it 'redirects to new' do - post :create, params: { organization: attributes_for(:organization, name: '') } - - expect(flash[:error]).to eq("Name can't be blank") - expect(response).to redirect_to(new_admin_organization_path) - end - end - end - - describe 'PATCH #update' do - it 'saves and redirects to index when the attributes are valid' do - patch :update, params: { id: organization.id, organization: attributes_for(:organization, name: 'changed name') } - - organization.reload - expect(organization.name).to eq('changed name') - expect(flash[:notice]).to eq('Organization successfully updated') - expect(response).to redirect_to(admin_organizations_path) - end - - it 'redirects to edit when attributes are invalid' do - patch :update, params: { id: organization.id, organization: attributes_for(:organization, name: '') } - - expect(flash[:error]).to eq("Name can't be blank") - expect(response).to redirect_to(edit_admin_organization_path(organization)) - end - end - - describe 'DELETE #destroy' do - context 'for a valid organization' do - it 'should successfully destroy a resource' do - expected = expect do - delete :destroy, params: { id: organization.id } - end - expected.to change { Organization.count }.by(-1) - end - - it 'redirects to index' do - delete :destroy, params: { id: organization.id } - - expect(flash[:notice]).to eq('Organization successfully destroyed') - expect(response).to redirect_to(admin_organizations_path) - end - end - end - - describe 'POST #assign_org_admins' do - let(:org_admin_role) { Role.find_by(name: 'organization_admin', resource: organization) } - - before do - post :assign_org_admins, params: { id: organization.id, - user: { email: user.email } } - end - - it 'assigns organization_admin role' do - expect(user.roles).to eq [org_admin_role] - end - end - - describe 'DELETE #unassign_org_admins' do - let(:org_admin_role) { Role.find_by(name: 'organization_admin', resource: organization) } - let!(:org_admin_user) { create(:user, role_ids: [org_admin_role.id]) } - - before do - delete :unassign_org_admins, params: { id: organization.id, - user: { email: org_admin_user.email } } - end - - it 'unassigns organization_admin role' do - expect(org_admin_user.reload.roles).to eq [] - end - end - end -end diff --git a/spec/controllers/organizations_controller_spec.rb b/spec/controllers/organizations_controller_spec.rb deleted file mode 100644 index e719f823e..000000000 --- a/spec/controllers/organizations_controller_spec.rb +++ /dev/null @@ -1,60 +0,0 @@ -# frozen_string_literal: true - -require 'spec_helper' - -describe OrganizationsController do - let!(:organization) { create(:organization) } - let!(:conference) do - create( - :conference, - splashpage: create(:splashpage, public: true), - venue: create(:venue), - organization: organization - ) - end - let!(:antiquated_conference) do - create( - :conference, - splashpage: create(:splashpage, public: true), - venue: create(:venue), - organization: organization, - start_date: 2.weeks.ago, - end_date: 1.week.ago - ) - end - - let!(:other_conference) { create(:conference) } - let!(:user) { create(:user) } - - describe 'GET #index' do - before :each do - sign_in user - get :index - end - - it { expect(response).to render_template('index') } - end - - describe 'GET #conferences' do - before :each do - get :conferences, params: { id: organization.id } - end - - it 'loads the organization' do - expect(assigns(:organization)).to eq organization - end - - it 'includes organization conferences' do - expect(assigns(:current)).to include conference - end - - it 'does not include conferences outside organization' do - expect(assigns(:current)).not_to include other_conference - expect(assigns(:antiquated)).not_to include other_conference - end - - it 'includes antiquated organization conferences' do - expect(assigns(:antiquated)).to include antiquated_conference - end - end -end diff --git a/spec/factories/conferences.rb b/spec/factories/conferences.rb index ac454c92e..0cd9ca18b 100644 --- a/spec/factories/conferences.rb +++ b/spec/factories/conferences.rb @@ -14,7 +14,6 @@ registration_limit { 0 } ticket_layout { 'portrait' } description { Faker::Hipster.paragraph } - organization after(:create) do |conference| Role.where(name: 'organizer', resource: conference).first_or_create(description: 'For the organizers of the conference (who shall have full access)') Role.where(name: 'cfp', resource: conference).first_or_create(description: 'For the members of the CfP team') diff --git a/spec/factories/organizations.rb b/spec/factories/organizations.rb deleted file mode 100644 index 1fde90810..000000000 --- a/spec/factories/organizations.rb +++ /dev/null @@ -1,15 +0,0 @@ -# frozen_string_literal: true - -FactoryBot.define do - factory :organization do - sequence(:name) { |n| "#{Faker::Company.name} #{n}" } - description { Faker::Lorem.paragraph } - - # after(:create) do |organization| - # File.open("spec/support/logos/#{1 + rand(13)}.png") do |file| - # organization.picture = file - # end - # organization.save! - # end - end -end diff --git a/spec/features/cfp_ability_spec.rb b/spec/features/cfp_ability_spec.rb index 3823f21fb..2dd059cb9 100644 --- a/spec/features/cfp_ability_spec.rb +++ b/spec/features/cfp_ability_spec.rb @@ -4,8 +4,7 @@ feature 'Has correct abilities' do - let(:organization) { create(:organization) } - let(:conference) { create(:full_conference, organization: organization) } + let(:conference) { create(:full_conference) } let(:role_cfp) { Role.find_by(name: 'cfp', resource: conference) } let(:user_cfp) { create(:user, role_ids: [role_cfp.id]) } @@ -14,7 +13,7 @@ sign_in user_cfp end - scenario 'for organization and conference attributes' do + scenario 'for conference attributes' do visit admin_conference_path(conference.short_title) expect(current_path).to eq(admin_conference_path(conference.short_title)) @@ -169,15 +168,6 @@ visit admin_conference_path(conference.short_title) expect(current_path).to eq(admin_conference_path(conference.short_title)) - visit admin_organizations_path - expect(current_path).to eq(admin_organizations_path) - - visit edit_admin_organization_path(organization) - expect(current_path).to eq(root_path) - - visit new_admin_organization_path - expect(current_path).to eq(root_path) - visit edit_admin_conference_path(conference.short_title) expect(current_path).to eq(root_path) diff --git a/spec/features/code_of_conduct_spec.rb b/spec/features/code_of_conduct_spec.rb deleted file mode 100644 index 3676b3367..000000000 --- a/spec/features/code_of_conduct_spec.rb +++ /dev/null @@ -1,91 +0,0 @@ -# frozen_string_literal: true - -require 'spec_helper' - -feature 'Code of Conduct:' do - let!(:organization) { create(:organization) } - let!(:conference) { create(:full_conference, organization: organization) } - let(:admin) { create(:admin) } - let(:sample_text) { Faker::Lorem.paragraph } - - context 'on an organization' do - describe 'as admin' do - before { sign_in admin } - - it 'can add and remove' do - visit admin_organizations_path - within "tr#organization-#{organization.id}" do - expect(page).not_to have_css 'i.fa-check' - click_on 'Edit' - end - expect(page).to have_field 'organization[code_of_conduct]', with: '' - fill_in 'organization[code_of_conduct]', with: sample_text - click_on 'Update Organization' - within "tr#organization-#{organization.id}" do - expect(page).to have_css 'i.fa-check' - click_on 'Edit' - end - expect(page).to have_field 'organization[code_of_conduct]', with: sample_text - fill_in 'organization[code_of_conduct]', with: '' - click_on 'Update Organization' - within "tr#organization-#{organization.id}" do - expect(page).not_to have_css 'i.fa-check' - end - end - end - - describe 'anonymously' do - let!(:organization) { create(:organization, code_of_conduct: sample_text) } - - context 'on the organization' do - it 'can be read' do - visit organizations_path - within "#organization-#{organization.id}" do - click_on 'Code of Conduct' - end - expect(page).to have_text(sample_text) - end - end - - context 'on a conference' do - it 'is linked from the index' do - visit conferences_path - within "#conference-#{conference.id}" do - click_on 'Code of Conduct' - end - expect(page).to have_text(sample_text) - end - - it 'is included in the splash page', js: true do - visit conference_path(conference) - click_on 'Code of Conduct' - expect(page).to have_text(sample_text) - end - end - end - - describe 'as a participant' do - let!(:organization) { create(:organization, code_of_conduct: sample_text) } - let!(:participant) { create(:user) } - - before do - sign_in participant - visit conferences_path - within "#conference-#{conference.id}" do - click_on 'Register' - end - end - - it 'can be viewed', js: true do - page.find('input#registration_accepted_code_of_conduct') - expect(page).to have_text('I have read and accept the Code of Conduct') - expect(page).not_to have_text(sample_text) - within 'form' do - click_on 'Code of Conduct' - end - page.find('.modal-dialog') - expect(page).to have_content(sample_text) - end - end - end -end diff --git a/spec/features/conference_spec.rb b/spec/features/conference_spec.rb index be4235ccd..6a700c9b3 100644 --- a/spec/features/conference_spec.rb +++ b/spec/features/conference_spec.rb @@ -4,17 +4,9 @@ feature Conference do let(:user) { create(:admin) } - let!(:organization) { create(:organization) } describe 'admin' do - let(:conference) { create(:conference, organization: organization) } - - scenario 'has organization name in menu bar for conference views', feature: true, js: true do - sign_in user - visit admin_conference_path(conference.short_title) - - expect(find('.navbar-brand').text).to eq(conference.organization.name) - end + let(:conference) { create(:conference) } scenario 'adds a new conference', feature: true, js: true do expected_count = Conference.count + 1 @@ -22,7 +14,6 @@ visit new_admin_conference_path - select organization.name, from: 'conference_organization_id' fill_in 'conference_title', with: 'Example Con' fill_in 'conference_short_title', with: 'ExCon' @@ -37,7 +28,6 @@ expect(flash) .to eq('Conference was successfully created.') expect(Conference.count).to eq(expected_count) - expect(Conference.last.organization).to eq(organization) user.reload expect(user.has_cached_role? :organizer, Conference.last).to be(true) end diff --git a/spec/features/info_desk_ability_spec.rb b/spec/features/info_desk_ability_spec.rb index 066c95b85..daf89066b 100644 --- a/spec/features/info_desk_ability_spec.rb +++ b/spec/features/info_desk_ability_spec.rb @@ -4,8 +4,7 @@ feature 'Has correct abilities' do - let(:organization) { create(:organization) } - let(:conference) { create(:full_conference, organization: organization) } + let(:conference) { create(:full_conference) } let(:role_info_desk) { Role.find_by(name: 'info_desk', resource: conference) } let(:user_info_desk) { create(:user, role_ids: [role_info_desk.id]) } @@ -14,7 +13,7 @@ sign_in user_info_desk end - scenario 'for organization and conference attributes' do + scenario 'for conference attributes' do visit admin_conference_path(conference.short_title) expect(current_path).to eq(admin_conference_path(conference.short_title)) @@ -47,15 +46,6 @@ expect(page).to_not have_link('E-Mails', href: "/admin/conferences/#{conference.short_title}/emails") expect(page).to_not have_link('New Conference', href: '/admin/conferences/new') - visit admin_organizations_path - expect(current_path).to eq(admin_organizations_path) - - visit edit_admin_organization_path(organization) - expect(current_path).to eq(root_path) - - visit new_admin_organization_path - expect(current_path).to eq(root_path) - visit edit_admin_conference_path(conference.short_title) expect(current_path).to eq(root_path) diff --git a/spec/features/organization_admin_ability_spec.rb b/spec/features/organization_admin_ability_spec.rb deleted file mode 100644 index 5765d97f3..000000000 --- a/spec/features/organization_admin_ability_spec.rb +++ /dev/null @@ -1,259 +0,0 @@ -# frozen_string_literal: true - -require 'spec_helper' - -feature 'Has correct abilities' do - let(:organization) { create(:organization) } - let(:conference) { create(:full_conference, organization: organization) } - let(:role_organization_admin) { Role.find_by(name: 'organization_admin', resource: organization) } - let(:user_organization_admin) { create(:user, role_ids: [role_organization_admin.id]) } - let!(:registration_ticket) { create(:registration_ticket, conference: conference) } - - context 'when user is organization_admin' do - before do - sign_in user_organization_admin - end - - scenario 'for organization attributes' do - visit admin_organizations_path - expect(current_path).to eq(admin_organizations_path) - - visit edit_admin_organization_path(organization) - expect(current_path).to eq(edit_admin_organization_path(organization)) - - visit new_admin_organization_path - expect(current_path).to eq(root_path) - end - - scenario 'for conference attributes' do - visit admin_conference_path(conference.short_title) - expect(current_path).to eq(admin_conference_path(conference.short_title)) - - expect(page).to have_selector('li.nav-header.nav-header-bigger a', text: 'Dashboard') - expect(page).to have_link('Basics', href: "/admin/conferences/#{conference.short_title}/edit") - expect(page).to have_link('Contact', href: "/admin/conferences/#{conference.short_title}/contact/edit") - expect(page).to have_link('Commercials', href: "/admin/conferences/#{conference.short_title}/commercials") - expect(page).to have_link('Splashpage', href: "/admin/conferences/#{conference.short_title}/splashpage") - expect(page).to have_link('Venue', href: "/admin/conferences/#{conference.short_title}/venue") - expect(page).to have_link('Rooms', href: "/admin/conferences/#{conference.short_title}/venue/rooms") - expect(page).to have_link('Lodgings', href: "/admin/conferences/#{conference.short_title}/lodgings") - expect(page).to have_link('Program', href: "/admin/conferences/#{conference.short_title}/program") - expect(page).to have_link('Calls for Content', href: "/admin/conferences/#{conference.short_title}/program/cfps") - expect(page).to have_link('Events', href: "/admin/conferences/#{conference.short_title}/program/events") - expect(page).to have_link('Tracks', href: "/admin/conferences/#{conference.short_title}/program/tracks") - expect(page).to have_link('Event Types', href: "/admin/conferences/#{conference.short_title}/program/event_types") - expect(page).to have_link('Difficulty Levels', href: "/admin/conferences/#{conference.short_title}/program/difficulty_levels") - expect(page).to have_link('Schedules', href: "/admin/conferences/#{conference.short_title}/schedules") - expect(page).to have_link('Reports', href: "/admin/conferences/#{conference.short_title}/program/reports") - expect(page).to have_link('Registrations', href: "/admin/conferences/#{conference.short_title}/registrations") - expect(page).to have_link('Registration Period', href: "/admin/conferences/#{conference.short_title}/registration_period") - expect(page).to have_link('Questions', href: "/admin/conferences/#{conference.short_title}/questions") - expect(page).to have_text('Donations') - expect(page).to have_link('Sponsorship Levels', href: "/admin/conferences/#{conference.short_title}/sponsorship_levels") - expect(page).to have_link('Sponsors', href: "/admin/conferences/#{conference.short_title}/sponsors") - expect(page).to have_link('Tickets', href: "/admin/conferences/#{conference.short_title}/tickets") - expect(page).to have_link('E-Mails', href: "/admin/conferences/#{conference.short_title}/emails") - expect(page).to have_link('Roles', href: "/admin/conferences/#{conference.short_title}/roles") - expect(page).to have_link('Resources', href: "/admin/conferences/#{conference.short_title}/resources") - expect(page).to have_link('New Conference', href: '/admin/conferences/new') - - visit edit_admin_conference_path(conference.short_title) - expect(current_path).to eq(edit_admin_conference_path(conference.short_title)) - - visit edit_admin_conference_contact_path(conference.short_title) - expect(current_path).to eq(edit_admin_conference_contact_path(conference.short_title)) - - visit admin_conference_commercials_path(conference.short_title) - expect(current_path).to eq(admin_conference_commercials_path(conference.short_title)) - - visit new_admin_conference_splashpage_path(conference.short_title) - expect(current_path).to eq(new_admin_conference_splashpage_path(conference.short_title)) - - visit edit_admin_conference_splashpage_path(conference.short_title) - expect(current_path).to eq(edit_admin_conference_splashpage_path(conference.short_title)) - - visit new_admin_conference_venue_path(conference.short_title) - expect(current_path).to eq(new_admin_conference_venue_path(conference.short_title)) - - conference.venue = create(:venue) - visit edit_admin_conference_venue_path(conference.short_title) - expect(current_path).to eq(edit_admin_conference_venue_path(conference.short_title)) - - visit admin_conference_venue_rooms_path(conference.short_title) - expect(current_path).to eq(admin_conference_venue_rooms_path(conference.short_title)) - - create(:room, venue: conference.venue) - visit edit_admin_conference_venue_room_path(conference.short_title, conference.venue.rooms.first) - expect(current_path).to eq(edit_admin_conference_venue_room_path(conference.short_title, conference.venue.rooms.first)) - - visit admin_conference_lodgings_path(conference.short_title) - expect(current_path).to eq(admin_conference_lodgings_path(conference.short_title)) - - visit new_admin_conference_lodging_path(conference.short_title) - expect(current_path).to eq(new_admin_conference_lodging_path(conference.short_title)) - - create(:lodging, conference: conference) - visit edit_admin_conference_lodging_path(conference.short_title, conference.lodgings.first) - expect(current_path).to eq(edit_admin_conference_lodging_path(conference.short_title, conference.lodgings.first)) - - visit new_admin_conference_program_path(conference.short_title) - expect(current_path).to eq(new_admin_conference_program_path(conference.short_title)) - - visit edit_admin_conference_program_path(conference.short_title) - expect(current_path).to eq(edit_admin_conference_program_path(conference.short_title)) - - # Only event exists - visit new_admin_conference_program_cfp_path(conference.short_title) - expect(current_path).to eq(new_admin_conference_program_cfp_path(conference.short_title)) - - # Event and booth cfps exist - cfb = create(:cfp, cfp_type: 'booths', program: conference.program) - visit new_admin_conference_program_cfp_path(conference.short_title) - expect(current_path).to eq new_admin_conference_program_cfp_path(conference.short_title) - - visit edit_admin_conference_program_cfp_path(conference.short_title, conference.program.cfp) - expect(current_path).to eq(edit_admin_conference_program_cfp_path(conference.short_title, conference.program.cfp)) - - # Event, booth, track cfps exist - call_for_tracks = create(:cfp, cfp_type: 'tracks', program: conference.program) - visit new_admin_conference_program_cfp_path(conference.short_title) - expect(current_path).to eq root_path - - # Booth and track cfps exist - conference.program.cfp.destroy! - visit new_admin_conference_program_cfp_path(conference.short_title) - expect(current_path).to eq new_admin_conference_program_cfp_path(conference.short_title) - - # Only booth exists - call_for_tracks.destroy! - visit new_admin_conference_program_cfp_path(conference.short_title) - expect(current_path).to eq(new_admin_conference_program_cfp_path(conference.short_title)) - - visit edit_admin_conference_program_cfp_path(conference.short_title, cfb) - expect(current_path). to eq(edit_admin_conference_program_cfp_path(conference.short_title, cfb)) - - # No cfp exists - cfb.destroy - visit new_admin_conference_program_cfp_path(conference.short_title) - expect(current_path).to eq(new_admin_conference_program_cfp_path(conference.short_title)) - - # Only Tracks cfp exists - call_for_tracks = create(:cfp, cfp_type: 'tracks', program: conference.program) - visit new_admin_conference_program_cfp_path(conference.short_title) - expect(current_path).to eq new_admin_conference_program_cfp_path(conference.short_title) - - visit edit_admin_conference_program_cfp_path(conference.short_title, call_for_tracks) - expect(current_path).to eq edit_admin_conference_program_cfp_path(conference.short_title, call_for_tracks) - - # Event and track cfps exist - create(:cfp, cfp_type: 'events', program: conference.program) - visit new_admin_conference_program_cfp_path(conference.short_title) - expect(current_path).to eq new_admin_conference_program_cfp_path(conference.short_title) - - call_for_tracks.destroy! - visit admin_conference_program_events_path(conference.short_title) - expect(current_path).to eq(admin_conference_program_events_path(conference.short_title)) - - create(:event, program: conference.program) - visit edit_admin_conference_program_event_path(conference.short_title, conference.program.events.first) - expect(current_path).to eq(edit_admin_conference_program_event_path(conference.short_title, conference.program.events.first)) - - visit admin_conference_program_event_types_path(conference.short_title) - expect(current_path).to eq(admin_conference_program_event_types_path(conference.short_title)) - - visit new_admin_conference_program_event_type_path(conference.short_title) - expect(current_path).to eq(new_admin_conference_program_event_type_path(conference.short_title)) - - visit edit_admin_conference_program_event_type_path(conference.short_title, conference.program.event_types.first) - expect(current_path).to eq(edit_admin_conference_program_event_type_path(conference.short_title, conference.program.event_types.first)) - - visit admin_conference_program_difficulty_levels_path(conference.short_title) - expect(current_path).to eq(admin_conference_program_difficulty_levels_path(conference.short_title)) - - visit new_admin_conference_program_difficulty_level_path(conference.short_title) - expect(current_path).to eq(new_admin_conference_program_difficulty_level_path(conference.short_title)) - - visit edit_admin_conference_program_difficulty_level_path(conference.short_title, conference.program.difficulty_levels.first) - expect(current_path).to eq(edit_admin_conference_program_difficulty_level_path(conference.short_title, conference.program.difficulty_levels.first)) - - visit admin_conference_schedules_path(conference.short_title) - expect(current_path).to eq(admin_conference_schedules_path(conference.short_title)) - - create(:schedule, program: conference.program) - visit admin_conference_schedule_path(conference.short_title, conference.program.schedules.first) - expect(current_path).to eq(admin_conference_schedule_path(conference.short_title, conference.program.schedules.first)) - - visit admin_conference_program_reports_path(conference.short_title) - expect(current_path).to eq(admin_conference_program_reports_path(conference.short_title)) - - visit admin_conference_registrations_path(conference.short_title) - expect(current_path).to eq(admin_conference_registrations_path(conference.short_title)) - - create(:registration, user: create(:user), conference: conference) - visit edit_admin_conference_registration_path(conference.short_title, conference.registrations.first) - expect(current_path).to eq(edit_admin_conference_registration_path(conference.short_title, conference.registrations.first)) - - visit new_admin_conference_registration_period_path(conference.short_title) - expect(current_path).to eq(new_admin_conference_registration_period_path(conference.short_title)) - - create(:registration_period, conference: conference) - visit edit_admin_conference_registration_period_path(conference.short_title) - expect(current_path).to eq(edit_admin_conference_registration_period_path(conference.short_title)) - - visit admin_conference_questions_path(conference.short_title) - expect(current_path).to eq(admin_conference_questions_path(conference.short_title)) - - visit admin_conference_sponsorship_levels_path(conference.short_title) - expect(current_path).to eq(admin_conference_sponsorship_levels_path(conference.short_title)) - - visit new_admin_conference_sponsorship_level_path(conference.short_title) - expect(current_path).to eq(new_admin_conference_sponsorship_level_path(conference.short_title)) - - create(:sponsorship_level, conference: conference) - visit edit_admin_conference_sponsorship_level_path(conference.short_title, conference.sponsorship_levels.first) - expect(current_path).to eq(edit_admin_conference_sponsorship_level_path(conference.short_title, conference.sponsorship_levels.first)) - - visit admin_conference_sponsors_path(conference.short_title) - expect(current_path).to eq(admin_conference_sponsors_path(conference.short_title)) - - visit new_admin_conference_sponsor_path(conference.short_title) - expect(current_path).to eq(new_admin_conference_sponsor_path(conference.short_title)) - - create(:sponsor, conference: conference, sponsorship_level: conference.sponsorship_levels.first) - visit edit_admin_conference_sponsor_path(conference.short_title, conference.sponsors.first) - expect(current_path).to eq(edit_admin_conference_sponsor_path(conference.short_title, conference.sponsors.first)) - - visit admin_conference_tickets_path(conference.short_title) - expect(current_path).to eq(admin_conference_tickets_path(conference.short_title)) - - visit new_admin_conference_ticket_path(conference.short_title) - expect(current_path).to eq(new_admin_conference_ticket_path(conference.short_title)) - - create(:ticket, conference: conference) - visit edit_admin_conference_ticket_path(conference.short_title, conference.tickets.first) - expect(current_path).to eq(edit_admin_conference_ticket_path(conference.short_title, conference.tickets.first)) - - visit admin_conference_program_tracks_path(conference.short_title) - expect(current_path).to eq(admin_conference_program_tracks_path(conference.short_title)) - - visit admin_conference_roles_path(conference.short_title) - expect(current_path).to eq(admin_conference_roles_path(conference.short_title)) - - visit admin_conference_emails_path(conference.short_title) - expect(current_path).to eq(admin_conference_emails_path(conference.short_title)) - - visit admin_conference_resources_path(conference.short_title) - expect(current_path).to eq(admin_conference_resources_path(conference.short_title)) - - visit new_admin_conference_resource_path(conference.short_title) - expect(current_path).to eq(new_admin_conference_resource_path(conference.short_title)) - - create(:resource, conference: conference) - visit edit_admin_conference_resource_path(conference.short_title, conference.resources.first) - expect(current_path).to eq(edit_admin_conference_resource_path(conference.short_title, conference.resources.first)) - - visit admin_revision_history_path - expect(current_path).to eq(admin_revision_history_path) - end - end -end diff --git a/spec/features/organization_spec.rb b/spec/features/organization_spec.rb deleted file mode 100644 index ad71cce33..000000000 --- a/spec/features/organization_spec.rb +++ /dev/null @@ -1,62 +0,0 @@ -# frozen_string_literal: true - -require 'spec_helper' - -feature Organization do - let!(:organization) { create(:organization) } - let!(:organization_admin_role) { Role.find_by(name: 'organization_admin', resource: organization) } - let(:organization_admin) { create(:user, role_ids: [organization_admin_role.id]) } - let(:admin_user) { create(:admin) } - - shared_examples 'successfully updates an organization' do - scenario 'updates a exsisting organization', feature: true, js: true do - visit edit_admin_organization_path(organization) - fill_in 'organization_name', with: 'changed name' - - click_button 'Update Organization' - - organization.reload - page.find('#flash') - expect(flash).to eq('Organization successfully updated') - expect(organization.name).to eq('changed name') - end - end - - context 'signed in as site admin' do - before do - sign_in admin_user - end - scenario 'creates a new organization', feature: true, js: true do - visit new_admin_organization_path - fill_in 'organization_name', with: 'Organization name' - - click_button 'Create Organization' - page.find('#flash') - expect(flash).to eq('Organization successfully created') - expect(Organization.last.name).to eq('Organization name') - end - - it_behaves_like 'successfully updates an organization' - end - - context 'signed in as organization admin' do - before do - sign_in organization_admin - end - scenario "can't create new organization", feature: true, js: true do - visit new_admin_organization_path - page.find('#flash') - expect(flash).to eq('You are not authorized to access this page.') - end - - it_behaves_like 'successfully updates an organization' - end - - context 'anonymously' do - scenario 'index should link to conferences list' do - visit organizations_path - - expect(page).to have_link('Conferences', href: "/organizations/#{organization.id}/conferences") - end - end -end diff --git a/spec/features/organizer_ability_spec.rb b/spec/features/organizer_ability_spec.rb index 6339b6fa2..5547e7992 100644 --- a/spec/features/organizer_ability_spec.rb +++ b/spec/features/organizer_ability_spec.rb @@ -4,9 +4,8 @@ feature 'Has correct abilities' do - let(:organization) { create(:organization) } - let(:conference) { create(:full_conference, organization: organization) } - let(:other_conference) { create(:conference, organization: organization) } # user is organizer, venue is not set by default + let(:conference) { create(:full_conference) } + let(:other_conference) { create(:conference) } # user is organizer, venue is not set by default let(:role_organizer_conf) { Role.find_by(name: 'organizer', resource: conference) } let(:role_organizer_other_conf) { Role.find_by(name: 'organizer', resource: other_conference) } let(:user_organizer) { create(:user, role_ids: [role_organizer_conf.id, role_organizer_other_conf.id]) } @@ -17,17 +16,6 @@ sign_in user_organizer end - scenario 'for organization attributes' do - visit admin_organizations_path - expect(current_path).to eq(admin_organizations_path) - - visit edit_admin_organization_path(organization) - expect(current_path).to eq(root_path) - - visit new_admin_organization_path - expect(current_path).to eq(root_path) - end - scenario 'for conference attributes' do visit admin_conference_path(conference.short_title) expect(current_path).to eq(admin_conference_path(conference.short_title)) diff --git a/spec/features/roles_spec.rb b/spec/features/roles_spec.rb index d0968cafc..3bc341961 100644 --- a/spec/features/roles_spec.rb +++ b/spec/features/roles_spec.rb @@ -101,52 +101,6 @@ end end - context 'organization_admin' do - let!(:organization) { create(:organization) } - let!(:org_admin_role) { Role.find_by(name: 'organization_admin', resource: organization) } - let!(:organization_admin) { create(:user, role_ids: [org_admin_role.id]) } - let(:user_with_no_role) { create :user } - let!(:other_organization) { create(:organization) } - - before do - sign_in organization_admin - visit admin_organizations_path - end - - context 'for the organization it belongs to' do - scenario 'successfully adds role organization_admin' do - click_link('Admins', href: admins_admin_organization_path(organization.id)) - - fill_in 'user_email', with: user_with_no_role.email - click_button 'Add' - user_with_no_role.reload - - expect(user_with_no_role.has_cached_role?('organization_admin', organization)).to be true - end - - scenario 'successfully removes role organization_admin' do - click_link('Admins', href: admins_admin_organization_path(organization.id)) - - first('tbody > tr').find('.btn-danger').click - organization_admin.reload - expect(organization_admin.has_cached_role?('organization_admin', organization)).to be false - end - end - - context 'for the organizations it does not belong to' do - scenario 'does not successfully add role organization_admin' do - click_link('Admins', href: admins_admin_organization_path(other_organization.id)) - - expect(page.has_field?('user_email')).to be false - end - - scenario 'does not successfully removes role organization_admin' do - click_link('Admins', href: admins_admin_organization_path(other_organization.id)) - expect(page.has_css?('.btn-danger')).to be false - end - end - end - context 'organizer' do Role.all.each.map(&:name).each do |role| it_behaves_like 'successfully', role, 'organizer' diff --git a/spec/features/splashpage_spec.rb b/spec/features/splashpage_spec.rb index 961383548..31f843f1f 100644 --- a/spec/features/splashpage_spec.rb +++ b/spec/features/splashpage_spec.rb @@ -65,19 +65,4 @@ expect(current_path).to eq(root_path) end end - - context 'navigation' do - let!(:splashpage) { create(:splashpage, conference: conference, public: true)} - - context 'multiple organizations' do - let!(:additional_organization) { create(:organization) } - - scenario 'should have organization name', feature: true, js: true do - sign_in participant - visit conference_path(conference.short_title) - - expect(page).to have_text(conference.organization.name) - end - end - end end diff --git a/spec/features/track_organizer_ability_spec.rb b/spec/features/track_organizer_ability_spec.rb index ec2ffdf17..8ad930eb5 100644 --- a/spec/features/track_organizer_ability_spec.rb +++ b/spec/features/track_organizer_ability_spec.rb @@ -4,8 +4,7 @@ feature 'Has correct abilities' do - let(:organization) { create(:organization) } - let(:conference) { create(:full_conference, organization: organization) } + let(:conference) { create(:full_conference) } let(:self_organized_track) { create(:track, :self_organized, program: conference.program, state: 'confirmed') } let(:role_track_organizer) { Role.where(name: 'track_organizer', resource: self_organized_track).first_or_create } let(:user_track_organizer) { create(:user, role_ids: [role_track_organizer.id]) } @@ -15,7 +14,7 @@ sign_in user_track_organizer end - scenario 'for organization and conference attributes' do + scenario 'for conference attributes' do visit admin_conference_path(conference.short_title) expect(current_path).to eq(admin_conference_path(conference.short_title)) diff --git a/spec/features/user_ability_spec.rb b/spec/features/user_ability_spec.rb index 322ed6d08..6b957ec18 100644 --- a/spec/features/user_ability_spec.rb +++ b/spec/features/user_ability_spec.rb @@ -4,8 +4,7 @@ feature 'Has correct abilities' do - let(:organization) { create(:organization) } - let(:conference) { create(:full_conference, organization: organization) } # user is cfp + let(:conference) { create(:full_conference) } # user is cfp let(:user) { create(:user) } context 'when user has no role' do diff --git a/spec/features/versions_spec.rb b/spec/features/versions_spec.rb index bc1ebf89f..181598e5b 100644 --- a/spec/features/versions_spec.rb +++ b/spec/features/versions_spec.rb @@ -306,44 +306,6 @@ expect(page).to have_no_text('Someone (probably via the console) created new commercial') end - scenario 'display changes in organization', feature: true, versioning: true, js: true do - admin = create(:admin) - sign_in admin - - visit new_admin_organization_path - fill_in 'organization_name', with: 'New org' - click_button 'Create Organization' - - visit admin_revision_history_path - expect(page).to have_text('created new organization New org') - end - - context 'organization role', feature: true, versioning: true, js: true do - let!(:user) { create(:user) } - let!(:role) do - Role.find_by( - resource_id: conference.organization.id, - resource_type: 'Organization' - ) - end - - setup do - user.add_role :organization_admin, conference.organization - user.remove_role :organization_admin, conference.organization - visit admin_revision_history_path - end - - it 'is recorded to history when user is added' do - skip('fails since paper_trail 12.2.0') - expect(page).to have_text(/added role organization_admin with ID \d+ to user #{user.name} in organization #{conference.organization.name}/) - end - - it 'is recorded to history when user is removed' do - skip('fails since paper_trail 12.2.0') - expect(page).to have_text(/removed role organization_admin with ID \d+ from user #{user.name} in organization #{conference.organization.name}/) - end - end - scenario 'display changes in users_role for conference role', feature: true, versioning: true, js: true do user = create(:user) role = Role.find_by(name: 'cfp', resource_id: conference.id, resource_type: 'Conference') diff --git a/spec/helpers/application_helper_spec.rb b/spec/helpers/application_helper_spec.rb index 5a036ebcf..041e27146 100644 --- a/spec/helpers/application_helper_spec.rb +++ b/spec/helpers/application_helper_spec.rb @@ -67,10 +67,6 @@ ENV.delete('OSEM_NAME') expect(nav_root_link_for(nil)).to match 'OSEM' end - - it 'should use the conference organization name' do - expect(nav_root_link_for(conference)).to match h(conference.organization.name) - end end end diff --git a/spec/models/organization_spec.rb b/spec/models/organization_spec.rb deleted file mode 100644 index b9d78b7dd..000000000 --- a/spec/models/organization_spec.rb +++ /dev/null @@ -1,17 +0,0 @@ -# frozen_string_literal: true - -require 'spec_helper' - -describe Organization do - let(:organization) { create(:organization) } - - describe 'validation' do - it 'is not valid without a name' do - should validate_presence_of(:name) - end - end - - describe 'associations' do - it { should have_many(:conferences).dependent(:destroy) } - end -end From 9f1e877ea010298bdb78e1a3324b328d33d6ac39 Mon Sep 17 00:00:00 2001 From: Henne Vogelsang Date: Fri, 7 Jun 2024 17:35:41 +0200 Subject: [PATCH 093/325] Expose Conference.code_of_conduct --- .../admin/conferences_controller.rb | 2 +- app/controllers/conferences_controller.rb | 2 ++ .../admin/conferences/_form_fields.html.haml | 5 +++++ .../_registration_info.html.haml | 10 +++------- app/views/conferences/_code_of_conduct.haml | 18 ------------------ .../conferences/_conference_details.html.haml | 4 ++-- app/views/conferences/_social_media.haml | 6 ++++++ .../conferences/code_of_conduct.html.haml | 10 ++++++++++ app/views/conferences/show.html.haml | 3 --- config/routes.rb | 4 ++++ 10 files changed, 33 insertions(+), 31 deletions(-) delete mode 100644 app/views/conferences/_code_of_conduct.haml create mode 100644 app/views/conferences/code_of_conduct.html.haml diff --git a/app/controllers/admin/conferences_controller.rb b/app/controllers/admin/conferences_controller.rb index bc4e7cbf7..69ee19a38 100644 --- a/app/controllers/admin/conferences_controller.rb +++ b/app/controllers/admin/conferences_controller.rb @@ -181,7 +181,7 @@ def conference_params :vpositions_attributes, :use_volunteers, :color, :sponsorship_levels_attributes, :sponsors_attributes, :registration_limit, :ticket_layout, - :booth_limit) + :booth_limit, :code_of_conduct) end end end diff --git a/app/controllers/conferences_controller.rb b/app/controllers/conferences_controller.rb index a9dcdd3ba..8a4262f19 100644 --- a/app/controllers/conferences_controller.rb +++ b/app/controllers/conferences_controller.rb @@ -108,6 +108,8 @@ def calendar end end + def code_of_conduct; end + private def conference_finder_conditions diff --git a/app/views/admin/conferences/_form_fields.html.haml b/app/views/admin/conferences/_form_fields.html.haml index bcba474f3..c9a20452c 100644 --- a/app/views/admin/conferences/_form_fields.html.haml +++ b/app/views/admin/conferences/_form_fields.html.haml @@ -32,6 +32,11 @@ %span.help-block This will be displayed on the front page. = f.hidden_field :picture_cache + .form-group + = f.text_area :code_of_conduct, rows: 10, data: { provide: 'markdown' }, class: 'form-control' + %span.help-block + Rules governing behavior and dispute resolution... + = markdown_hint = f.select :ticket_layout, Conference.ticket_layouts.keys, {}, class: 'form-control' %span.help-block Layout type for tickets of the conference. diff --git a/app/views/conference_registrations/_registration_info.html.haml b/app/views/conference_registrations/_registration_info.html.haml index 0fd04b511..cb2a30866 100644 --- a/app/views/conference_registrations/_registration_info.html.haml +++ b/app/views/conference_registrations/_registration_info.html.haml @@ -1,16 +1,14 @@ -- unless @conference.code_of_conduct.blank? - - code_of_conduct_link = link_to 'Code of Conduct', '#', - data: { toggle: 'modal', target: '#modal-code-of-conduct'} +- if @conference.code_of_conduct.present? - if @registration.accepted_code_of_conduct = icon 'fa-solid', 'square-check' I have read and accepted the - = code_of_conduct_link + = link_to "Code of Conduct", code_of_conduct_conference_path(@conference.short_title) - else .checkbox %label = f.check_box :accepted_code_of_conduct, required: true I have read and accept the - = code_of_conduct_link + = link_to "Code of Conduct", code_of_conduct_conference_path(@conference.short_title) %abbr{title: 'This field is required'} * - if @conference.program.events.with_registration_open.any? || @registration.events.any? @@ -26,5 +24,3 @@ - if event.scheduled? (Scheduled on: #{event.time.to_date}) %br - -= render 'conferences/code_of_conduct' diff --git a/app/views/conferences/_code_of_conduct.haml b/app/views/conferences/_code_of_conduct.haml deleted file mode 100644 index d31108678..000000000 --- a/app/views/conferences/_code_of_conduct.haml +++ /dev/null @@ -1,18 +0,0 @@ -= content_for :splash_nav do - %li - = link_to 'Code of Conduct', '#', - data: { toggle: 'modal', target: '#modal-code-of-conduct'} - -- content_for :modals do - - cache '#CoC-modal' do - .modal.fade{ id: "modal-code-of-conduct" } - .modal-dialog - .modal-content - .modal-header - %button.close{ data: { dismiss: 'modal' } } - %i.fa-solid.fa-xmark - %h3.modal-title Code of Conduct - .modal-body - = markdown conference.code_of_conduct - .modal-footer - = link_to 'permalink', :code_of_conduct diff --git a/app/views/conferences/_conference_details.html.haml b/app/views/conferences/_conference_details.html.haml index ffdd197aa..571cca4a3 100644 --- a/app/views/conferences/_conference_details.html.haml +++ b/app/views/conferences/_conference_details.html.haml @@ -26,8 +26,8 @@ = link_to "View Conference", conference_path(conference.short_title), class: 'btn btn-default' - if conference.program and conference.program.schedule_public = link_to "Schedule", conference_schedule_path(conference.short_title), class: 'btn btn-default' - - unless conference.code_of_conduct.blank? - = link_to "Code of Conduct", :code_of_conduct, class: 'btn btn-default' + - if conference.code_of_conduct.present? + = link_to "Code of Conduct", code_of_conduct_conference_path(conference.short_title), class: 'btn btn-default' - if conference.registration_open? - if conference.user_registered?(current_user) = link_to "My Registration", conference_conference_registration_path(conference.short_title), class: 'btn btn-default' diff --git a/app/views/conferences/_social_media.haml b/app/views/conferences/_social_media.haml index 672a19cdf..9b542aa06 100644 --- a/app/views/conferences/_social_media.haml +++ b/app/views/conferences/_social_media.haml @@ -27,3 +27,9 @@ - if contact.email? = mail_to "#{ contact.email }" do %i.fa-solid.fa-envelope.fa-4x + .row + .col-md-12 + - if @conference.code_of_conduct.present? + %hr + %p.text-center + = link_to "Code of Conduct", code_of_conduct_conference_path(@conference.short_title) diff --git a/app/views/conferences/code_of_conduct.html.haml b/app/views/conferences/code_of_conduct.html.haml new file mode 100644 index 000000000..57f27cf74 --- /dev/null +++ b/app/views/conferences/code_of_conduct.html.haml @@ -0,0 +1,10 @@ +.container + .row + .col-md-12 + .page-header + %h1 + = @conference.short_title + Code Of Conduct + .row + .col-md-12 + = markdown @conference.code_of_conduct diff --git a/app/views/conferences/show.html.haml b/app/views/conferences/show.html.haml index 41718b663..1bdf80b3d 100644 --- a/app/views/conferences/show.html.haml +++ b/app/views/conferences/show.html.haml @@ -18,9 +18,6 @@ #splash - - if @conference.code_of_conduct.present? - = render 'code_of_conduct' - -# header/description = render 'header', conference: @conference, venue: @conference.venue diff --git a/config/routes.rb b/config/routes.rb index cc6147e65..730d43cfa 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -192,6 +192,10 @@ get :events end end + + member do + get 'code-of-conduct' + end end namespace :api, defaults: {format: 'json'} do From 494af47af24329c77abdd1ab587f4d00ea4846ce Mon Sep 17 00:00:00 2001 From: Henne Vogelsang Date: Fri, 7 Jun 2024 16:34:23 +0200 Subject: [PATCH 094/325] Remove Organization from the rest of the code base.. --- CHANGES.md | 12 ------------ lib/tasks/roles.rake | 4 ---- 2 files changed, 16 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 0080f6214..6da2b7496 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -41,18 +41,6 @@ data. bundle exec rake data:set_conference_in_versions RAILS_ENV=production ``` -### Organization admins - -We have a new role `organization admins` which allow a user to manage their -organization and create and manage a conference within the organization. This -needs the role to exist in the database, otherwise the application crashes -as it is assumed to exist. For that, run the following rake task: - -``` -bundle exec rake roles:add RAILS_ENV=production -``` - - # Changes in OSEM 1.0 [Released May 24, 2016](https://osem.io/1.0) diff --git a/lib/tasks/roles.rake b/lib/tasks/roles.rake index 3b3929630..026ba09a5 100644 --- a/lib/tasks/roles.rake +++ b/lib/tasks/roles.rake @@ -4,10 +4,6 @@ namespace :roles do desc 'Adds back deleted roles to all conferences' task add: :environment do - Organization.all.each do |org| - Role.where(name: 'organization_admin', resource: org).first_or_create(description: 'For the administrators of an organization and its conferences') - end - Conference.all.each do |c| Role.where(name: 'organizer', resource: c).first_or_create(description: 'For the organizers of the conference (who shall have full access)') Role.where(name: 'cfp', resource: c).first_or_create(description: 'For the members of the CfP team') From 350153a5f0b2668d4452c3791a16b1e6fefd1875 Mon Sep 17 00:00:00 2001 From: Henne Vogelsang Date: Fri, 7 Jun 2024 16:34:45 +0200 Subject: [PATCH 095/325] Update rubocop TODO --- .rubocop_todo.yml | 213 ++++++++++++++++++++++++---------------------- 1 file changed, 112 insertions(+), 101 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 7521eabca..3b48cdaed 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -1,12 +1,12 @@ # This configuration was generated by # `rubocop --auto-gen-config` -# on 2024-06-06 15:22:39 UTC using RuboCop version 1.63.5. +# on 2024-06-07 15:38:52 UTC using RuboCop version 1.64.1. # The point is for the user to remove these configuration records # one by one as the offenses are removed from the code base. # Note that changes in the inspected code, or installation of new # versions of RuboCop, may require this file to be generated again. -# Offense count: 3 +# Offense count: 4 # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: TreatCommentsAsGroupSeparators, ConsiderPunctuation, Include. # Include: **/*.gemfile, **/Gemfile, **/gems.rb @@ -14,13 +14,13 @@ Bundler/OrderedGems: Exclude: - 'Gemfile' -# Offense count: 161 +# Offense count: 151 # Configuration parameters: EnforcedStyle. # SupportedStyles: link_or_button, strict Capybara/ClickLinkOrButtonStyle: Enabled: false -# Offense count: 350 +# Offense count: 280 # This cop supports safe autocorrection (--autocorrect). Capybara/CurrentPathExpectation: Exclude: @@ -28,7 +28,6 @@ Capybara/CurrentPathExpectation: - 'spec/features/cfp_ability_spec.rb' - 'spec/features/conference_registration_spec.rb' - 'spec/features/info_desk_ability_spec.rb' - - 'spec/features/organization_admin_ability_spec.rb' - 'spec/features/organizer_ability_spec.rb' - 'spec/features/proposals_spec.rb' - 'spec/features/registration_periods_spec.rb' @@ -37,29 +36,20 @@ Capybara/CurrentPathExpectation: - 'spec/features/track_organizer_ability_spec.rb' - 'spec/features/user_ability_spec.rb' -# Offense count: 3 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: EnforcedStyle. -# SupportedStyles: have_no, not_to -Capybara/NegationMatcher: - Exclude: - - 'spec/features/code_of_conduct_spec.rb' - -# Offense count: 14 +# Offense count: 13 # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: DefaultSelector. Capybara/RSpec/HaveSelector: Exclude: - 'spec/features/cfp_ability_spec.rb' - 'spec/features/info_desk_ability_spec.rb' - - 'spec/features/organization_admin_ability_spec.rb' - 'spec/features/organizer_ability_spec.rb' - 'spec/features/proposals_spec.rb' - 'spec/features/sponsor_spec.rb' - 'spec/features/track_organizer_ability_spec.rb' - 'spec/features/voting_spec.rb' -# Offense count: 82 +# Offense count: 78 # This cop supports safe autocorrection (--autocorrect). Capybara/SpecificFinders: Enabled: false @@ -81,7 +71,7 @@ FactoryBot/AssociationStyle: - 'spec/factories/surveys.rb' - 'spec/factories/tracks.rb' -# Offense count: 12 +# Offense count: 11 # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: Include, EnforcedStyle, ExplicitOnly. # Include: **/*_spec.rb, **/spec/**/*, **/test/**/*, **/features/support/factories/**/*.rb @@ -168,7 +158,7 @@ Layout/ExtraSpacing: - 'db/migrate/20140719160903_create_delayed_jobs.rb' - 'spec/models/conference_spec.rb' -# Offense count: 43 +# Offense count: 42 # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: EnforcedStyle, IndentationWidth. # SupportedStyles: consistent, consistent_relative_to_receiver, special_for_inner_method_call, special_for_inner_method_call_in_parentheses @@ -242,7 +232,7 @@ Layout/LineContinuationSpacing: - 'app/controllers/conference_registrations_controller.rb' - 'app/models/cfp.rb' -# Offense count: 32 +# Offense count: 31 # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: EnforcedStyle, IndentationWidth. # SupportedStyles: aligned, indented @@ -273,14 +263,14 @@ Layout/MultilineHashBraceLayout: - 'config/routes.rb' - 'spec/models/event_spec.rb' -# Offense count: 33 +# Offense count: 32 # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: EnforcedStyle. # SupportedStyles: symmetrical, new_line, same_line Layout/MultilineMethodCallBraceLayout: Enabled: false -# Offense count: 47 +# Offense count: 38 # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: EnforcedStyle, IndentationWidth. # SupportedStyles: aligned, indented, indented_relative_to_receiver @@ -326,12 +316,11 @@ Layout/SpaceAroundKeyword: Exclude: - 'config/initializers/feature.rb' -# Offense count: 4 +# Offense count: 3 # This cop supports safe autocorrection (--autocorrect). Layout/SpaceAroundMethodCallOperator: Exclude: - 'spec/features/cfp_ability_spec.rb' - - 'spec/features/organization_admin_ability_spec.rb' - 'spec/features/organizer_ability_spec.rb' - 'spec/models/program_spec.rb' @@ -345,7 +334,7 @@ Layout/SpaceAroundOperators: - 'app/views/admin/events/_all_with_comments.xlsx.axlsx' - 'lib/tasks/data.rake' -# Offense count: 139 +# Offense count: 138 # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces. # SupportedStyles: space, no_space @@ -382,7 +371,7 @@ Layout/SpaceInsideArrayLiteralBrackets: - 'config/initializers/devise.rb' - 'config/routes.rb' -# Offense count: 44 +# Offense count: 42 # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces, SpaceBeforeBlockParameters. # SupportedStyles: space, no_space @@ -447,12 +436,11 @@ Layout/TrailingEmptyLines: - 'lib/tasks/event_attatchments.rake' - 'lib/tasks/roles.rake' -# Offense count: 13 +# Offense count: 11 # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: AllowedMethods, AllowedPatterns. Lint/AmbiguousBlockAssociation: Exclude: - - 'spec/controllers/admin/conferences_controller_spec.rb' - 'spec/controllers/admin/event_schedules_controller_spec.rb' - 'spec/controllers/admin/registration_periods_controller_spec.rb' - 'spec/controllers/admin/users_controller_spec.rb' @@ -511,11 +499,12 @@ Lint/UnusedBlockArgument: Exclude: - 'lib/tasks/user.rake' -# Offense count: 1 +# Offense count: 2 # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: AutoCorrect, AllowUnusedKeywordArguments, IgnoreEmptyMethods, IgnoreNotImplementedMethods. Lint/UnusedMethodArgument: Exclude: + - 'app/helpers/application_helper.rb' - 'config/initializers/fuckups.rb' # Offense count: 2 @@ -525,16 +514,16 @@ Lint/UriRegexp: - 'app/models/commercial.rb' - 'app/models/contact.rb' -# Offense count: 127 +# Offense count: 125 # Configuration parameters: AllowedMethods, AllowedPatterns, CountRepeatedAttributes. Metrics/AbcSize: - Max: 72 + Max: 70 # Offense count: 28 # Configuration parameters: CountComments, CountAsOne, AllowedMethods, AllowedPatterns, inherit_mode. # AllowedMethods: refine Metrics/BlockLength: - Max: 211 + Max: 202 # Offense count: 1 # Configuration parameters: CountBlocks. @@ -544,9 +533,9 @@ Metrics/BlockNesting: # Offense count: 14 # Configuration parameters: CountComments, CountAsOne. Metrics/ClassLength: - Max: 652 + Max: 649 -# Offense count: 26 +# Offense count: 25 # Configuration parameters: AllowedMethods, AllowedPatterns. Metrics/CyclomaticComplexity: Max: 16 @@ -561,7 +550,7 @@ Metrics/MethodLength: Metrics/ModuleLength: Max: 174 -# Offense count: 23 +# Offense count: 21 # Configuration parameters: AllowedMethods, AllowedPatterns. Metrics/PerceivedComplexity: Max: 19 @@ -661,13 +650,13 @@ RSpec/BeEmpty: - 'spec/controllers/conference_registration_controller_spec.rb' - 'spec/models/conference_spec.rb' -# Offense count: 161 +# Offense count: 143 # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: EnabledMethods. RSpec/Capybara/FeatureMethods: Enabled: false -# Offense count: 318 +# Offense count: 302 # Configuration parameters: Prefixes, AllowedPatterns. # Prefixes: when, with, without RSpec/ContextWording: @@ -713,29 +702,26 @@ RSpec/EmptyLineAfterExampleGroup: Exclude: - 'spec/controllers/admin/users_controller_spec.rb' -# Offense count: 11 +# Offense count: 10 # This cop supports safe autocorrection (--autocorrect). RSpec/EmptyLineAfterFinalLet: Exclude: - 'spec/controllers/admin/event_schedules_controller_spec.rb' - 'spec/controllers/admin/users_controller_spec.rb' - 'spec/controllers/application_controller_spec.rb' - - 'spec/features/conference_spec.rb' - 'spec/models/conference_spec.rb' - 'spec/models/payment_spec.rb' - 'spec/models/ticket_spec.rb' -# Offense count: 16 +# Offense count: 12 # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: AllowConsecutiveOneLiners. RSpec/EmptyLineAfterHook: Exclude: - 'spec/controllers/admin/booths_controller_spec.rb' - 'spec/controllers/admin/comments_controller_spec.rb' - - 'spec/controllers/admin/organizations_controller_spec.rb' - 'spec/controllers/admin/ticket_scannings_controller_spec.rb' - 'spec/controllers/admin/users_controller_spec.rb' - - 'spec/features/organization_spec.rb' - 'spec/features/roles_spec.rb' - 'spec/models/conference_spec.rb' - 'spec/models/payment_spec.rb' @@ -754,18 +740,17 @@ RSpec/EmptyLineAfterSubject: - 'spec/models/survey_spec.rb' - 'spec/models/track_spec.rb' -# Offense count: 215 +# Offense count: 202 # Configuration parameters: CountAsOne. RSpec/ExampleLength: - Max: 187 + Max: 181 -# Offense count: 15 +# Offense count: 13 # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: CustomTransform, IgnoredWords, DisallowedExamples. # DisallowedExamples: works RSpec/ExampleWording: Exclude: - - 'spec/controllers/admin/organizations_controller_spec.rb' - 'spec/controllers/admin/registration_periods_controller_spec.rb' - 'spec/helpers/application_helper_spec.rb' - 'spec/helpers/events_helper_spec.rb' @@ -775,16 +760,14 @@ RSpec/ExampleWording: - 'spec/models/ticket_purchase_spec.rb' - 'spec/models/ticket_spec.rb' -# Offense count: 37 +# Offense count: 32 # This cop supports unsafe autocorrection (--autocorrect-all). # Configuration parameters: EnforcedStyle. # SupportedStyles: method_call, block RSpec/ExpectChange: Exclude: - 'spec/controllers/admin/booths_controller_spec.rb' - - 'spec/controllers/admin/conferences_controller_spec.rb' - 'spec/controllers/admin/event_schedules_controller_spec.rb' - - 'spec/controllers/admin/organizations_controller_spec.rb' - 'spec/controllers/admin/registration_periods_controller_spec.rb' - 'spec/controllers/admin/schedules_controller_spec.rb' - 'spec/controllers/admin/ticket_scannings_controller_spec.rb' @@ -811,7 +794,7 @@ RSpec/FilePath: - 'spec/models/comment_spec.rb' - 'spec/models/openid.rb' -# Offense count: 172 +# Offense count: 166 # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: EnforcedStyle. # SupportedStyles: implicit, each, example @@ -823,7 +806,7 @@ RSpec/IdenticalEqualityAssertion: Exclude: - 'spec/controllers/admin/conferences_controller_spec.rb' -# Offense count: 140 +# Offense count: 137 # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: EnforcedStyle. # SupportedStyles: is_expected, should @@ -834,7 +817,6 @@ RSpec/ImplicitExpect: - 'spec/models/conference_spec.rb' - 'spec/models/event_schedule_spec.rb' - 'spec/models/event_type_spec.rb' - - 'spec/models/organization_spec.rb' - 'spec/models/registration_period_spec.rb' - 'spec/models/room_spec.rb' - 'spec/models/schedule_spec.rb' @@ -844,7 +826,7 @@ RSpec/ImplicitExpect: - 'spec/models/ticket_spec.rb' - 'spec/models/user_spec.rb' -# Offense count: 39 +# Offense count: 38 # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: EnforcedStyle. # SupportedStyles: single_line_only, single_statement_only, disallow, require_implicit @@ -854,7 +836,6 @@ RSpec/ImplicitSubject: - 'spec/models/booth_spec.rb' - 'spec/models/conference_spec.rb' - 'spec/models/event_type_spec.rb' - - 'spec/models/organization_spec.rb' - 'spec/models/registration_period_spec.rb' - 'spec/models/sponsor_spec.rb' - 'spec/models/sponsorship_level_spec.rb' @@ -901,11 +882,11 @@ RSpec/LeadingSubject: - 'spec/models/conference_spec.rb' - 'spec/models/ticket_spec.rb' -# Offense count: 61 +# Offense count: 56 RSpec/LetSetup: Enabled: false -# Offense count: 4 +# Offense count: 3 # This cop supports safe autocorrection (--autocorrect). RSpec/MatchArray: Exclude: @@ -919,7 +900,7 @@ RSpec/MatchArray: RSpec/MessageSpies: EnforcedStyle: receive -# Offense count: 244 +# Offense count: 225 # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: EnforcedStyle. # SupportedStyles: hash, symbol @@ -931,14 +912,14 @@ RSpec/MultipleDescribes: Exclude: - 'spec/models/conference_spec.rb' -# Offense count: 270 +# Offense count: 251 RSpec/MultipleExpectations: - Max: 97 + Max: 94 -# Offense count: 249 +# Offense count: 218 # Configuration parameters: AllowSubject. RSpec/MultipleMemoizedHelpers: - Max: 32 + Max: 31 # Offense count: 396 # Configuration parameters: EnforcedStyle, IgnoreSharedExamples. @@ -950,7 +931,7 @@ RSpec/NamedSubject: - 'spec/models/room_spec.rb' - 'spec/models/track_spec.rb' -# Offense count: 208 +# Offense count: 202 # Configuration parameters: AllowedGroups. RSpec/NestedGroups: Max: 7 @@ -964,12 +945,27 @@ RSpec/NoExpectationExample: - 'spec/controllers/admin/registration_periods_controller_spec.rb' - 'spec/features/voting_spec.rb' -# Offense count: 83 +# Offense count: 78 # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: EnforcedStyle. # SupportedStyles: not_to, to_not RSpec/NotToNot: - Enabled: false + Exclude: + - 'spec/controllers/admin/booths_controller_spec.rb' + - 'spec/controllers/admin/event_schedules_controller_spec.rb' + - 'spec/controllers/admin/registration_periods_controller_spec.rb' + - 'spec/controllers/admin/ticket_scannings_controller_spec.rb' + - 'spec/controllers/booths_controller_spec.rb' + - 'spec/features/cfp_ability_spec.rb' + - 'spec/features/info_desk_ability_spec.rb' + - 'spec/features/organizer_ability_spec.rb' + - 'spec/features/sponsor_spec.rb' + - 'spec/features/track_organizer_ability_spec.rb' + - 'spec/features/tracks_spec.rb' + - 'spec/models/program_spec.rb' + - 'spec/models/track_spec.rb' + - 'spec/models/user_spec.rb' + - 'spec/pdfs/ticket_pdf_spec.rb' # Offense count: 1 RSpec/OverwritingSetup: @@ -1005,7 +1001,7 @@ RSpec/ReturnFromStub: Exclude: - 'spec/helpers/events_helper_spec.rb' -# Offense count: 19 +# Offense count: 18 # This cop supports safe autocorrection (--autocorrect). RSpec/ScatteredLet: Exclude: @@ -1018,7 +1014,7 @@ RSpec/ScatteredSetup: Exclude: - 'spec/models/payment_spec.rb' -# Offense count: 32 +# Offense count: 30 # This cop supports safe autocorrection (--autocorrect). RSpec/SortMetadata: Exclude: @@ -1069,11 +1065,10 @@ RSpec/VoidExpect: Exclude: - 'spec/models/conference_spec.rb' -# Offense count: 3 +# Offense count: 2 # This cop supports safe autocorrection (--autocorrect). RSpecRails/AvoidSetupHook: Exclude: - - 'spec/features/versions_spec.rb' - 'spec/helpers/events_helper_spec.rb' # Offense count: 2 @@ -1101,7 +1096,7 @@ RSpecRails/InferredSpecType: - 'spec/helpers/users_helper_spec.rb' - 'spec/routing/routing_spec.rb' -# Offense count: 24 +# Offense count: 23 # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: ExpectedOrder, Include. # ExpectedOrder: index, show, new, edit, create, update, destroy @@ -1276,7 +1271,7 @@ Rails/FilePath: - 'spec/features/sponsor_spec.rb' - 'spec/support/deprecation_shitlist.rb' -# Offense count: 81 +# Offense count: 80 # This cop supports unsafe autocorrection (--autocorrect-all). # Configuration parameters: AllowedMethods, AllowedPatterns. # AllowedMethods: order, limit, select, lock @@ -1322,7 +1317,7 @@ Rails/HttpStatus: - 'app/controllers/admin/venue_commercials_controller.rb' - 'app/controllers/commercials_controller.rb' -# Offense count: 102 +# Offense count: 99 Rails/I18nLocaleTexts: Enabled: false @@ -1396,13 +1391,12 @@ Rails/Present: - 'app/models/program.rb' - 'app/models/venue.rb' -# Offense count: 6 +# Offense count: 5 # This cop supports unsafe autocorrection (--autocorrect-all). # Configuration parameters: Include. # Include: **/Rakefile, **/*.rake Rails/RakeEnvironment: Exclude: - - 'lib/tasks/dump_db.rake' - 'lib/tasks/spec.rake' # Offense count: 1 @@ -1413,10 +1407,25 @@ Rails/RedundantActiveRecordAllMethod: Exclude: - 'db/migrate/20160309182655_remove_dietary_choices_table.rb' -# Offense count: 20 +# Offense count: 19 # This cop supports unsafe autocorrection (--autocorrect-all). Rails/RedundantPresenceValidationOnBelongsTo: - Enabled: false + Exclude: + - 'app/models/booth.rb' + - 'app/models/cfp.rb' + - 'app/models/comment.rb' + - 'app/models/contact.rb' + - 'app/models/event.rb' + - 'app/models/event_schedule.rb' + - 'app/models/events_registration.rb' + - 'app/models/payment.rb' + - 'app/models/qanswer.rb' + - 'app/models/question.rb' + - 'app/models/registration.rb' + - 'app/models/room.rb' + - 'app/models/sponsor.rb' + - 'app/models/survey_reply.rb' + - 'app/models/ticket_purchase.rb' # Offense count: 2 Rails/RenderInline: @@ -1458,7 +1467,7 @@ Rails/SkipsModelValidations: Rails/ThreeStateBooleanColumn: Enabled: false -# Offense count: 48 +# Offense count: 47 # This cop supports unsafe autocorrection (--autocorrect-all). # Configuration parameters: EnforcedStyle. # SupportedStyles: strict, flexible @@ -1469,7 +1478,6 @@ Rails/TimeZone: - 'config/environments/test.rb' - 'db/migrate/20180226032958_add_created_at_and_updated_at_to_event_types.rb' - 'db/migrate/20180313012253_add_timestamps_to_tickets.rb' - - 'lib/tasks/dump_db.rake' - 'spec/controllers/admin/comments_controller_spec.rb' - 'spec/factories/users.rb' - 'spec/helpers/application_helper_spec.rb' @@ -1482,7 +1490,7 @@ Rails/TopLevelHashWithIndifferentAccess: Exclude: - 'db/migrate/20140701123203_add_events_per_week_to_conference.rb' -# Offense count: 13 +# Offense count: 12 # Configuration parameters: Include. # Include: app/models/**/*.rb Rails/UniqueValidationWithoutIndex: @@ -1492,7 +1500,6 @@ Rails/UniqueValidationWithoutIndex: - 'app/models/commercial.rb' - 'app/models/conference.rb' - 'app/models/events_registration.rb' - - 'app/models/organization.rb' - 'app/models/registration.rb' - 'app/models/role.rb' - 'app/models/subscription.rb' @@ -1594,7 +1601,7 @@ Style/ConditionalAssignment: - 'db/migrate/20140610165551_migrate_data_person_to_user.rb' - 'db/migrate/20140820124117_undo_wrong_migration20140801080705_add_users_to_events.rb' -# Offense count: 518 +# Offense count: 517 # Configuration parameters: AllowedConstants. Style/Documentation: Enabled: false @@ -1639,7 +1646,7 @@ Style/ExpandPathArguments: Exclude: - 'spec/spec_helper.rb' -# Offense count: 36 +# Offense count: 38 # This cop supports unsafe autocorrection (--autocorrect-all). # Configuration parameters: EnforcedStyle. # SupportedStyles: always, always_true, never @@ -1652,7 +1659,7 @@ Style/GlobalStdStream: Exclude: - 'config/environments/production.rb' -# Offense count: 28 +# Offense count: 27 # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: MinBodyLength, AllowConsecutiveConditionals. Style/GuardClause: @@ -1682,11 +1689,11 @@ Style/HashLikeCase: Exclude: - 'app/helpers/versions_helper.rb' -# Offense count: 367 +# Offense count: 346 # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: EnforcedStyle, EnforcedShorthandSyntax, UseHashRocketsWithSymbolValues, PreferHashRocketsForNonAlnumEndingSymbols. # SupportedStyles: ruby19, hash_rockets, no_mixed_keys, ruby19_no_mixed_keys -# SupportedShorthandSyntax: always, never, either, consistent +# SupportedShorthandSyntax: always, never, either, consistent, either_consistent Style/HashSyntax: Enabled: false @@ -1697,18 +1704,11 @@ Style/HashTransformValues: - 'app/controllers/admin/comments_controller.rb' - 'app/helpers/chart_helper.rb' -# Offense count: 57 +# Offense count: 56 # This cop supports safe autocorrection (--autocorrect). Style/IfUnlessModifier: Enabled: false -# Offense count: 8 -# This cop supports unsafe autocorrection (--autocorrect-all). -Style/LineEndConcatenation: - Exclude: - - 'spec/features/conference_spec.rb' - - 'spec/features/registration_periods_spec.rb' - # Offense count: 1 # This cop supports unsafe autocorrection (--autocorrect-all). Style/MapToHash: @@ -1928,14 +1928,13 @@ Style/RedundantParentheses: - 'app/models/venue.rb' - 'lib/tasks/version.rake' -# Offense count: 3 +# Offense count: 2 # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: AllowMultipleReturnValues. Style/RedundantReturn: Exclude: - 'app/controllers/admin/booths_controller.rb' - 'app/controllers/admin/events_controller.rb' - - 'app/controllers/admin/organizations_controller.rb' # Offense count: 2 # This cop supports safe autocorrection (--autocorrect). @@ -1981,13 +1980,27 @@ Style/SoleNestedConditional: - 'db/migrate/20140801170430_move_event_media_to_commercial.rb' - 'db/migrate/20151018152439_create_programs_table.rb' -# Offense count: 28 +# Offense count: 20 # This cop supports unsafe autocorrection (--autocorrect-all). # Configuration parameters: Mode. Style/StringConcatenation: - Enabled: false + Exclude: + - 'app/controllers/admin/commercials_controller.rb' + - 'app/controllers/admin/conferences_controller.rb' + - 'app/controllers/admin/events_controller.rb' + - 'app/controllers/admin/roles_controller.rb' + - 'app/controllers/admin/surveys_controller.rb' + - 'app/controllers/payments_controller.rb' + - 'app/helpers/application_helper.rb' + - 'app/helpers/users_helper.rb' + - 'app/helpers/versions_helper.rb' + - 'app/models/commercial.rb' + - 'app/models/conference.rb' + - 'lib/tasks/data.rake' + - 'spec/features/contact_spec.rb' + - 'spec/helpers/events_helper_spec.rb' -# Offense count: 16 +# Offense count: 12 # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: EnforcedStyle, ConsistentQuotesInMultiline. # SupportedStyles: single_quotes, double_quotes @@ -1997,12 +2010,11 @@ Style/StringLiterals: - 'config/deploy.rb' - 'config/environments/production.rb' - 'config/puma.rb' - - 'lib/tasks/dump_db.rake' - 'lib/tasks/events_registrations.rake' - 'lib/tasks/factory_bot.rake' - 'lib/tasks/user.rake' -# Offense count: 14 +# Offense count: 8 # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: EnforcedStyle. # SupportedStyles: single_quotes, double_quotes @@ -2011,9 +2023,8 @@ Style/StringLiteralsInInterpolation: - 'app/views/admin/events/_all_events.xlsx.axlsx' - 'app/views/admin/events/_all_with_comments.xlsx.axlsx' - 'app/views/admin/events/_confirmed_events.xlsx.axlsx' - - 'lib/tasks/dump_db.rake' -# Offense count: 110 +# Offense count: 105 # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: EnforcedStyle, MinSize. # SupportedStyles: percent, brackets @@ -2059,7 +2070,7 @@ Style/WordArray: EnforcedStyle: percent MinSize: 6 -# Offense count: 525 +# Offense count: 497 # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, AllowedPatterns. # URISchemes: http, https From e4d8c6431c4f182db2f9e25a3a96b2ce8b87c186 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Sat, 8 Jun 2024 14:15:44 +0000 Subject: [PATCH 096/325] Update mini_portile2 to version 2.8.7 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 369771ceb..cb2864d51 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -288,7 +288,7 @@ GEM rake mini_magick (4.12.0) mini_mime (1.1.5) - mini_portile2 (2.8.6) + mini_portile2 (2.8.7) minitest (5.23.1) monetize (1.13.0) money (~> 6.12) From 14cbab11c0332be3aeb61b1b7664da36250411d0 Mon Sep 17 00:00:00 2001 From: Dominik Heidler Date: Fri, 21 Jun 2024 12:02:10 +0200 Subject: [PATCH 097/325] Fix wrong timezone in schedule XML Fixes #3242 Fixes #3417 --- app/views/schedules/show.xml.haml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/schedules/show.xml.haml b/app/views/schedules/show.xml.haml index 21bbbcea4..826784fb1 100644 --- a/app/views/schedules/show.xml.haml +++ b/app/views/schedules/show.xml.haml @@ -16,7 +16,7 @@ %room{ name: room.name } - events_in_rooms[room].each do |event| %event{ guid: event.guid, id: event.id } - %date= event.time.in_time_zone(@conference.timezone).iso8601 + %date= event.time.change(zone: @conference.timezone).iso8601 %start= event.time.strftime('%H:%M') %duration= length_timestamp(event.event_type.length) %room= event.room.name From ad20247f5a5ba8fc5ea7db8245baae6d34c62ae3 Mon Sep 17 00:00:00 2001 From: Henne Vogelsang Date: Mon, 24 Jun 2024 15:22:02 +0200 Subject: [PATCH 098/325] Loosen ruby version constraint to ~> 3.3 --- Gemfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile b/Gemfile index bb7ba51da..0db8e5fa7 100644 --- a/Gemfile +++ b/Gemfile @@ -6,7 +6,7 @@ end source 'https://rubygems.org' -ruby '3.3.2' +ruby '~> 3.3' # as web framework if next? From 83cc294f8db479a817e90e155f6a302169d04ec0 Mon Sep 17 00:00:00 2001 From: Henne Vogelsang Date: Mon, 24 Jun 2024 15:22:57 +0200 Subject: [PATCH 099/325] Update ruby to version 3.3.3 --- .ruby-version | 2 +- Gemfile.lock | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.ruby-version b/.ruby-version index 477254331..619b53766 100644 --- a/.ruby-version +++ b/.ruby-version @@ -1 +1 @@ -3.3.2 +3.3.3 diff --git a/Gemfile.lock b/Gemfile.lock index 369771ceb..7c047cbf4 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -704,7 +704,7 @@ DEPENDENCIES whenever RUBY VERSION - ruby 3.3.2 + ruby 3.3.3 BUNDLED WITH 2.5.9 From 50130ba0900ee998ce3eaf7035af6dc01d5a0f6e Mon Sep 17 00:00:00 2001 From: Henne Vogelsang Date: Mon, 24 Jun 2024 15:23:37 +0200 Subject: [PATCH 100/325] Use .ruby-version to set the ruby version in workflows No need to change the versions in multiple files... --- .github/workflows/next-rails.yml | 1 - .github/workflows/spec.yml | 2 -- 2 files changed, 3 deletions(-) diff --git a/.github/workflows/next-rails.yml b/.github/workflows/next-rails.yml index 76bbb97c6..386abdc3f 100644 --- a/.github/workflows/next-rails.yml +++ b/.github/workflows/next-rails.yml @@ -26,7 +26,6 @@ jobs: echo "BUNDLE_CACHE_PATH=vendor/cache.next" >> $GITHUB_ENV - uses: ruby/setup-ruby@v1 with: - ruby-version: 3.3.2 bundler-cache: true - name: Prepare spec run: | diff --git a/.github/workflows/spec.yml b/.github/workflows/spec.yml index a7036ebdd..c4ec147bf 100644 --- a/.github/workflows/spec.yml +++ b/.github/workflows/spec.yml @@ -16,7 +16,6 @@ jobs: - uses: actions/checkout@v4 - uses: ruby/setup-ruby@v1 with: - ruby-version: 3.3.2 bundler-cache: true - run: bundle exec rubocop - run: bundle exec haml-lint app/views @@ -34,7 +33,6 @@ jobs: - uses: actions/checkout@v4 - uses: ruby/setup-ruby@v1 with: - ruby-version: 3.3.2 bundler-cache: true - name: Prepare spec run: | From 559c2b9ab0fb2618e159a8d0ab189a6c2dbc211a Mon Sep 17 00:00:00 2001 From: Henne Vogelsang Date: Mon, 24 Jun 2024 15:24:42 +0200 Subject: [PATCH 101/325] Allow more Webdrivers update URLs in spec Follow advise from the webdrivers wiki --- spec/support/external_request.rb | 4 ---- spec/support/webmock.rb | 13 +++++++++++++ 2 files changed, 13 insertions(+), 4 deletions(-) create mode 100644 spec/support/webmock.rb diff --git a/spec/support/external_request.rb b/spec/support/external_request.rb index a3ebf9390..74d70d4fa 100644 --- a/spec/support/external_request.rb +++ b/spec/support/external_request.rb @@ -2,10 +2,6 @@ # Mock external requests to youtube require 'webmock/rspec' -driver_urls = Webdrivers::Common.subclasses.map do |driver| - Addressable::URI.parse(driver.base_url).host -end -WebMock.disable_net_connect!(allow_localhost: true, allow: [*driver_urls, /stripe.com/]) RSpec.configure do |config| config.before(:each) do diff --git a/spec/support/webmock.rb b/spec/support/webmock.rb new file mode 100644 index 000000000..29af2a1b2 --- /dev/null +++ b/spec/support/webmock.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +# Allow webdriver update urls +# from https://github.com/titusfortner/webdrivers/wiki/Using-with-VCR-or-WebMock +allowed_urls = Webdrivers::Common.subclasses.map(&:base_url) +allowed_urls << /geckodriver/ +# We've seen [a redirect](https://github.com/titusfortner/webdrivers/issues/204) to this domain +allowed_urls += ['github-releases.githubusercontent.com'] + +# Allow stripe.com for stripe integration tests +allowed_urls += ['stripe.com'] + +WebMock.disable_net_connect!(allow_localhost: true, allow: allowed_urls) From f12a24bce8947b7a0b658d33a131b7debaae15fe Mon Sep 17 00:00:00 2001 From: Henne Vogelsang Date: Mon, 24 Jun 2024 15:26:13 +0200 Subject: [PATCH 102/325] Stop updating webdrivers in build --- Dockerfile | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index 59e6b0325..9e18612e9 100644 --- a/Dockerfile +++ b/Dockerfile @@ -20,8 +20,7 @@ WORKDIR /osem/ RUN bundle config set --local path 'vendor/bundle'; \ bundle install --jobs=4 --retry=3 -# Install our process manager / update chromedriver -RUN sudo gem install foreman; \ - bundle exec bin/rails webdrivers:chromedriver:update +# Install our process manager +RUN sudo gem install foreman CMD ["foreman", "start"] From 9c74a2f292d4b2b6121ee88b9370ade09c6864c2 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Sat, 29 Jun 2024 16:15:49 +0000 Subject: [PATCH 103/325] Update net-imap to version 0.4.14 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 7c047cbf4..4d8b173f1 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -305,7 +305,7 @@ GEM multipart-post (2.4.1) net-http (0.4.1) uri - net-imap (0.4.11) + net-imap (0.4.14) date net-protocol net-pop (0.1.2) From e339133c56472c7460b1bfab0c7aef86f1dd9bdc Mon Sep 17 00:00:00 2001 From: Henne Vogelsang Date: Mon, 1 Jul 2024 14:23:08 +0200 Subject: [PATCH 104/325] Do not require programs languages in controller We did not set this in ProposalController#create so it was empty if we the event validation failed and we rendered :new. It makes little sense to assign this instance variable anyway, we already have @program. --- app/controllers/admin/events_controller.rb | 4 ---- app/controllers/proposals_controller.rb | 2 -- app/views/proposals/_form.html.haml | 2 +- 3 files changed, 1 insertion(+), 7 deletions(-) diff --git a/app/controllers/admin/events_controller.rb b/app/controllers/admin/events_controller.rb index 7187940ec..130558b51 100644 --- a/app/controllers/admin/events_controller.rb +++ b/app/controllers/admin/events_controller.rb @@ -57,7 +57,6 @@ def edit @comment_count = @event.comment_threads.count @user = @event.submitter @url = admin_conference_program_event_path(@conference.short_title, @event) - @languages = @program.languages_list end def comment @@ -71,7 +70,6 @@ def comment end def update - @languages = @program.languages_list if @event.update(event_params) if request.xhr? @@ -89,7 +87,6 @@ def update def create @url = admin_conference_program_events_path(@conference.short_title, @event) - @languages = @program.languages_list @event.submitter = current_user if @event.save @@ -102,7 +99,6 @@ def create def new @url = admin_conference_program_events_path(@conference.short_title, @event) - @languages = @program.languages_list end def accept diff --git a/app/controllers/proposals_controller.rb b/app/controllers/proposals_controller.rb index 692b4db01..54ca58c9c 100644 --- a/app/controllers/proposals_controller.rb +++ b/app/controllers/proposals_controller.rb @@ -23,12 +23,10 @@ def show def new @user = User.new @url = conference_program_proposals_path(@conference.short_title) - @languages = @program.languages_list end def edit @url = conference_program_proposal_path(@conference.short_title, params[:id]) - @languages = @program.languages_list end def create diff --git a/app/views/proposals/_form.html.haml b/app/views/proposals/_form.html.haml index 928d4a9c4..937187edf 100644 --- a/app/views/proposals/_form.html.haml +++ b/app/views/proposals/_form.html.haml @@ -32,7 +32,7 @@ - if @program.languages.present? .form-group = f.label :language - = f.select :language, @languages, { include_blank: false}, { class: 'select-help-toggle form-control' } + = f.select :language, @program.languages_list, { include_blank: false}, { class: 'select-help-toggle form-control' } = render 'shared/select_help_text', f: f, for: :event_type_id, options: @conference.program.event_types do |event_type| = event_type.description - if display_details From 351a780f5d40b0acad94a3e288b60fd3333ff00a Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Thu, 11 Jul 2024 11:25:31 +0000 Subject: [PATCH 105/325] Update nokogiri to version 1.16.6 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index f6360c0e8..6c2f226fe 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -317,7 +317,7 @@ GEM next_rails (1.3.0) colorize (>= 0.8.1) nio4r (2.7.3) - nokogiri (1.16.5) + nokogiri (1.16.6) mini_portile2 (~> 2.8.2) racc (~> 1.4) oauth2 (2.0.9) From 57ff14f927d66bd927810741489223085d5c47c7 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Thu, 11 Jul 2024 11:30:59 +0000 Subject: [PATCH 106/325] Update rspec-expectations to version 3.13.1 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index f6360c0e8..97dd4ac0f 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -453,7 +453,7 @@ GEM rspec-mocks (>= 2.99, < 4.0) rspec-core (3.13.0) rspec-support (~> 3.13.0) - rspec-expectations (3.13.0) + rspec-expectations (3.13.1) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.13.0) rspec-mocks (3.13.1) From d5bbcfb8ad48dfebd69d3050c785453687d2688c Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Thu, 11 Jul 2024 11:35:28 +0000 Subject: [PATCH 107/325] Update rubocop-performance to version 1.21.1 --- Gemfile.lock | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index f6360c0e8..d3744fada 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -355,8 +355,8 @@ GEM paper_trail (15.1.0) activerecord (>= 6.1) request_store (~> 1.4) - parallel (1.24.0) - parser (3.3.2.0) + parallel (1.25.1) + parser (3.3.4.0) ast (~> 2.4.1) racc pdf-core (0.10.0) @@ -440,8 +440,8 @@ GEM responders (3.1.1) actionpack (>= 5.2) railties (>= 5.2) - rexml (3.2.8) - strscan (>= 3.0.9) + rexml (3.3.1) + strscan rolify (6.0.1) rqrcode (2.2.0) chunky_png (~> 1.0) @@ -468,13 +468,13 @@ GEM rspec-mocks (~> 3.13) rspec-support (~> 3.13) rspec-support (3.13.1) - rubocop (1.64.1) + rubocop (1.65.0) json (~> 2.3) language_server-protocol (>= 3.17.0) parallel (~> 1.10) parser (>= 3.3.0.2) rainbow (>= 2.2.2, < 4.0) - regexp_parser (>= 1.8, < 3.0) + regexp_parser (>= 2.4, < 3.0) rexml (>= 3.2.5, < 4.0) rubocop-ast (>= 1.31.1, < 2.0) ruby-progressbar (~> 1.7) @@ -485,7 +485,7 @@ GEM rubocop (~> 1.41) rubocop-factory_bot (2.25.1) rubocop (~> 1.41) - rubocop-performance (1.21.0) + rubocop-performance (1.21.1) rubocop (>= 1.48.1, < 2.0) rubocop-ast (>= 1.31.1, < 2.0) rubocop-rails (2.24.1) From 5bbc4396a17247ed30c8f3c051f8db1fb0528585 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Thu, 18 Jul 2024 11:05:23 +0000 Subject: [PATCH 108/325] Update rexml to version 3.3.2 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index d38a2a8d6..1fbee4616 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -440,7 +440,7 @@ GEM responders (3.1.1) actionpack (>= 5.2) railties (>= 5.2) - rexml (3.3.1) + rexml (3.3.2) strscan rolify (6.0.1) rqrcode (2.2.0) From 7f75c1ee945fe4c4099247cc7489f0999bef2fc9 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Thu, 18 Jul 2024 11:11:10 +0000 Subject: [PATCH 109/325] Update zeitwerk to version 2.6.16 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index d38a2a8d6..e6ef561b1 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -601,7 +601,7 @@ GEM chronic (>= 0.6.3) xpath (3.2.0) nokogiri (~> 1.8) - zeitwerk (2.6.15) + zeitwerk (2.6.16) PLATFORMS ruby From 01515d1826ef9988f6ee448bb112e925cb0136df Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Thu, 18 Jul 2024 11:15:25 +0000 Subject: [PATCH 110/325] Update jwt to version 2.8.2 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index d38a2a8d6..8b672afc8 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -252,7 +252,7 @@ GEM json-schema (4.3.0) addressable (>= 2.8) jsonapi-renderer (0.2.2) - jwt (2.8.1) + jwt (2.8.2) base64 language_server-protocol (3.17.0.3) launchy (3.0.1) From 47f89ee3755379cf65b43bfe3e17c8f40e203b44 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Thu, 18 Jul 2024 12:11:48 +0000 Subject: [PATCH 111/325] Update concurrent-ruby to version 1.3.3 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 1fbee4616..c37933488 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -143,7 +143,7 @@ GEM faraday-multipart (~> 1.0, >= 1.0.4) cocoon (1.2.15) colorize (1.1.0) - concurrent-ruby (1.3.1) + concurrent-ruby (1.3.3) countable-rails (0.0.1) railties (>= 3.1) crack (1.0.0) From 5c68c1c90c73d027345fcf45d70b6769a5c8d713 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Thu, 18 Jul 2024 13:05:48 +0000 Subject: [PATCH 112/325] Update addressable to version 2.8.7 --- Gemfile.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index c333bbf57..7ab7b5f55 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -78,8 +78,8 @@ GEM awesome_nested_set (>= 3.0) acts_as_list (1.1.0) activerecord (>= 4.2) - addressable (2.8.6) - public_suffix (>= 2.0.2, < 6.0) + addressable (2.8.7) + public_suffix (>= 2.0.2, < 7.0) afm (0.2.2) ajax-datatables-rails (1.5.0) rails (>= 6.0) @@ -382,7 +382,7 @@ GEM prawn-table prawn-table (0.2.2) prawn (>= 1.3.0, < 3.0.0) - public_suffix (5.0.5) + public_suffix (6.0.0) puma (6.4.2) nio4r (~> 2.0) racc (1.8.0) From 5c62319f230bcd18a4162f37fab502c693c35e1b Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Thu, 18 Jul 2024 13:11:37 +0000 Subject: [PATCH 113/325] Update websocket to version 1.2.11 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index c333bbf57..69c7af619 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -593,7 +593,7 @@ GEM addressable (>= 2.8.0) crack (>= 0.3.2) hashdiff (>= 0.4.0, < 2.0.0) - websocket (1.2.10) + websocket (1.2.11) websocket-driver (0.7.6) websocket-extensions (>= 0.1.0) websocket-extensions (0.1.5) From 6f8ef1c0441f70ed9788ce38499b687098f52955 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Fri, 19 Jul 2024 10:41:37 +0000 Subject: [PATCH 114/325] Update ffi to version 1.17.0 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index eba23cd4f..478605735 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -198,7 +198,7 @@ GEM net-http fastimage (2.3.1) feature (1.4.0) - ffi (1.16.3) + ffi (1.17.0) font-awesome-sass (6.5.2) sassc (~> 2.0) geckodriver-helper (0.24.0) From 252dd8c0e8d6da45f658c2ccec0e1a77cffe7a07 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Fri, 19 Jul 2024 10:45:32 +0000 Subject: [PATCH 115/325] Update acts_as_list to version 1.2.1 --- Gemfile.lock | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index eba23cd4f..bbebeb2a9 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -76,8 +76,9 @@ GEM activerecord (>= 4.0) activesupport (>= 4.0) awesome_nested_set (>= 3.0) - acts_as_list (1.1.0) - activerecord (>= 4.2) + acts_as_list (1.2.1) + activerecord (>= 6.1) + activesupport (>= 6.1) addressable (2.8.7) public_suffix (>= 2.0.2, < 7.0) afm (0.2.2) @@ -289,7 +290,7 @@ GEM mini_magick (4.12.0) mini_mime (1.1.5) mini_portile2 (2.8.7) - minitest (5.23.1) + minitest (5.24.1) monetize (1.13.0) money (~> 6.12) money (6.19.0) From effcff9e332e8d7ca9f120f139781e3688ee7bd0 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Fri, 19 Jul 2024 10:55:47 +0000 Subject: [PATCH 116/325] Update sprockets-rails to version 3.5.1 --- Gemfile.lock | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index ad11cfb0d..0d8d23cfb 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -100,7 +100,7 @@ GEM autoprefixer-rails (>= 5.2.1) sassc (>= 2.0.0) bootstrap-switch-rails (3.3.3) - builder (3.2.4) + builder (3.3.0) byebug (11.1.3) cancancan (3.6.1) capybara (3.40.0) @@ -180,7 +180,7 @@ GEM dotenv-rails (3.1.2) dotenv (= 3.1.2) railties (>= 6.1) - erubi (1.12.0) + erubi (1.13.0) execjs (2.9.1) factory_bot (6.4.6) activesupport (>= 5.0.0) @@ -547,9 +547,9 @@ GEM sprockets (4.2.1) concurrent-ruby (~> 1.0) rack (>= 2.2.4, < 4) - sprockets-rails (3.4.2) - actionpack (>= 5.2) - activesupport (>= 5.2) + sprockets-rails (3.5.1) + actionpack (>= 6.1) + activesupport (>= 6.1) sprockets (>= 3.0.0) ssrf_filter (1.1.2) stripe (5.55.0) From 6aa0be270cd6a91e3e0f7301dd63ec2f555ff60d Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Fri, 2 Aug 2024 00:17:16 +0000 Subject: [PATCH 117/325] Update rexml to version 3.3.4 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 0d8d23cfb..adc1ddcb9 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -441,7 +441,7 @@ GEM responders (3.1.1) actionpack (>= 5.2) railties (>= 5.2) - rexml (3.3.2) + rexml (3.3.4) strscan rolify (6.0.1) rqrcode (2.2.0) From ae05e5365e4284bba63cf4443d1630c8a2ba6d11 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Thu, 22 Aug 2024 15:15:48 +0000 Subject: [PATCH 118/325] Update rspec-rails to version 6.1.4 --- Gemfile.lock | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index adc1ddcb9..1e137d037 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -144,7 +144,7 @@ GEM faraday-multipart (~> 1.0, >= 1.0.4) cocoon (1.2.15) colorize (1.1.0) - concurrent-ruby (1.3.3) + concurrent-ruby (1.3.4) countable-rails (0.0.1) railties (>= 3.1) crack (1.0.0) @@ -290,7 +290,7 @@ GEM mini_magick (4.12.0) mini_mime (1.1.5) mini_portile2 (2.8.7) - minitest (5.24.1) + minitest (5.25.1) monetize (1.13.0) money (~> 6.12) money (6.19.0) @@ -318,7 +318,7 @@ GEM next_rails (1.3.0) colorize (>= 0.8.1) nio4r (2.7.3) - nokogiri (1.16.6) + nokogiri (1.16.7) mini_portile2 (~> 2.8.2) racc (~> 1.4) oauth2 (2.0.9) @@ -386,7 +386,7 @@ GEM public_suffix (6.0.0) puma (6.4.2) nio4r (~> 2.0) - racc (1.8.0) + racc (1.8.1) rack (2.2.9) rack-openid (1.4.2) rack (>= 1.1.0) @@ -454,13 +454,13 @@ GEM rspec-mocks (>= 2.99, < 4.0) rspec-core (3.13.0) rspec-support (~> 3.13.0) - rspec-expectations (3.13.1) + rspec-expectations (3.13.2) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.13.0) rspec-mocks (3.13.1) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.13.0) - rspec-rails (6.1.2) + rspec-rails (6.1.4) actionpack (>= 6.1) activesupport (>= 6.1) railties (>= 6.1) @@ -602,7 +602,7 @@ GEM chronic (>= 0.6.3) xpath (3.2.0) nokogiri (~> 1.8) - zeitwerk (2.6.16) + zeitwerk (2.6.17) PLATFORMS ruby From 50d4ff9faa13c94c605b0784107ae937aa459652 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Thu, 22 Aug 2024 18:16:29 +0000 Subject: [PATCH 119/325] Update rexml to version 3.3.6 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index adc1ddcb9..2537b99f3 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -441,7 +441,7 @@ GEM responders (3.1.1) actionpack (>= 5.2) railties (>= 5.2) - rexml (3.3.4) + rexml (3.3.6) strscan rolify (6.0.1) rqrcode (2.2.0) From 6d2de5d55e005e1c77a908f1f2c312fa0d04a75e Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Tue, 27 Aug 2024 12:35:27 +0000 Subject: [PATCH 120/325] Update leaflet-rails to version 1.9.5 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index e5c2826a3..4fa12f7fc 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -259,7 +259,7 @@ GEM launchy (3.0.1) addressable (~> 2.8) childprocess (~> 5.0) - leaflet-rails (1.9.4) + leaflet-rails (1.9.5) actionpack (>= 4.2.0) railties (>= 4.2.0) letter_opener (1.10.0) From e873c99b2aeba5434f115fbb7a07b1bc347fb29b Mon Sep 17 00:00:00 2001 From: Henne Vogelsang Date: Mon, 30 Sep 2024 16:05:39 +0200 Subject: [PATCH 121/325] Skip broken ticket purchase spec We are going to drop this feature soon, no idea why it fails. --- spec/features/ticket_purchases_spec.rb | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/spec/features/ticket_purchases_spec.rb b/spec/features/ticket_purchases_spec.rb index d67f0b68f..61471a8bf 100644 --- a/spec/features/ticket_purchases_spec.rb +++ b/spec/features/ticket_purchases_spec.rb @@ -11,6 +11,7 @@ let!(:participant) { create(:user) } context 'as a participant' do + before(:each) do sign_in participant end @@ -22,6 +23,8 @@ context 'who is not registered' do scenario 'purchases and pays for a ticket succcessfully', feature: true, js: true do + skip 'broken' + visit root_path click_link 'Register' @@ -58,6 +61,8 @@ end scenario 'purchases ticket but payment fails', feature: true, js: true do + skip 'broken' + visit root_path click_link 'Register' @@ -147,6 +152,8 @@ context 'who is registered' do scenario 'unregisters from conference, but ticket purchases dont delete', feature: true, js: true do + skip 'broken' + visit root_path click_link 'Register' From b57ab2870b4a869d63540d8b65e9e7ef4ea3134e Mon Sep 17 00:00:00 2001 From: Henne Vogelsang Date: Mon, 30 Sep 2024 13:44:37 +0200 Subject: [PATCH 122/325] Store logs/screenshots if suite fails --- .github/workflows/spec.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.github/workflows/spec.yml b/.github/workflows/spec.yml index c4ec147bf..4a7c83406 100644 --- a/.github/workflows/spec.yml +++ b/.github/workflows/spec.yml @@ -41,6 +41,14 @@ jobs: bundle exec rake factory_bot:lint RAILS_ENV=test - name: spec/${{ matrix.suite }} run: bundle exec rake spec:${{ matrix.suite }} + - name: Upload Suite Artifacts + if: ${{ failure() }} + uses: actions/upload-artifact@v4 + with: + name: logs-${{ matrix.suite }} + path: | + log/ + tmp/capybara - name: coverage upload ${{ matrix.suite }} uses: codacy/codacy-coverage-reporter-action@master if: github.ref == 'refs/heads/master' From f6049d8af41a8ab2058bbe6d730830d9bb4de2c6 Mon Sep 17 00:00:00 2001 From: Henne Vogelsang Date: Mon, 30 Sep 2024 13:08:04 +0200 Subject: [PATCH 123/325] Allow more chromium URLs in webmock --- spec/support/webmock.rb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/spec/support/webmock.rb b/spec/support/webmock.rb index 29af2a1b2..2b190325d 100644 --- a/spec/support/webmock.rb +++ b/spec/support/webmock.rb @@ -6,6 +6,8 @@ allowed_urls << /geckodriver/ # We've seen [a redirect](https://github.com/titusfortner/webdrivers/issues/204) to this domain allowed_urls += ['github-releases.githubusercontent.com'] +allowed_urls += ['googlechromelabs.github.io'] +allowed_urls += ['storage.googleapis.com'] # Allow stripe.com for stripe integration tests allowed_urls += ['stripe.com'] From 395ffc3941567ffef3c336c88399ebcac757c707 Mon Sep 17 00:00:00 2001 From: Henne Vogelsang Date: Mon, 30 Sep 2024 12:55:18 +0200 Subject: [PATCH 124/325] =?UTF-8?q?[security]=20Update=20rails=207.0.8.1?= =?UTF-8?q?=20=E2=86=92=20=207.0.8.4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Gemfile.lock | 114 +++++++++++++++++++++++++-------------------------- 1 file changed, 57 insertions(+), 57 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 4fa12f7fc..63bb8bbff 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -2,47 +2,47 @@ GEM remote: https://rubygems.org/ specs: Ascii85 (1.1.1) - actioncable (7.0.8.1) - actionpack (= 7.0.8.1) - activesupport (= 7.0.8.1) + actioncable (7.0.8.4) + actionpack (= 7.0.8.4) + activesupport (= 7.0.8.4) nio4r (~> 2.0) websocket-driver (>= 0.6.1) - actionmailbox (7.0.8.1) - actionpack (= 7.0.8.1) - activejob (= 7.0.8.1) - activerecord (= 7.0.8.1) - activestorage (= 7.0.8.1) - activesupport (= 7.0.8.1) + actionmailbox (7.0.8.4) + actionpack (= 7.0.8.4) + activejob (= 7.0.8.4) + activerecord (= 7.0.8.4) + activestorage (= 7.0.8.4) + activesupport (= 7.0.8.4) mail (>= 2.7.1) net-imap net-pop net-smtp - actionmailer (7.0.8.1) - actionpack (= 7.0.8.1) - actionview (= 7.0.8.1) - activejob (= 7.0.8.1) - activesupport (= 7.0.8.1) + actionmailer (7.0.8.4) + actionpack (= 7.0.8.4) + actionview (= 7.0.8.4) + activejob (= 7.0.8.4) + activesupport (= 7.0.8.4) mail (~> 2.5, >= 2.5.4) net-imap net-pop net-smtp rails-dom-testing (~> 2.0) - actionpack (7.0.8.1) - actionview (= 7.0.8.1) - activesupport (= 7.0.8.1) + actionpack (7.0.8.4) + actionview (= 7.0.8.4) + activesupport (= 7.0.8.4) rack (~> 2.0, >= 2.2.4) rack-test (>= 0.6.3) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.0, >= 1.2.0) - actiontext (7.0.8.1) - actionpack (= 7.0.8.1) - activerecord (= 7.0.8.1) - activestorage (= 7.0.8.1) - activesupport (= 7.0.8.1) + actiontext (7.0.8.4) + actionpack (= 7.0.8.4) + activerecord (= 7.0.8.4) + activestorage (= 7.0.8.4) + activesupport (= 7.0.8.4) globalid (>= 0.6.0) nokogiri (>= 1.8.5) - actionview (7.0.8.1) - activesupport (= 7.0.8.1) + actionview (7.0.8.4) + activesupport (= 7.0.8.4) builder (~> 3.1) erubi (~> 1.4) rails-dom-testing (~> 2.0) @@ -52,22 +52,22 @@ GEM activemodel (>= 4.1) case_transform (>= 0.2) jsonapi-renderer (>= 0.1.1.beta1, < 0.3) - activejob (7.0.8.1) - activesupport (= 7.0.8.1) + activejob (7.0.8.4) + activesupport (= 7.0.8.4) globalid (>= 0.3.6) - activemodel (7.0.8.1) - activesupport (= 7.0.8.1) - activerecord (7.0.8.1) - activemodel (= 7.0.8.1) - activesupport (= 7.0.8.1) - activestorage (7.0.8.1) - actionpack (= 7.0.8.1) - activejob (= 7.0.8.1) - activerecord (= 7.0.8.1) - activesupport (= 7.0.8.1) + activemodel (7.0.8.4) + activesupport (= 7.0.8.4) + activerecord (7.0.8.4) + activemodel (= 7.0.8.4) + activesupport (= 7.0.8.4) + activestorage (7.0.8.4) + actionpack (= 7.0.8.4) + activejob (= 7.0.8.4) + activerecord (= 7.0.8.4) + activesupport (= 7.0.8.4) marcel (~> 1.0) mini_mime (>= 1.1.0) - activesupport (7.0.8.1) + activesupport (7.0.8.4) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (>= 1.6, < 2) minitest (>= 5.1) @@ -226,7 +226,7 @@ GEM hashery (2.1.2) hashie (5.0.0) htmlentities (4.3.4) - i18n (1.14.5) + i18n (1.14.6) concurrent-ruby (~> 1.0) i18n_data (0.17.1) simple_po_parser (~> 1.1) @@ -306,7 +306,7 @@ GEM multipart-post (2.4.1) net-http (0.4.1) uri - net-imap (0.4.14) + net-imap (0.4.16) date net-protocol net-pop (0.1.2) @@ -396,20 +396,20 @@ GEM rack (~> 2.2, >= 2.2.4) rack-test (2.1.0) rack (>= 1.3) - rails (7.0.8.1) - actioncable (= 7.0.8.1) - actionmailbox (= 7.0.8.1) - actionmailer (= 7.0.8.1) - actionpack (= 7.0.8.1) - actiontext (= 7.0.8.1) - actionview (= 7.0.8.1) - activejob (= 7.0.8.1) - activemodel (= 7.0.8.1) - activerecord (= 7.0.8.1) - activestorage (= 7.0.8.1) - activesupport (= 7.0.8.1) + rails (7.0.8.4) + actioncable (= 7.0.8.4) + actionmailbox (= 7.0.8.4) + actionmailer (= 7.0.8.4) + actionpack (= 7.0.8.4) + actiontext (= 7.0.8.4) + actionview (= 7.0.8.4) + activejob (= 7.0.8.4) + activemodel (= 7.0.8.4) + activerecord (= 7.0.8.4) + activestorage (= 7.0.8.4) + activesupport (= 7.0.8.4) bundler (>= 1.15.0) - railties (= 7.0.8.1) + railties (= 7.0.8.4) rails-controller-testing (1.0.5) actionpack (>= 5.0.1.rc1) actionview (>= 5.0.1.rc1) @@ -424,9 +424,9 @@ GEM rails-i18n (7.0.9) i18n (>= 0.7, < 2) railties (>= 6.0.0, < 8) - railties (7.0.8.1) - actionpack (= 7.0.8.1) - activesupport (= 7.0.8.1) + railties (7.0.8.4) + actionpack (= 7.0.8.4) + activesupport (= 7.0.8.4) method_source rake (>= 12.2) thor (~> 1.0) @@ -560,7 +560,7 @@ GEM strscan (3.1.0) sysexits (1.2.0) temple (0.10.3) - thor (1.3.1) + thor (1.3.2) tilt (2.3.0) timecop (0.9.8) timeout (0.4.1) @@ -602,7 +602,7 @@ GEM chronic (>= 0.6.3) xpath (3.2.0) nokogiri (~> 1.8) - zeitwerk (2.6.17) + zeitwerk (2.6.18) PLATFORMS ruby From 2a6f65be49ea7b6f74a61319f23539b0a4a6a70d Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Tue, 1 Oct 2024 13:13:02 +0000 Subject: [PATCH 125/325] Update puma to version 6.4.3 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 63bb8bbff..453076d8a 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -384,7 +384,7 @@ GEM prawn-table (0.2.2) prawn (>= 1.3.0, < 3.0.0) public_suffix (6.0.0) - puma (6.4.2) + puma (6.4.3) nio4r (~> 2.0) racc (1.8.1) rack (2.2.9) From e90da491dd52dd5f1ad749e8327d95841efc40cd Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Tue, 1 Oct 2024 13:13:12 +0000 Subject: [PATCH 126/325] Update Ruby to version 3.3.5 --- .ruby-version | 2 +- Gemfile.lock | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.ruby-version b/.ruby-version index 619b53766..fa7adc7ac 100644 --- a/.ruby-version +++ b/.ruby-version @@ -1 +1 @@ -3.3.3 +3.3.5 diff --git a/Gemfile.lock b/Gemfile.lock index 63bb8bbff..56fcd4fbb 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -706,7 +706,7 @@ DEPENDENCIES whenever RUBY VERSION - ruby 3.3.3 + ruby 3.3.5 BUNDLED WITH 2.5.9 From e0c5b2bc6e1e482ec8b1d6a9ef94a5e0e9484df4 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Tue, 1 Oct 2024 13:14:10 +0000 Subject: [PATCH 127/325] Update rubocop-factory_bot to version 2.26.1 --- Gemfile.lock | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 63bb8bbff..ebf172ae4 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -356,8 +356,8 @@ GEM paper_trail (15.1.0) activerecord (>= 6.1) request_store (~> 1.4) - parallel (1.25.1) - parser (3.3.4.0) + parallel (1.26.3) + parser (3.3.5.0) ast (~> 2.4.1) racc pdf-core (0.10.0) @@ -441,8 +441,7 @@ GEM responders (3.1.1) actionpack (>= 5.2) railties (>= 5.2) - rexml (3.3.6) - strscan + rexml (3.3.8) rolify (6.0.1) rqrcode (2.2.0) chunky_png (~> 1.0) @@ -469,23 +468,22 @@ GEM rspec-mocks (~> 3.13) rspec-support (~> 3.13) rspec-support (3.13.1) - rubocop (1.65.0) + rubocop (1.66.1) json (~> 2.3) language_server-protocol (>= 3.17.0) parallel (~> 1.10) parser (>= 3.3.0.2) rainbow (>= 2.2.2, < 4.0) regexp_parser (>= 2.4, < 3.0) - rexml (>= 3.2.5, < 4.0) - rubocop-ast (>= 1.31.1, < 2.0) + rubocop-ast (>= 1.32.2, < 2.0) ruby-progressbar (~> 1.7) unicode-display_width (>= 2.4.0, < 3.0) - rubocop-ast (1.31.3) + rubocop-ast (1.32.3) parser (>= 3.3.1.0) rubocop-capybara (2.20.0) rubocop (~> 1.41) - rubocop-factory_bot (2.25.1) - rubocop (~> 1.41) + rubocop-factory_bot (2.26.1) + rubocop (~> 1.61) rubocop-performance (1.21.1) rubocop (>= 1.48.1, < 2.0) rubocop-ast (>= 1.31.1, < 2.0) @@ -557,7 +555,6 @@ GEM dante (>= 0.2.0) multi_json (~> 1.0) stripe (> 5, < 6) - strscan (3.1.0) sysexits (1.2.0) temple (0.10.3) thor (1.3.2) @@ -574,7 +571,7 @@ GEM concurrent-ruby (~> 1.0) uglifier (4.2.0) execjs (>= 0.3.0, < 3) - unicode-display_width (2.5.0) + unicode-display_width (2.6.0) unobtrusive_flash (3.3.1) railties uri (0.13.0) From 7440b03b10533c5f5d41f131e6a95582f00cfdda Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Tue, 1 Oct 2024 13:41:38 +0000 Subject: [PATCH 128/325] Update faker to version 3.4.2 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index d9a620df2..9ac97a92d 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -187,7 +187,7 @@ GEM factory_bot_rails (6.4.3) factory_bot (~> 6.4) railties (>= 5.0.0) - faker (3.4.1) + faker (3.4.2) i18n (>= 1.8.11, < 2) faraday (2.9.1) faraday-net_http (>= 2.0, < 3.2) From 2fa4ab8675e372b66503f17be1db452659621557 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Tue, 1 Oct 2024 13:45:38 +0000 Subject: [PATCH 129/325] Update ruby-vips to version 2.2.2 --- Gemfile.lock | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index d9a620df2..fa4a29019 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -269,6 +269,7 @@ GEM letter_opener (~> 1.9) railties (>= 6.1) rexml + logger (1.6.1) lograge (0.14.0) actionpack (>= 4) activesupport (>= 4) @@ -503,8 +504,9 @@ GEM ruby-openid (2.9.2) ruby-progressbar (1.13.0) ruby-rc4 (0.1.5) - ruby-vips (2.2.1) + ruby-vips (2.2.2) ffi (~> 1.12) + logger rubyzip (2.3.2) sass-rails (6.0.0) sassc-rails (~> 2.1, >= 2.1.1) From 514b58008e65b3958f701985b944e16acac547b8 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Wed, 2 Oct 2024 13:50:39 +0000 Subject: [PATCH 130/325] Update public_suffix to version 6.0.1 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index efaf2ff39..6ac564dba 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -384,7 +384,7 @@ GEM prawn-table prawn-table (0.2.2) prawn (>= 1.3.0, < 3.0.0) - public_suffix (6.0.0) + public_suffix (6.0.1) puma (6.4.3) nio4r (~> 2.0) racc (1.8.1) From 06fd8beb02d89332752d1feed61a29d2f53d4ea2 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Wed, 2 Oct 2024 13:55:33 +0000 Subject: [PATCH 131/325] Update docile to version 1.4.1 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index efaf2ff39..499f4f64f 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -175,7 +175,7 @@ GEM devise_ichain_authenticatable (0.3.2) devise (>= 2.2) diff-lcs (1.5.1) - docile (1.4.0) + docile (1.4.1) dotenv (3.1.2) dotenv-rails (3.1.2) dotenv (= 3.1.2) From 877c9cc36ccef46c30a753c99315b6859ab0f206 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Wed, 2 Oct 2024 14:17:43 +0000 Subject: [PATCH 132/325] Update acts_as_list to version 1.2.2 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 7ebb7fec7..2647d66b1 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -76,7 +76,7 @@ GEM activerecord (>= 4.0) activesupport (>= 4.0) awesome_nested_set (>= 3.0) - acts_as_list (1.2.1) + acts_as_list (1.2.2) activerecord (>= 6.1) activesupport (>= 6.1) addressable (2.8.7) From b1f5180abeafd8af1ceeea7288aff8fb4da9f2b9 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Wed, 2 Oct 2024 14:20:26 +0000 Subject: [PATCH 133/325] Update sprockets-rails to version 3.5.2 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 7ebb7fec7..0805bc03d 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -547,7 +547,7 @@ GEM sprockets (4.2.1) concurrent-ruby (~> 1.0) rack (>= 2.2.4, < 4) - sprockets-rails (3.5.1) + sprockets-rails (3.5.2) actionpack (>= 6.1) activesupport (>= 6.1) sprockets (>= 3.0.0) From 1f63fdd645ed6a681c1b58bf4397892c16baf3bb Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Wed, 2 Oct 2024 14:25:50 +0000 Subject: [PATCH 134/325] Update autoprefixer-rails to version 10.4.19.0 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 7ebb7fec7..aa6eae61f 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -88,7 +88,7 @@ GEM archive-zip (0.12.0) io-like (~> 0.3.0) ast (2.4.2) - autoprefixer-rails (10.4.16.0) + autoprefixer-rails (10.4.19.0) execjs (~> 2) awesome_nested_set (3.6.0) activerecord (>= 4.0.0, < 7.2) From b01bf2e1bfed7988a9566aab147d137bead6b03a Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Wed, 2 Oct 2024 15:06:17 +0000 Subject: [PATCH 135/325] Update hashdiff to version 1.1.1 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index f32914d34..d18b110ef 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -222,7 +222,7 @@ GEM rainbow rubocop (>= 1.0) sysexits (~> 1.1) - hashdiff (1.1.0) + hashdiff (1.1.1) hashery (2.1.2) hashie (5.0.0) htmlentities (4.3.4) From 718f0e2b8b9f5a4b99f1c0cb5123a483ff9bd5e0 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Wed, 2 Oct 2024 15:11:50 +0000 Subject: [PATCH 136/325] Update delayed_job to version 4.1.12 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index f32914d34..fc05ce05f 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -161,7 +161,7 @@ GEM database_cleaner-core (~> 2.0.0) database_cleaner-core (2.0.1) date (3.3.4) - delayed_job (4.1.11) + delayed_job (4.1.12) activesupport (>= 3.0, < 8.0) delayed_job_active_record (4.1.8) activerecord (>= 3.0, < 8.0) From 35a0fe89551ba50705cefe7f841ca15d4f092226 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Wed, 2 Oct 2024 15:16:06 +0000 Subject: [PATCH 137/325] Update delayed_job_active_record to version 4.1.10 --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index f32914d34..642ba3717 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -161,9 +161,9 @@ GEM database_cleaner-core (~> 2.0.0) database_cleaner-core (2.0.1) date (3.3.4) - delayed_job (4.1.11) + delayed_job (4.1.12) activesupport (>= 3.0, < 8.0) - delayed_job_active_record (4.1.8) + delayed_job_active_record (4.1.10) activerecord (>= 3.0, < 8.0) delayed_job (>= 3.0, < 5) devise (4.9.4) From f32cc7947a65738961cdc3cda737f8958c4b1be7 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Mon, 7 Oct 2024 12:45:49 +0000 Subject: [PATCH 138/325] Update rspec-core to version 3.13.1 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index eb27883ac..0418e1afd 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -452,7 +452,7 @@ GEM activemodel (>= 3.0) activesupport (>= 3.0) rspec-mocks (>= 2.99, < 4.0) - rspec-core (3.13.0) + rspec-core (3.13.1) rspec-support (~> 3.13.0) rspec-expectations (3.13.2) diff-lcs (>= 1.2.0, < 2.0) From 10fdd0859fe72be8bd3dbb6b3de70261c5a0f416 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Mon, 7 Oct 2024 12:50:29 +0000 Subject: [PATCH 139/325] Update pg to version 1.5.8 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index eb27883ac..fcbcef483 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -370,7 +370,7 @@ GEM hashery (~> 2.0) ruby-rc4 ttfunk - pg (1.5.6) + pg (1.5.8) prawn (2.5.0) matrix (~> 0.4) pdf-core (~> 0.10.0) From 452cc4c7aa36fac889e6a8cad17e347bb16a65dd Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Mon, 7 Oct 2024 12:55:47 +0000 Subject: [PATCH 140/325] Update rspec-expectations to version 3.13.3 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index eb27883ac..302e1e349 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -454,7 +454,7 @@ GEM rspec-mocks (>= 2.99, < 4.0) rspec-core (3.13.0) rspec-support (~> 3.13.0) - rspec-expectations (3.13.2) + rspec-expectations (3.13.3) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.13.0) rspec-mocks (3.13.1) From 508b0e59fcf633d4a148064db9a277d3b8abb36a Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Mon, 7 Oct 2024 13:35:57 +0000 Subject: [PATCH 141/325] Update dotenv to version 3.1.4 --- Gemfile.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 63624c7d1..f04b20859 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -176,9 +176,9 @@ GEM devise (>= 2.2) diff-lcs (1.5.1) docile (1.4.1) - dotenv (3.1.2) - dotenv-rails (3.1.2) - dotenv (= 3.1.2) + dotenv (3.1.4) + dotenv-rails (3.1.4) + dotenv (= 3.1.4) railties (>= 6.1) erubi (1.13.0) execjs (2.9.1) From df894dcef0ef4501ca46b5d9ca2b29842a8dff1a Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Mon, 7 Oct 2024 13:45:59 +0000 Subject: [PATCH 142/325] Update icalendar to version 2.10.3 --- Gemfile.lock | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 63624c7d1..0731590f9 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -230,9 +230,10 @@ GEM concurrent-ruby (~> 1.0) i18n_data (0.17.1) simple_po_parser (~> 1.1) - icalendar (2.10.1) + icalendar (2.10.3) ice_cube (~> 0.16) - ice_cube (0.16.4) + ostruct + ice_cube (0.17.0) image_processing (1.12.2) mini_magick (>= 4.9.5, < 5) ruby-vips (>= 2.0.17, < 3) @@ -354,6 +355,7 @@ GEM actionpack (>= 4.2) omniauth (~> 2.0) orm_adapter (0.5.0) + ostruct (0.6.0) paper_trail (15.1.0) activerecord (>= 6.1) request_store (~> 1.4) From 83b9007c2aefb3e54c0518df6d831a82e06aa398 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Tue, 8 Oct 2024 10:00:48 +0000 Subject: [PATCH 143/325] Update uglifier to version 4.2.1 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index c4b343984..3d7d51a53 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -573,7 +573,7 @@ GEM turbolinks-source (5.2.0) tzinfo (2.0.6) concurrent-ruby (~> 1.0) - uglifier (4.2.0) + uglifier (4.2.1) execjs (>= 0.3.0, < 3) unicode-display_width (2.6.0) unobtrusive_flash (3.3.1) From ed1a8299645ab052c7297f1c8ba854b7e1d82c65 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Tue, 8 Oct 2024 10:05:51 +0000 Subject: [PATCH 144/325] Update recaptcha to version 5.17.0 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index c4b343984..7a03e3b50 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -436,7 +436,7 @@ GEM zeitwerk (~> 2.5) rainbow (3.1.1) rake (13.2.1) - recaptcha (5.16.0) + recaptcha (5.17.0) redcarpet (3.6.0) regexp_parser (2.9.2) request_store (1.7.0) From 2d7ece12c1ab5ced2dd414a0293db4c4b7049e86 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Tue, 8 Oct 2024 12:15:54 +0000 Subject: [PATCH 145/325] Update caxlsx_rails to version 0.6.4 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index aa9c1ecca..2ac7ed4d8 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -130,7 +130,7 @@ GEM marcel (~> 1.0) nokogiri (~> 1.10, >= 1.10.4) rubyzip (>= 1.3.0, < 3) - caxlsx_rails (0.6.3) + caxlsx_rails (0.6.4) actionpack (>= 3.1) caxlsx (>= 3.0) chartkick (5.0.7) From a2560f6ec637bc94bdf64fb247e370e2fee8572c Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Wed, 9 Oct 2024 10:25:58 +0000 Subject: [PATCH 146/325] Update tilt to version 2.4.0 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 2ac7ed4d8..bfd8a444d 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -562,7 +562,7 @@ GEM sysexits (1.2.0) temple (0.10.3) thor (1.3.2) - tilt (2.3.0) + tilt (2.4.0) timecop (0.9.8) timeout (0.4.1) transitions (1.3.0) From c9deeac3b25a3fa0f83b3e01cd3050aab7aedfa6 Mon Sep 17 00:00:00 2001 From: Henne Vogelsang Date: Mon, 28 Oct 2024 14:07:53 +0100 Subject: [PATCH 147/325] Adapt Dockerfile to osem/base changes --- Dockerfile | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/Dockerfile b/Dockerfile index 9e18612e9..f6953d55a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ FROM registry.opensuse.org/opensuse/infrastructure/dale/containers/osem/base:latest -ARG CONTAINER_USERID +ARG CONTAINER_USERID=1000 # Configure our user RUN usermod -u $CONTAINER_USERID osem @@ -8,19 +8,16 @@ RUN usermod -u $CONTAINER_USERID osem # changes and all the subsequent stages (a.k.a. the bundle install call below) # have to be rebuild. Otherwise, after the first build of this image, # docker would use it's cache for this and the following stages. -COPY Gemfile /osem/ -COPY Gemfile.lock /osem/ +ADD Gemfile /osem/Gemfile +ADD Gemfile.lock /osem/Gemfile.lock RUN chown -R osem /osem -# Continue as user +WORKDIR /osem USER osem -WORKDIR /osem/ -# Install our bundle -RUN bundle config set --local path 'vendor/bundle'; \ - bundle install --jobs=4 --retry=3 - -# Install our process manager -RUN sudo gem install foreman +# Install our bundle & process manager +RUN bundle install --jobs=3 --retry=3; \ + gem install foreman +# Run our command CMD ["foreman", "start"] From 8aa81319660630af1a9967a15da6cd2a433748f4 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Mon, 28 Oct 2024 16:09:23 +0000 Subject: [PATCH 148/325] Update rexml to version 3.3.9 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 2ac7ed4d8..152a63a79 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -444,7 +444,7 @@ GEM responders (3.1.1) actionpack (>= 5.2) railties (>= 5.2) - rexml (3.3.8) + rexml (3.3.9) rolify (6.0.1) rqrcode (2.2.0) chunky_png (~> 1.0) From cd14102d0265f9ab6ecb5541ec57d32f13352eaf Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Wed, 6 Nov 2024 07:16:46 +0000 Subject: [PATCH 149/325] Update Ruby to version 3.3.6 --- .ruby-version | 2 +- Gemfile.lock | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.ruby-version b/.ruby-version index fa7adc7ac..9c25013db 100644 --- a/.ruby-version +++ b/.ruby-version @@ -1 +1 @@ -3.3.5 +3.3.6 diff --git a/Gemfile.lock b/Gemfile.lock index 152a63a79..6f6e07aaa 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -707,7 +707,7 @@ DEPENDENCIES whenever RUBY VERSION - ruby 3.3.5 + ruby 3.3.6 BUNDLED WITH 2.5.9 From bda376142e69b07a2c142cc09b4c535f5d53e9b6 Mon Sep 17 00:00:00 2001 From: Henne Vogelsang Date: Fri, 22 Nov 2024 13:41:08 +0100 Subject: [PATCH 150/325] Drop version setting from docker-compose conf --- docker-compose.override.yml.example | 2 -- docker-compose.yml | 2 -- docker-compose.yml.production-example | 2 -- 3 files changed, 6 deletions(-) diff --git a/docker-compose.override.yml.example b/docker-compose.override.yml.example index 2d816375b..b33038070 100644 --- a/docker-compose.override.yml.example +++ b/docker-compose.override.yml.example @@ -1,5 +1,3 @@ -version: "2.4" - services: osem: build: diff --git a/docker-compose.yml b/docker-compose.yml index 82587a202..d175bfc1e 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,5 +1,3 @@ -version: "2.4" - services: database: image: postgres:16-alpine diff --git a/docker-compose.yml.production-example b/docker-compose.yml.production-example index 730d56ce7..91cd051cf 100644 --- a/docker-compose.yml.production-example +++ b/docker-compose.yml.production-example @@ -1,5 +1,3 @@ -version: "2.4" - services: production_database: image: postgres:12-alpine From 81cdec6633740c51b49b7acab7a7d5624dbf7208 Mon Sep 17 00:00:00 2001 From: Henne Vogelsang Date: Fri, 22 Nov 2024 14:15:05 +0100 Subject: [PATCH 151/325] First remove reference, then drop table... --- db/migrate/20181229233812_drop_organizations.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/db/migrate/20181229233812_drop_organizations.rb b/db/migrate/20181229233812_drop_organizations.rb index dd1be5f2c..3a5d4cd53 100644 --- a/db/migrate/20181229233812_drop_organizations.rb +++ b/db/migrate/20181229233812_drop_organizations.rb @@ -1,11 +1,11 @@ class DropOrganizations < ActiveRecord::Migration[7.0] def change + remove_reference :conferences, :organization, index: true + drop_table :organizations do |t| t.string :name, null: false t.text :description t.string :picture end - - remove_reference :conferences, :organization, index: true end end From 2c9e600e5ce1951c4c0806beed287612d38b5186 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Mon, 2 Dec 2024 10:38:08 +0000 Subject: [PATCH 152/325] Update rubocop-capybara to version 2.21.0 --- Gemfile.lock | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 6f6e07aaa..98bc09e99 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -250,7 +250,7 @@ GEM thor (>= 0.14, < 2.0) jquery-ui-rails (6.0.1) railties (>= 3.2.16) - json (2.7.2) + json (2.8.2) json-schema (4.3.0) addressable (>= 2.8) jsonapi-renderer (0.2.2) @@ -360,7 +360,7 @@ GEM activerecord (>= 6.1) request_store (~> 1.4) parallel (1.26.3) - parser (3.3.5.0) + parser (3.3.6.0) ast (~> 2.4.1) racc pdf-core (0.10.0) @@ -438,7 +438,7 @@ GEM rake (13.2.1) recaptcha (5.17.0) redcarpet (3.6.0) - regexp_parser (2.9.2) + regexp_parser (2.9.3) request_store (1.7.0) rack (>= 1.4) responders (3.1.1) @@ -471,19 +471,19 @@ GEM rspec-mocks (~> 3.13) rspec-support (~> 3.13) rspec-support (3.13.1) - rubocop (1.66.1) + rubocop (1.69.0) json (~> 2.3) language_server-protocol (>= 3.17.0) parallel (~> 1.10) parser (>= 3.3.0.2) rainbow (>= 2.2.2, < 4.0) regexp_parser (>= 2.4, < 3.0) - rubocop-ast (>= 1.32.2, < 2.0) + rubocop-ast (>= 1.36.1, < 2.0) ruby-progressbar (~> 1.7) - unicode-display_width (>= 2.4.0, < 3.0) - rubocop-ast (1.32.3) + unicode-display_width (>= 2.4.0, < 4.0) + rubocop-ast (1.36.2) parser (>= 3.3.1.0) - rubocop-capybara (2.20.0) + rubocop-capybara (2.21.0) rubocop (~> 1.41) rubocop-factory_bot (2.26.1) rubocop (~> 1.61) @@ -575,7 +575,9 @@ GEM concurrent-ruby (~> 1.0) uglifier (4.2.1) execjs (>= 0.3.0, < 3) - unicode-display_width (2.6.0) + unicode-display_width (3.1.2) + unicode-emoji (~> 4.0, >= 4.0.4) + unicode-emoji (4.0.4) unobtrusive_flash (3.3.1) railties uri (0.13.0) From 928e590a47580d4b4989868038d8d148a96750ef Mon Sep 17 00:00:00 2001 From: Henne Vogelsang Date: Fri, 22 Nov 2024 13:30:45 +0100 Subject: [PATCH 153/325] Fix column limits Has set a limit of 0, which makes little sense... --- .../20241121114727_change_comment_subject_limit.rb | 9 +++++++++ db/schema.rb | 4 ++-- 2 files changed, 11 insertions(+), 2 deletions(-) create mode 100644 db/migrate/20241121114727_change_comment_subject_limit.rb diff --git a/db/migrate/20241121114727_change_comment_subject_limit.rb b/db/migrate/20241121114727_change_comment_subject_limit.rb new file mode 100644 index 000000000..ec4865e35 --- /dev/null +++ b/db/migrate/20241121114727_change_comment_subject_limit.rb @@ -0,0 +1,9 @@ +class ChangeCommentSubjectLimit < ActiveRecord::Migration[7.0] + def up + change_column :comments, :subject, :string, limit: 255 + end + + def down + raise ActiveRecord::IrreversibleMigration.new('Cannot reverse migration.') + end +end diff --git a/db/schema.rb b/db/schema.rb index ab00f623e..298e77a37 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema[7.0].define(version: 2018_12_29_233813) do +ActiveRecord::Schema[7.0].define(version: 2024_11_21_114727) do # These are extensions that must be enabled in order to support this database enable_extension "plpgsql" @@ -62,7 +62,7 @@ t.integer "user_id" t.datetime "created_at" t.datetime "updated_at" - t.string "subject" + t.string "subject", limit: 255 t.integer "parent_id" t.integer "lft" t.integer "rgt" From 68e8203f2710c60b4fbfb1d4b6a401b8a0d19466 Mon Sep 17 00:00:00 2001 From: Henne Vogelsang Date: Mon, 2 Dec 2024 11:43:43 +0100 Subject: [PATCH 154/325] Autocorrect - Lint/SafeNavigationConsistency - Capybara/NegationMatcher --- app/models/conference.rb | 6 +-- spec/features/cfp_ability_spec.rb | 24 +++++------ spec/features/info_desk_ability_spec.rb | 42 +++++++++---------- spec/features/organizer_ability_spec.rb | 2 +- spec/features/sponsor_spec.rb | 2 +- spec/features/track_organizer_ability_spec.rb | 38 ++++++++--------- 6 files changed, 57 insertions(+), 57 deletions(-) diff --git a/app/models/conference.rb b/app/models/conference.rb index 8c83f2860..bb0285744 100644 --- a/app/models/conference.rb +++ b/app/models/conference.rb @@ -156,7 +156,7 @@ def registration_dates_given? def get_submissions_per_week result = [] - if program&.cfp && program&.events + if program&.cfp && program.events submissions = program.events.select(:week).group(:week).order(:week).count start_week = program.cfp.start_week weeks = program.cfp.weeks @@ -172,7 +172,7 @@ def get_submissions_per_week # ====Returns # * +Array+ -> e.g. 'Submitted' => [0, 3, 3, 5] -> first week 0 events, second week 3 events. def get_submissions_data - return [] unless program&.cfp && program&.events + return [] unless program&.cfp && program.events start_week = program.cfp.start_week get_events_per_week_by_state.collect do |state, values| @@ -265,7 +265,7 @@ def registration_weeks result = 0 weeks = 0 if registration_period&.start_date && - registration_period&.end_date + registration_period.end_date weeks = Date.new(registration_period.start_date.year, 12, 31) .strftime('%W').to_i diff --git a/spec/features/cfp_ability_spec.rb b/spec/features/cfp_ability_spec.rb index 2dd059cb9..5c92250dc 100644 --- a/spec/features/cfp_ability_spec.rb +++ b/spec/features/cfp_ability_spec.rb @@ -18,11 +18,11 @@ expect(current_path).to eq(admin_conference_path(conference.short_title)) expect(page).to have_selector('li.nav-header.nav-header-bigger a', text: 'Dashboard') - expect(page).to_not have_link('Basics', href: "/admin/conferences/#{conference.short_title}/edit") + expect(page).to have_no_link('Basics', href: "/admin/conferences/#{conference.short_title}/edit") expect(page).to have_text('Basics') - expect(page).to_not have_link('Contact', href: "/admin/conferences/#{conference.short_title}/contact/edit") + expect(page).to have_no_link('Contact', href: "/admin/conferences/#{conference.short_title}/contact/edit") expect(page).to have_link('Commercials', href: "/admin/conferences/#{conference.short_title}/commercials") - expect(page).to_not have_link('Splashpage', href: "/admin/conferences/#{conference.short_title}/splashpage") + expect(page).to have_no_link('Splashpage', href: "/admin/conferences/#{conference.short_title}/splashpage") expect(page).to have_link('Venue', href: "/admin/conferences/#{conference.short_title}/venue") expect(page).to have_link('Rooms', href: "/admin/conferences/#{conference.short_title}/venue/rooms") expect(page).to have_link('Program', href: "/admin/conferences/#{conference.short_title}/program") @@ -33,18 +33,18 @@ expect(page).to have_link('Difficulty Levels', href: "/admin/conferences/#{conference.short_title}/program/difficulty_levels") expect(page).to have_link('Schedules', href: "/admin/conferences/#{conference.short_title}/schedules") expect(page).to have_link('Reports', href: "/admin/conferences/#{conference.short_title}/program/reports") - expect(page).to_not have_link('Registrations', href: "/admin/conferences/#{conference.short_title}/registrations") - expect(page).to_not have_link('Questions', href: "/admin/conferences/#{conference.short_title}/questions") + expect(page).to have_no_link('Registrations', href: "/admin/conferences/#{conference.short_title}/registrations") + expect(page).to have_no_link('Questions', href: "/admin/conferences/#{conference.short_title}/questions") expect(page).to have_link('E-Mails', href: "/admin/conferences/#{conference.short_title}/emails") - expect(page).to_not have_link('Lodgings', href: "/admin/conferences/#{conference.short_title}/lodgings") - expect(page).to_not have_link('Registration Period', href: "/admin/conferences/#{conference.short_title}/registration_period") - expect(page).to_not have_text('Donations') - expect(page).to_not have_link('Sponsorship Levels', href: "/admin/conferences/#{conference.short_title}/sponsorship_levels") - expect(page).to_not have_link('Sponsors', href: "/admin/conferences/#{conference.short_title}/sponsors") - expect(page).to_not have_link('Tickets', href: "/admin/conferences/#{conference.short_title}/tickets") + expect(page).to have_no_link('Lodgings', href: "/admin/conferences/#{conference.short_title}/lodgings") + expect(page).to have_no_link('Registration Period', href: "/admin/conferences/#{conference.short_title}/registration_period") + expect(page).to have_no_text('Donations') + expect(page).to have_no_link('Sponsorship Levels', href: "/admin/conferences/#{conference.short_title}/sponsorship_levels") + expect(page).to have_no_link('Sponsors', href: "/admin/conferences/#{conference.short_title}/sponsors") + expect(page).to have_no_link('Tickets', href: "/admin/conferences/#{conference.short_title}/tickets") expect(page).to have_link('Roles', href: "/admin/conferences/#{conference.short_title}/roles") expect(page).to have_link('Resources', href: "/admin/conferences/#{conference.short_title}/resources") - expect(page).to_not have_link('New Conference', href: '/admin/conferences/new') + expect(page).to have_no_link('New Conference', href: '/admin/conferences/new') visit admin_conference_venue_rooms_path(conference.short_title) expect(current_path).to eq(admin_conference_venue_rooms_path(conference.short_title)) diff --git a/spec/features/info_desk_ability_spec.rb b/spec/features/info_desk_ability_spec.rb index daf89066b..a65cdabc9 100644 --- a/spec/features/info_desk_ability_spec.rb +++ b/spec/features/info_desk_ability_spec.rb @@ -17,34 +17,34 @@ visit admin_conference_path(conference.short_title) expect(current_path).to eq(admin_conference_path(conference.short_title)) - expect(page).to_not have_link('Basics', href: "/admin/conferences/#{conference.short_title}/edit") + expect(page).to have_no_link('Basics', href: "/admin/conferences/#{conference.short_title}/edit") expect(page).to have_text('Basics') - expect(page).to_not have_link('Contact', href: "/admin/conferences/#{conference.short_title}/contact/edit") + expect(page).to have_no_link('Contact', href: "/admin/conferences/#{conference.short_title}/contact/edit") expect(page).to have_link('Commercials', href: "/admin/conferences/#{conference.short_title}/commercials") - expect(page).to_not have_link('Splashpage', href: "/admin/conferences/#{conference.short_title}/splashpage") - expect(page).to_not have_link('Lodgings', href: "/admin/conferences/#{conference.short_title}/lodgings") - expect(page).to_not have_link('Registration Period', href: "/admin/conferences/#{conference.short_title}/registration_period") - expect(page).to_not have_text('Donations') - expect(page).to_not have_link('Sponsorship Levels', href: "/admin/conferences/#{conference.short_title}/sponsorship_levels") - expect(page).to_not have_link('Sponsors', href: "/admin/conferences/#{conference.short_title}/sponsors") - expect(page).to_not have_link('Tickets', href: "/admin/conferences/#{conference.short_title}/tickets") + expect(page).to have_no_link('Splashpage', href: "/admin/conferences/#{conference.short_title}/splashpage") + expect(page).to have_no_link('Lodgings', href: "/admin/conferences/#{conference.short_title}/lodgings") + expect(page).to have_no_link('Registration Period', href: "/admin/conferences/#{conference.short_title}/registration_period") + expect(page).to have_no_text('Donations') + expect(page).to have_no_link('Sponsorship Levels', href: "/admin/conferences/#{conference.short_title}/sponsorship_levels") + expect(page).to have_no_link('Sponsors', href: "/admin/conferences/#{conference.short_title}/sponsors") + expect(page).to have_no_link('Tickets', href: "/admin/conferences/#{conference.short_title}/tickets") expect(page).to have_link('Roles', href: "/admin/conferences/#{conference.short_title}/roles") expect(page).to have_link('Resources', href: "/admin/conferences/#{conference.short_title}/resources") expect(page).to have_selector('li.nav-header.nav-header-bigger a', text: 'Dashboard') - expect(page).to_not have_link('Venue', href: "/admin/conferences/#{conference.short_title}/venue") - expect(page).to_not have_link('Rooms', href: "/admin/conferences/#{conference.short_title}/venue/rooms") - expect(page).to_not have_link('Program', href: "/admin/conferences/#{conference.short_title}/program") - expect(page).to_not have_link('Call for Papers', href: "/admin/conferences/#{conference.short_title}/program/cfps") - expect(page).to_not have_link('Events', href: "/admin/conferences/#{conference.short_title}/program/events") - expect(page).to_not have_link('Tracks', href: "/admin/conferences/#{conference.short_title}/program/tracks") - expect(page).to_not have_link('Event Types', href: "/admin/conferences/#{conference.short_title}/program/event_types") - expect(page).to_not have_link('Difficulty Levels', href: "/admin/conferences/#{conference.short_title}/program/difficulty_levels") - expect(page).to_not have_link('Schedules', href: "/admin/conferences/#{conference.short_title}/schedules") - expect(page).to_not have_link('Reports', href: "/admin/conferences/#{conference.short_title}/program/reports") + expect(page).to have_no_link('Venue', href: "/admin/conferences/#{conference.short_title}/venue") + expect(page).to have_no_link('Rooms', href: "/admin/conferences/#{conference.short_title}/venue/rooms") + expect(page).to have_no_link('Program', href: "/admin/conferences/#{conference.short_title}/program") + expect(page).to have_no_link('Call for Papers', href: "/admin/conferences/#{conference.short_title}/program/cfps") + expect(page).to have_no_link('Events', href: "/admin/conferences/#{conference.short_title}/program/events") + expect(page).to have_no_link('Tracks', href: "/admin/conferences/#{conference.short_title}/program/tracks") + expect(page).to have_no_link('Event Types', href: "/admin/conferences/#{conference.short_title}/program/event_types") + expect(page).to have_no_link('Difficulty Levels', href: "/admin/conferences/#{conference.short_title}/program/difficulty_levels") + expect(page).to have_no_link('Schedules', href: "/admin/conferences/#{conference.short_title}/schedules") + expect(page).to have_no_link('Reports', href: "/admin/conferences/#{conference.short_title}/program/reports") expect(page).to have_link('Registrations', href: "/admin/conferences/#{conference.short_title}/registrations") expect(page).to have_link('Questions', href: "/admin/conferences/#{conference.short_title}/questions") - expect(page).to_not have_link('E-Mails', href: "/admin/conferences/#{conference.short_title}/emails") - expect(page).to_not have_link('New Conference', href: '/admin/conferences/new') + expect(page).to have_no_link('E-Mails', href: "/admin/conferences/#{conference.short_title}/emails") + expect(page).to have_no_link('New Conference', href: '/admin/conferences/new') visit edit_admin_conference_path(conference.short_title) expect(current_path).to eq(root_path) diff --git a/spec/features/organizer_ability_spec.rb b/spec/features/organizer_ability_spec.rb index 5547e7992..74d15cc17 100644 --- a/spec/features/organizer_ability_spec.rb +++ b/spec/features/organizer_ability_spec.rb @@ -46,7 +46,7 @@ expect(page).to have_link('E-Mails', href: "/admin/conferences/#{conference.short_title}/emails") expect(page).to have_link('Roles', href: "/admin/conferences/#{conference.short_title}/roles") expect(page).to have_link('Resources', href: "/admin/conferences/#{conference.short_title}/resources") - expect(page).to_not have_link('New Conference', href: '/admin/conferences/new') + expect(page).to have_no_link('New Conference', href: '/admin/conferences/new') visit admin_conference_path(other_conference.short_title) expect(page).to have_link('Add venue', href: "/admin/conferences/#{other_conference.short_title}/venue/new") diff --git a/spec/features/sponsor_spec.rb b/spec/features/sponsor_spec.rb index e64946eac..9366c11fa 100644 --- a/spec/features/sponsor_spec.rb +++ b/spec/features/sponsor_spec.rb @@ -47,7 +47,7 @@ end page.find('#flash') expect(flash).to eq('Sponsor successfully deleted.') - expect(page).to_not have_selector('table#sponsors') + expect(page).to have_no_selector('table#sponsors') end end diff --git a/spec/features/track_organizer_ability_spec.rb b/spec/features/track_organizer_ability_spec.rb index 8ad930eb5..6975135d1 100644 --- a/spec/features/track_organizer_ability_spec.rb +++ b/spec/features/track_organizer_ability_spec.rb @@ -19,33 +19,33 @@ expect(current_path).to eq(admin_conference_path(conference.short_title)) expect(page).to have_selector('li.nav-header.nav-header-bigger a', text: 'Dashboard') - expect(page).to_not have_link('Basics', href: "/admin/conferences/#{conference.short_title}/edit") + expect(page).to have_no_link('Basics', href: "/admin/conferences/#{conference.short_title}/edit") expect(page).to have_text('Basics') - expect(page).to_not have_link('Contact', href: "/admin/conferences/#{conference.short_title}/contact/edit") + expect(page).to have_no_link('Contact', href: "/admin/conferences/#{conference.short_title}/contact/edit") expect(page).to have_link('Commercials', href: "/admin/conferences/#{conference.short_title}/commercials") - expect(page).to_not have_link('Splashpage', href: "/admin/conferences/#{conference.short_title}/splashpage") - expect(page).to_not have_link('Venue', href: "/admin/conferences/#{conference.short_title}/venue") - expect(page).to_not have_link('Rooms', href: "/admin/conferences/#{conference.short_title}/venue/rooms") - expect(page).to_not have_link('Lodgings', href: "/admin/conferences/#{conference.short_title}/lodgings") + expect(page).to have_no_link('Splashpage', href: "/admin/conferences/#{conference.short_title}/splashpage") + expect(page).to have_no_link('Venue', href: "/admin/conferences/#{conference.short_title}/venue") + expect(page).to have_no_link('Rooms', href: "/admin/conferences/#{conference.short_title}/venue/rooms") + expect(page).to have_no_link('Lodgings', href: "/admin/conferences/#{conference.short_title}/lodgings") expect(page).to have_link('Program', href: "/admin/conferences/#{conference.short_title}/program") - expect(page).to_not have_link('Call for Papers', href: "/admin/conferences/#{conference.short_title}/program/cfps") + expect(page).to have_no_link('Call for Papers', href: "/admin/conferences/#{conference.short_title}/program/cfps") expect(page).to have_link('Events', href: "/admin/conferences/#{conference.short_title}/program/events") expect(page).to have_link('Tracks', href: "/admin/conferences/#{conference.short_title}/program/tracks") - expect(page).to_not have_link('Event Types', href: "/admin/conferences/#{conference.short_title}/program/event_types") - expect(page).to_not have_link('Difficulty Levels', href: "/admin/conferences/#{conference.short_title}/program/difficulty_levels") + expect(page).to have_no_link('Event Types', href: "/admin/conferences/#{conference.short_title}/program/event_types") + expect(page).to have_no_link('Difficulty Levels', href: "/admin/conferences/#{conference.short_title}/program/difficulty_levels") expect(page).to have_link('Schedules', href: "/admin/conferences/#{conference.short_title}/schedules") expect(page).to have_link('Reports', href: "/admin/conferences/#{conference.short_title}/program/reports") - expect(page).to_not have_link('Registrations', href: "/admin/conferences/#{conference.short_title}/registrations") - expect(page).to_not have_link('Registration Period', href: "/admin/conferences/#{conference.short_title}/registration_period") - expect(page).to_not have_link('Questions', href: "/admin/conferences/#{conference.short_title}/questions") - expect(page).to_not have_text('Donations') - expect(page).to_not have_link('Sponsorship Levels', href: "/admin/conferences/#{conference.short_title}/sponsorship_levels") - expect(page).to_not have_link('Sponsors', href: "/admin/conferences/#{conference.short_title}/sponsors") - expect(page).to_not have_link('Tickets', href: "/admin/conferences/#{conference.short_title}/tickets") - expect(page).to_not have_link('E-Mails', href: "/admin/conferences/#{conference.short_title}/emails") + expect(page).to have_no_link('Registrations', href: "/admin/conferences/#{conference.short_title}/registrations") + expect(page).to have_no_link('Registration Period', href: "/admin/conferences/#{conference.short_title}/registration_period") + expect(page).to have_no_link('Questions', href: "/admin/conferences/#{conference.short_title}/questions") + expect(page).to have_no_text('Donations') + expect(page).to have_no_link('Sponsorship Levels', href: "/admin/conferences/#{conference.short_title}/sponsorship_levels") + expect(page).to have_no_link('Sponsors', href: "/admin/conferences/#{conference.short_title}/sponsors") + expect(page).to have_no_link('Tickets', href: "/admin/conferences/#{conference.short_title}/tickets") + expect(page).to have_no_link('E-Mails', href: "/admin/conferences/#{conference.short_title}/emails") expect(page).to have_link('Roles', href: "/admin/conferences/#{conference.short_title}/roles") - expect(page).to_not have_link('Resources', href: "/admin/conferences/#{conference.short_title}/resources") - expect(page).to_not have_link('New Conference', href: '/admin/conferences/new') + expect(page).to have_no_link('Resources', href: "/admin/conferences/#{conference.short_title}/resources") + expect(page).to have_no_link('New Conference', href: '/admin/conferences/new') visit edit_admin_conference_path(conference.short_title) expect(current_path).to eq root_path From e1e7c1858674f133ff120a7e86d535c49336b579 Mon Sep 17 00:00:00 2001 From: Henne Vogelsang Date: Mon, 2 Dec 2024 11:46:33 +0100 Subject: [PATCH 155/325] Autocorrect Style/SafeNavigation --- app/models/conference.rb | 5 +---- app/models/event_schedule.rb | 4 ++-- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/app/models/conference.rb b/app/models/conference.rb index bb0285744..90a45345e 100644 --- a/app/models/conference.rb +++ b/app/models/conference.rb @@ -196,10 +196,7 @@ def get_submissions_data # ====Returns # * +Array+ -> e.g. [0, 3, 3, 5] -> first week 0, second week 3 registrations def get_registrations_per_week - return [] unless registrations && - registration_period && - registration_period.start_date && - registration_period.end_date + return [] unless registrations && registration_period&.start_date && registration_period.end_date reg = registrations.group(:week).order(:week).count start_week = get_registration_start_week diff --git a/app/models/event_schedule.rb b/app/models/event_schedule.rb index 5358f0bc9..8c5e9753c 100644 --- a/app/models/event_schedule.rb +++ b/app/models/event_schedule.rb @@ -82,13 +82,13 @@ def replaced_event_schedules end def start_after_end_hour - return unless event && start_time && event.program && event.program.conference && event.program.conference.end_hour + return unless event && start_time && event.program&.conference && event.program.conference.end_hour errors.add(:start_time, "can't be after the conference end hour (#{event.program.conference.end_hour})") if start_time.hour >= event.program.conference.end_hour end def start_before_start_hour - return unless event && start_time && event.program && event.program.conference && event.program.conference.start_hour + return unless event && start_time && event.program&.conference && event.program.conference.start_hour errors.add(:start_time, "can't be before the conference start hour (#{event.program.conference.start_hour})") if start_time.hour < event.program.conference.start_hour end From 5e439aa07b21170a49581af9897fc97fa001cd3f Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Mon, 2 Dec 2024 11:35:35 +0000 Subject: [PATCH 156/325] Update rubocop-rails to version 2.27.0 --- Gemfile.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index acbb799a9..b1b6024ed 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -292,7 +292,7 @@ GEM mini_magick (4.12.0) mini_mime (1.1.5) mini_portile2 (2.8.7) - minitest (5.25.1) + minitest (5.25.2) monetize (1.13.0) money (~> 6.12) money (6.19.0) @@ -390,7 +390,7 @@ GEM puma (6.4.3) nio4r (~> 2.0) racc (1.8.1) - rack (2.2.9) + rack (2.2.10) rack-openid (1.4.2) rack (>= 1.1.0) ruby-openid (>= 2.1.8) @@ -490,10 +490,10 @@ GEM rubocop-performance (1.21.1) rubocop (>= 1.48.1, < 2.0) rubocop-ast (>= 1.31.1, < 2.0) - rubocop-rails (2.24.1) + rubocop-rails (2.27.0) activesupport (>= 4.2.0) rack (>= 1.1) - rubocop (>= 1.33.0, < 2.0) + rubocop (>= 1.52.0, < 2.0) rubocop-ast (>= 1.31.1, < 2.0) rubocop-rspec (2.29.2) rubocop (~> 1.40) From e0b0b01e06b90cd3ff0feb322fb20e844b352076 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Mon, 2 Dec 2024 11:38:25 +0000 Subject: [PATCH 157/325] Update rubocop-rspec_rails to version 2.30.0 --- Gemfile.lock | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index acbb799a9..11f8a6c37 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -485,8 +485,6 @@ GEM parser (>= 3.3.1.0) rubocop-capybara (2.21.0) rubocop (~> 1.41) - rubocop-factory_bot (2.26.1) - rubocop (~> 1.61) rubocop-performance (1.21.1) rubocop (>= 1.48.1, < 2.0) rubocop-ast (>= 1.31.1, < 2.0) @@ -495,13 +493,11 @@ GEM rack (>= 1.1) rubocop (>= 1.33.0, < 2.0) rubocop-ast (>= 1.31.1, < 2.0) - rubocop-rspec (2.29.2) - rubocop (~> 1.40) - rubocop-capybara (~> 2.17) - rubocop-factory_bot (~> 2.22) - rubocop-rspec_rails (~> 2.28) - rubocop-rspec_rails (2.28.3) - rubocop (~> 1.40) + rubocop-rspec (3.2.0) + rubocop (~> 1.61) + rubocop-rspec_rails (2.30.0) + rubocop (~> 1.61) + rubocop-rspec (~> 3, >= 3.0.1) ruby-oembed (0.17.0) ruby-openid (2.9.2) ruby-progressbar (1.13.0) From ac0763ed1d5c41c7a348b88138ae9b5968725df5 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Mon, 2 Dec 2024 11:43:17 +0000 Subject: [PATCH 158/325] Update timecop to version 0.9.10 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index acbb799a9..92458796f 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -563,7 +563,7 @@ GEM temple (0.10.3) thor (1.3.2) tilt (2.4.0) - timecop (0.9.8) + timecop (0.9.10) timeout (0.4.1) transitions (1.3.0) ttfunk (1.8.0) From f89de13860c9dba589d7fda523cc36fd9cb30381 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Mon, 2 Dec 2024 11:46:20 +0000 Subject: [PATCH 159/325] Update rspec-mocks to version 3.13.2 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index acbb799a9..8b6805e31 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -459,7 +459,7 @@ GEM rspec-expectations (3.13.3) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.13.0) - rspec-mocks (3.13.1) + rspec-mocks (3.13.2) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.13.0) rspec-rails (6.1.4) From 145c7b8279ba1c82b6911561a964f4889b1af41d Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Mon, 2 Dec 2024 11:50:40 +0000 Subject: [PATCH 160/325] Update rspec-activemodel-mocks to version 1.2.1 --- Gemfile.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index acbb799a9..7dd6d5211 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -292,7 +292,7 @@ GEM mini_magick (4.12.0) mini_mime (1.1.5) mini_portile2 (2.8.7) - minitest (5.25.1) + minitest (5.25.2) monetize (1.13.0) money (~> 6.12) money (6.19.0) @@ -450,7 +450,7 @@ GEM chunky_png (~> 1.0) rqrcode_core (~> 1.0) rqrcode_core (1.2.0) - rspec-activemodel-mocks (1.2.0) + rspec-activemodel-mocks (1.2.1) activemodel (>= 3.0) activesupport (>= 3.0) rspec-mocks (>= 2.99, < 4.0) @@ -459,7 +459,7 @@ GEM rspec-expectations (3.13.3) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.13.0) - rspec-mocks (3.13.1) + rspec-mocks (3.13.2) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.13.0) rspec-rails (6.1.4) From e1bb0102c959e2aab1bc1364d2e5267408e671ae Mon Sep 17 00:00:00 2001 From: Henne Vogelsang Date: Mon, 2 Dec 2024 12:49:06 +0100 Subject: [PATCH 161/325] Bundle all the rubocop plugins we supposedly use Requiring them in rubocopy.yml with them not being part of the bundle starts to fail now. --- Gemfile | 2 ++ Gemfile.lock | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/Gemfile b/Gemfile index 0db8e5fa7..fd24ba87a 100644 --- a/Gemfile +++ b/Gemfile @@ -197,6 +197,8 @@ group :development do gem 'rubocop', require: false gem 'rubocop-rspec', require: false gem 'rubocop-rails', require: false + gem 'rubocop-rspec_rails', require: false + gem 'rubocop-factory_bot', require: false gem 'rubocop-capybara', require: false gem 'rubocop-performance', require: false gem 'haml_lint' diff --git a/Gemfile.lock b/Gemfile.lock index 11f8a6c37..e128c5863 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -485,6 +485,8 @@ GEM parser (>= 3.3.1.0) rubocop-capybara (2.21.0) rubocop (~> 1.41) + rubocop-factory_bot (2.26.1) + rubocop (~> 1.61) rubocop-performance (1.21.1) rubocop (>= 1.48.1, < 2.0) rubocop-ast (>= 1.31.1, < 2.0) @@ -682,9 +684,11 @@ DEPENDENCIES rspec-rails rubocop rubocop-capybara + rubocop-factory_bot rubocop-performance rubocop-rails rubocop-rspec + rubocop-rspec_rails ruby-oembed sass-rails (>= 4.0.2) selectize-rails From 4a092c6be6cf02b6fb82ad5b369b3f24d3c1dee8 Mon Sep 17 00:00:00 2001 From: Henne Vogelsang Date: Mon, 2 Dec 2024 12:50:10 +0100 Subject: [PATCH 162/325] Regenerate rubocop TODO --- .rubocop_todo.yml | 32 +++++++------------------------- 1 file changed, 7 insertions(+), 25 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 3b48cdaed..0d79098f0 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -1,12 +1,12 @@ # This configuration was generated by # `rubocop --auto-gen-config` -# on 2024-06-07 15:38:52 UTC using RuboCop version 1.64.1. +# on 2024-12-02 11:47:52 UTC using RuboCop version 1.66.1. # The point is for the user to remove these configuration records # one by one as the offenses are removed from the code base. # Note that changes in the inspected code, or installation of new # versions of RuboCop, may require this file to be generated again. -# Offense count: 4 +# Offense count: 5 # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: TreatCommentsAsGroupSeparators, ConsiderPunctuation, Include. # Include: **/*.gemfile, **/Gemfile, **/gems.rb @@ -133,7 +133,7 @@ Layout/EmptyLineAfterMagicComment: Exclude: - 'spec/models/conference_spec.rb' -# Offense count: 100 +# Offense count: 101 # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: EnforcedStyle. # SupportedStyles: empty_lines, no_empty_lines @@ -526,7 +526,7 @@ Metrics/BlockLength: Max: 202 # Offense count: 1 -# Configuration parameters: CountBlocks. +# Configuration parameters: CountBlocks, CountModifierForms. Metrics/BlockNesting: Max: 4 @@ -645,17 +645,12 @@ RSpec/AnyInstance: # Offense count: 5 # This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: AutoCorrect. RSpec/BeEmpty: Exclude: - 'spec/controllers/conference_registration_controller_spec.rb' - 'spec/models/conference_spec.rb' -# Offense count: 143 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: EnabledMethods. -RSpec/Capybara/FeatureMethods: - Enabled: false - # Offense count: 302 # Configuration parameters: Prefixes, AllowedPatterns. # Prefixes: when, with, without @@ -779,21 +774,6 @@ RSpec/ExpectChange: - 'spec/models/event_spec.rb' - 'spec/models/user_spec.rb' -# Offense count: 9 -# Configuration parameters: Include, CustomTransform, IgnoreMethods, SpecSuffixOnly. -# Include: **/*_spec*rb*, **/spec/**/* -RSpec/FilePath: - Exclude: - - 'spec/controllers/conference_registration_controller_spec.rb' - - 'spec/controllers/physical_ticket_controller_spec.rb' - - 'spec/features/email_spec.rb' - - 'spec/features/omniauth_spec.rb' - - 'spec/features/proposals_spec.rb' - - 'spec/features/ticket_purchases_spec.rb' - - 'spec/features/venues_spec.rb' - - 'spec/models/comment_spec.rb' - - 'spec/models/openid.rb' - # Offense count: 166 # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: EnforcedStyle. @@ -1003,6 +983,7 @@ RSpec/ReturnFromStub: # Offense count: 18 # This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: AutoCorrect. RSpec/ScatteredLet: Exclude: - 'spec/ability/ability_spec.rb' @@ -1010,6 +991,7 @@ RSpec/ScatteredLet: # Offense count: 2 # This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: AutoCorrect. RSpec/ScatteredSetup: Exclude: - 'spec/models/payment_spec.rb' From 5b49af755992377e62683f771a0c9591d945e244 Mon Sep 17 00:00:00 2001 From: Henne Vogelsang Date: Mon, 2 Dec 2024 13:15:26 +0100 Subject: [PATCH 163/325] Autocorrect Rails/EnumSyntax --- app/models/conference.rb | 2 +- app/models/payment.rb | 2 +- app/models/survey.rb | 2 +- app/models/survey_question.rb | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/app/models/conference.rb b/app/models/conference.rb index 90a45345e..8f3063800 100644 --- a/app/models/conference.rb +++ b/app/models/conference.rb @@ -96,7 +96,7 @@ def after_conference after_create :create_free_ticket after_update :delete_event_schedules - enum ticket_layout: [:portrait, :landscape] + enum :ticket_layout, [:portrait, :landscape] ## # Checks if the user is registered to the conference diff --git a/app/models/payment.rb b/app/models/payment.rb index e313f8dd0..4d28887eb 100644 --- a/app/models/payment.rb +++ b/app/models/payment.rb @@ -12,7 +12,7 @@ class Payment < ApplicationRecord validates :user_id, presence: true validates :conference_id, presence: true - enum status: { + enum :status, { unpaid: 0, success: 1, failure: 2 diff --git a/app/models/survey.rb b/app/models/survey.rb index 66783e90d..933fa9f62 100644 --- a/app/models/survey.rb +++ b/app/models/survey.rb @@ -5,7 +5,7 @@ class Survey < ActiveRecord::Base has_many :survey_questions, dependent: :destroy has_many :survey_submissions, dependent: :destroy - enum target: [:after_conference, :during_registration, :after_event] + enum :target, [:after_conference, :during_registration, :after_event] validates :title, presence: true ## diff --git a/app/models/survey_question.rb b/app/models/survey_question.rb index 748f70dd9..520e24dc1 100644 --- a/app/models/survey_question.rb +++ b/app/models/survey_question.rb @@ -5,7 +5,7 @@ class SurveyQuestion < ActiveRecord::Base has_many :survey_replies, dependent: :destroy # Order of this list should not be changed without proper action! - enum kind: [:boolean, :choice, :string, :text, :datetime, :numeric] + enum :kind, [:boolean, :choice, :string, :text, :datetime, :numeric] ICONS = { boolean: 'circle-dot', choice: 'square-check', string: 'pen-to-square', text: 'align-left', datetime: 'clock', numeric: 'hashtag' }.freeze From 4ad9d3257b6eca7086434d8757578eadf2cf57c8 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Mon, 2 Dec 2024 12:16:06 +0000 Subject: [PATCH 164/325] Update rspec-core to version 3.13.2 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 5ff076380..9a829427c 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -454,7 +454,7 @@ GEM activemodel (>= 3.0) activesupport (>= 3.0) rspec-mocks (>= 2.99, < 4.0) - rspec-core (3.13.1) + rspec-core (3.13.2) rspec-support (~> 3.13.0) rspec-expectations (3.13.3) diff-lcs (>= 1.2.0, < 2.0) From a274940b5de9d51d00c75fe873865d4f22c9eafd Mon Sep 17 00:00:00 2001 From: Henne Vogelsang Date: Mon, 2 Dec 2024 13:16:34 +0100 Subject: [PATCH 165/325] Autocorrect Rails/WhereRange --- app/models/conference.rb | 4 ++-- app/models/user.rb | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/app/models/conference.rb b/app/models/conference.rb index 8f3063800..2e63e4ee4 100644 --- a/app/models/conference.rb +++ b/app/models/conference.rb @@ -9,8 +9,8 @@ class Conference < ApplicationRecord resourcify :roles, dependent: :delete_all default_scope { order('start_date DESC') } - scope :upcoming, (-> { where('end_date >= ?', Date.current) }) - scope :past, (-> { where('end_date < ?', Date.current) }) + scope :upcoming, (-> { where(end_date: Date.current..) }) + scope :past, (-> { where(end_date: ...Date.current) }) has_paper_trail ignore: %i(updated_at guid revision events_per_week), meta: { conference_id: :id } diff --git a/app/models/user.rb b/app/models/user.rb index 993d48928..dace46551 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -44,7 +44,7 @@ def for_registration conference where('last_sign_in_at > ?', Date.today - 3.months).where(is_disabled: false) } scope :unconfirmed, -> { where('confirmed_at IS NULL') } - scope :dead, -> { where('last_sign_in_at < ?', Date.today - 1.year) } + scope :dead, -> { where(last_sign_in_at: ...(Date.today - 1.year)) } # Include default devise modules. Others available are: # :token_authenticatable, :confirmable, From a447ad90c4417bed69c91ff82816236932dacdd9 Mon Sep 17 00:00:00 2001 From: Henne Vogelsang Date: Mon, 2 Dec 2024 13:17:05 +0100 Subject: [PATCH 166/325] Autocorrect Rails/RootPathnameMethods --- spec/spec_helper.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index d5330db5b..710657400 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -35,7 +35,7 @@ # run twice. It is recommended that you do not name files matching this glob to # end with _spec.rb. You can configure this pattern with with the --pattern # option on the command line or in ~/.rspec, .rspec or `.rspec-local`. -Dir[Rails.root.join('spec/support/**/*.rb')].each { |f| require f } +Rails.root.glob('spec/support/**/*.rb').each { |f| require f } RSpec.configure do |config| # ## Mock Framework From e4ff0b8442d6ad564e14c97c4194d4401af3e35e Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Mon, 2 Dec 2024 12:20:31 +0000 Subject: [PATCH 167/325] Update pg to version 1.5.9 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 5ff076380..80f451123 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -372,7 +372,7 @@ GEM hashery (~> 2.0) ruby-rc4 ttfunk - pg (1.5.8) + pg (1.5.9) prawn (2.5.0) matrix (~> 0.4) pdf-core (~> 0.10.0) From b844197671aebe3ab7954d3b8d0ded3657111769 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Mon, 2 Dec 2024 12:35:57 +0000 Subject: [PATCH 168/325] Update factory_bot_rails to version 6.4.4 --- Gemfile.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index c5e3ab274..00c6752a8 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -182,10 +182,10 @@ GEM railties (>= 6.1) erubi (1.13.0) execjs (2.9.1) - 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.4.2) i18n (>= 1.8.11, < 2) @@ -276,7 +276,7 @@ GEM activesupport (>= 4) railties (>= 4) request_store (~> 1.0) - loofah (2.22.0) + loofah (2.23.1) crass (~> 1.0.2) nokogiri (>= 1.12.0) mail (2.8.1) @@ -291,7 +291,7 @@ GEM rake mini_magick (4.12.0) mini_mime (1.1.5) - mini_portile2 (2.8.7) + mini_portile2 (2.8.8) minitest (5.25.2) monetize (1.13.0) money (~> 6.12) @@ -603,7 +603,7 @@ GEM chronic (>= 0.6.3) xpath (3.2.0) nokogiri (~> 1.8) - zeitwerk (2.6.18) + zeitwerk (2.7.1) PLATFORMS ruby From 971380322d2c8678fe10460eadf55c7373eb7525 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Mon, 2 Dec 2024 12:35:59 +0000 Subject: [PATCH 169/325] Update nio4r to version 2.7.4 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index c5e3ab274..80f4b5b13 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -319,7 +319,7 @@ GEM net-protocol next_rails (1.3.0) colorize (>= 0.8.1) - nio4r (2.7.3) + nio4r (2.7.4) nokogiri (1.16.7) mini_portile2 (~> 2.8.2) racc (~> 1.4) From 9fb72916dc16a32a14d88c2ab7729d8f486182d0 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Mon, 2 Dec 2024 12:41:43 +0000 Subject: [PATCH 170/325] Update delayed_job to version 4.1.13 --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index c5e3ab274..bb2115deb 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -161,8 +161,8 @@ GEM database_cleaner-core (~> 2.0.0) database_cleaner-core (2.0.1) date (3.3.4) - delayed_job (4.1.12) - activesupport (>= 3.0, < 8.0) + delayed_job (4.1.13) + activesupport (>= 3.0, < 9.0) delayed_job_active_record (4.1.10) activerecord (>= 3.0, < 8.0) delayed_job (>= 3.0, < 5) From 01ad548042f084719e56f42cb201220fad51a11e Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Mon, 2 Dec 2024 12:50:35 +0000 Subject: [PATCH 171/325] Update hashdiff to version 1.1.2 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index c5e3ab274..d6590fb07 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -222,7 +222,7 @@ GEM rainbow rubocop (>= 1.0) sysexits (~> 1.1) - hashdiff (1.1.1) + hashdiff (1.1.2) hashery (2.1.2) hashie (5.0.0) htmlentities (4.3.4) From dda93d9e15e2c9a4474b0db7c4f1d7145a10ca5d Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Mon, 2 Dec 2024 15:45:59 +0000 Subject: [PATCH 172/325] Update mini_portile2 to version 2.8.8 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 706742efe..6b38ff267 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -291,7 +291,7 @@ GEM rake mini_magick (4.12.0) mini_mime (1.1.5) - mini_portile2 (2.8.7) + mini_portile2 (2.8.8) minitest (5.25.2) monetize (1.13.0) money (~> 6.12) From d8ffb9173a00096dba6166831477558beb4dfd5b Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Mon, 2 Dec 2024 15:51:59 +0000 Subject: [PATCH 173/325] Update acts_as_list to version 1.2.4 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 706742efe..faaf77de1 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -76,7 +76,7 @@ GEM activerecord (>= 4.0) activesupport (>= 4.0) awesome_nested_set (>= 3.0) - acts_as_list (1.2.2) + acts_as_list (1.2.4) activerecord (>= 6.1) activesupport (>= 6.1) addressable (2.8.7) From 12e8c01cf9432b65d2e8034a56a1e6b2161f5d84 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Mon, 2 Dec 2024 16:14:18 +0000 Subject: [PATCH 174/325] Update database_cleaner-active_record to version 2.2.0 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index d3c587a94..0e79a95c9 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -156,7 +156,7 @@ GEM dante (0.2.0) database_cleaner (2.0.2) database_cleaner-active_record (>= 2, < 3) - database_cleaner-active_record (2.1.0) + database_cleaner-active_record (2.2.0) activerecord (>= 5.a) database_cleaner-core (~> 2.0.0) database_cleaner-core (2.0.1) From 6193285fc8685d12d73ee91c294a7ec2be1ee15b Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Mon, 2 Dec 2024 16:16:00 +0000 Subject: [PATCH 175/325] Update image_processing to version 1.13.0 --- Gemfile.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index d3c587a94..42fd5003f 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -234,7 +234,7 @@ GEM ice_cube (~> 0.16) ostruct ice_cube (0.17.0) - image_processing (1.12.2) + image_processing (1.13.0) mini_magick (>= 4.9.5, < 5) ruby-vips (>= 2.0.17, < 3) io-like (0.3.1) @@ -270,7 +270,7 @@ GEM letter_opener (~> 1.9) railties (>= 6.1) rexml - logger (1.6.1) + logger (1.6.2) lograge (0.14.0) actionpack (>= 4) activesupport (>= 4) @@ -289,7 +289,7 @@ GEM method_source (1.1.0) mina (1.2.5) rake - mini_magick (4.12.0) + mini_magick (4.13.2) mini_mime (1.1.5) mini_portile2 (2.8.8) minitest (5.25.2) From 5eda79e19123c37a714522e16f26d0da9f224e5f Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Mon, 2 Dec 2024 16:20:37 +0000 Subject: [PATCH 176/325] Update childprocess to version 5.1.0 --- Gemfile.lock | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index d3c587a94..241a6fc3e 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -134,7 +134,8 @@ GEM actionpack (>= 3.1) caxlsx (>= 3.0) chartkick (5.0.7) - childprocess (5.0.0) + childprocess (5.1.0) + logger (~> 1.5) chronic (0.10.2) chunky_png (1.4.0) climate_control (1.2.0) From 890285a69099b0fc0a69d11752719a55deb81baf Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Mon, 2 Dec 2024 16:36:25 +0000 Subject: [PATCH 177/325] Update shoulda-matchers to version 6.4.0 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 674e947d3..a0e989db2 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -530,7 +530,7 @@ GEM sentry-ruby (5.17.3) bigdecimal concurrent-ruby (~> 1.0, >= 1.0.2) - shoulda-matchers (6.2.0) + shoulda-matchers (6.4.0) activesupport (>= 5.2.0) simple_po_parser (1.1.6) simplecov (0.22.0) From 3f6039270341355ae565fe178bce111eae864b08 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Mon, 2 Dec 2024 15:46:10 +0000 Subject: [PATCH 178/325] Update delayed_job_active_record to version 4.1.11 --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 674e947d3..532607dbe 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -164,8 +164,8 @@ GEM date (3.3.4) delayed_job (4.1.13) activesupport (>= 3.0, < 9.0) - delayed_job_active_record (4.1.10) - activerecord (>= 3.0, < 8.0) + delayed_job_active_record (4.1.11) + activerecord (>= 3.0, < 9.0) delayed_job (>= 3.0, < 5) devise (4.9.4) bcrypt (~> 3.0) From 3461c13278a734871517c2e6a2c94e8e786bca45 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Mon, 2 Dec 2024 16:46:21 +0000 Subject: [PATCH 179/325] Update cloudinary to version 2.2.0 --- Gemfile.lock | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 816cbdffc..0c39601b0 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -139,10 +139,11 @@ GEM chronic (0.10.2) chunky_png (1.4.0) climate_control (1.2.0) - cloudinary (2.1.1) + cloudinary (2.2.0) faraday (>= 2.0.1, < 3.0.0) faraday-follow_redirects (~> 0.3.0) faraday-multipart (~> 1.0, >= 1.0.4) + ostruct cocoon (1.2.15) colorize (1.1.0) concurrent-ruby (1.3.4) @@ -190,14 +191,16 @@ GEM railties (>= 5.0.0) faker (3.4.2) i18n (>= 1.8.11, < 2) - faraday (2.9.1) - faraday-net_http (>= 2.0, < 3.2) + faraday (2.12.1) + faraday-net_http (>= 2.0, < 3.5) + json + logger faraday-follow_redirects (0.3.0) faraday (>= 1, < 3) faraday-multipart (1.0.4) multipart-post (~> 2) - faraday-net_http (3.1.0) - net-http + faraday-net_http (3.4.0) + net-http (>= 0.5.0) fastimage (2.3.1) feature (1.4.0) ffi (1.17.0) @@ -307,7 +310,7 @@ GEM multi_xml (0.7.1) bigdecimal (~> 3.1) multipart-post (2.4.1) - net-http (0.4.1) + net-http (0.6.0) uri net-imap (0.4.16) date @@ -579,7 +582,7 @@ GEM unicode-emoji (4.0.4) unobtrusive_flash (3.3.1) railties - uri (0.13.0) + uri (1.0.2) version_gem (1.1.4) warden (1.2.9) rack (>= 2.0.9) From 254fce94c306ec8e11107debec547def1c6c6671 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Mon, 2 Dec 2024 16:50:36 +0000 Subject: [PATCH 180/325] Update prawn-rails to version 1.5.0 --- Gemfile.lock | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 816cbdffc..138782966 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -381,8 +381,9 @@ GEM prawn-qrcode (0.5.2) prawn (>= 1) rqrcode (>= 1.0.0) - prawn-rails (1.4.2) + prawn-rails (1.5.0) actionview (>= 3.1.0) + activesupport (>= 3.1.0) prawn prawn-table prawn-table (0.2.2) From 711d8068794db04e2d9813e32017b5565437d814 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Mon, 2 Dec 2024 16:56:12 +0000 Subject: [PATCH 181/325] Update omniauth-google-oauth2 to version 1.2.0 --- Gemfile.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 29f271ae1..1948fdc72 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -258,7 +258,7 @@ GEM json-schema (4.3.0) addressable (>= 2.8) jsonapi-renderer (0.2.2) - jwt (2.8.2) + jwt (2.9.3) base64 language_server-protocol (3.17.0.3) launchy (3.0.1) @@ -344,8 +344,8 @@ GEM omniauth-github (2.0.1) omniauth (~> 2.0) omniauth-oauth2 (~> 1.8) - omniauth-google-oauth2 (1.1.2) - jwt (>= 2.0) + omniauth-google-oauth2 (1.2.0) + jwt (>= 2.9) oauth2 (~> 2.0) omniauth (~> 2.0) omniauth-oauth2 (~> 1.8) From 10bddc95c75c9821298a1d97c928a4d33c26cff1 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Mon, 2 Dec 2024 17:00:26 +0000 Subject: [PATCH 182/325] Update webmock to version 3.24.0 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 29f271ae1..ca9b62d2b 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -595,7 +595,7 @@ GEM nokogiri (~> 1.6) rubyzip (>= 1.3.0) selenium-webdriver (~> 4.0, < 4.11) - webmock (3.23.1) + webmock (3.24.0) addressable (>= 2.8.0) crack (>= 0.3.2) hashdiff (>= 0.4.0, < 2.0.0) From 11d1ce88db7b58adecd596de236e9486f1992b1a Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Mon, 2 Dec 2024 17:05:32 +0000 Subject: [PATCH 183/325] Update iso-639 to version 0.3.8 --- Gemfile.lock | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 29f271ae1..ab69439f0 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -153,6 +153,7 @@ GEM bigdecimal rexml crass (1.0.6) + csv (3.3.0) daemons (1.4.1) dalli (3.2.8) dante (0.2.0) @@ -242,7 +243,8 @@ GEM mini_magick (>= 4.9.5, < 5) ruby-vips (>= 2.0.17, < 3) io-like (0.3.1) - iso-639 (0.3.6) + iso-639 (0.3.8) + csv jquery-datatables-rails (3.4.0) actionpack (>= 3.1) jquery-rails From 9aa501bae00069f74030f7f30292123598a657b5 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Mon, 2 Dec 2024 22:18:46 +0000 Subject: [PATCH 184/325] Update rails-html-sanitizer to version 1.6.1 --- Gemfile.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 29f271ae1..012423071 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -324,7 +324,7 @@ GEM next_rails (1.3.0) colorize (>= 0.8.1) nio4r (2.7.4) - nokogiri (1.16.7) + nokogiri (1.16.8) mini_portile2 (~> 2.8.2) racc (~> 1.4) oauth2 (2.0.9) @@ -425,9 +425,9 @@ GEM activesupport (>= 5.0.0) minitest nokogiri (>= 1.6) - rails-html-sanitizer (1.6.0) + rails-html-sanitizer (1.6.1) loofah (~> 2.21) - nokogiri (~> 1.14) + 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-i18n (7.0.9) i18n (>= 0.7, < 2) railties (>= 6.0.0, < 8) From 73157dcf6da3d3728a30e137616e4ee0e1ff9369 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Tue, 3 Dec 2024 11:11:54 +0000 Subject: [PATCH 185/325] Update all of sentry-ruby-core to version 5.21.0 --- Gemfile.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 1a81a6505..04fcea3b4 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -530,10 +530,10 @@ GEM rexml (~> 3.2, >= 3.2.5) rubyzip (>= 1.2.2, < 3.0) websocket (~> 1.0) - sentry-rails (5.17.3) + sentry-rails (5.21.0) railties (>= 5.0) - sentry-ruby (~> 5.17.3) - sentry-ruby (5.17.3) + sentry-ruby (~> 5.21.0) + sentry-ruby (5.21.0) bigdecimal concurrent-ruby (~> 1.0, >= 1.0.2) shoulda-matchers (6.4.0) From 30cfc8e2b8278cbfc35269f66565178b50ace7a0 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Tue, 3 Dec 2024 11:15:47 +0000 Subject: [PATCH 186/325] Update faker to version 3.5.1 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 1a81a6505..3170ab7c5 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -190,7 +190,7 @@ GEM factory_bot_rails (6.4.4) factory_bot (~> 6.5) railties (>= 5.0.0) - faker (3.4.2) + faker (3.5.1) i18n (>= 1.8.11, < 2) faraday (2.12.1) faraday-net_http (>= 2.0, < 3.5) From 8db67e92bb913bf7a64b02fb819ca6f02d1d8ddd Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Tue, 3 Dec 2024 11:20:30 +0000 Subject: [PATCH 187/325] Update execjs to version 2.10.0 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 1a81a6505..ed9ed65bb 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -184,7 +184,7 @@ GEM dotenv (= 3.1.4) railties (>= 6.1) erubi (1.13.0) - execjs (2.9.1) + execjs (2.10.0) factory_bot (6.5.0) activesupport (>= 5.0.0) factory_bot_rails (6.4.4) From e4ba3c09e5527719ce3881754e1ff0ebdaadc5ea Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Tue, 3 Dec 2024 11:26:09 +0000 Subject: [PATCH 188/325] Update next_rails to version 1.4.2 --- Gemfile.lock | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 1a81a6505..2e3254bcb 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -145,7 +145,6 @@ GEM faraday-multipart (~> 1.0, >= 1.0.4) ostruct cocoon (1.2.15) - colorize (1.1.0) concurrent-ruby (1.3.4) countable-rails (0.0.1) railties (>= 3.1) @@ -323,8 +322,8 @@ GEM timeout net-smtp (0.5.0) net-protocol - next_rails (1.3.0) - colorize (>= 0.8.1) + next_rails (1.4.2) + rainbow (>= 3) nio4r (2.7.4) nokogiri (1.16.8) mini_portile2 (~> 2.8.2) From 9e9cad65cc1f7973d8bedd5bf8898a010310ebe6 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Tue, 3 Dec 2024 11:30:55 +0000 Subject: [PATCH 189/325] Update database_cleaner to version 2.1.0 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 1a81a6505..9161b2cfd 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -157,7 +157,7 @@ GEM daemons (1.4.1) dalli (3.2.8) dante (0.2.0) - database_cleaner (2.0.2) + database_cleaner (2.1.0) database_cleaner-active_record (>= 2, < 3) database_cleaner-active_record (2.2.0) activerecord (>= 5.a) From fe6e91a925ee15301bc3a49bf2ac22b0b1ad00d5 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Tue, 3 Dec 2024 13:26:06 +0000 Subject: [PATCH 190/325] Update chartkick to version 5.1.2 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 04fcea3b4..3852bfcde 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -133,7 +133,7 @@ GEM caxlsx_rails (0.6.4) actionpack (>= 3.1) caxlsx (>= 3.0) - chartkick (5.0.7) + chartkick (5.1.2) childprocess (5.1.0) logger (~> 1.5) chronic (0.10.2) From 2b42a32efd0949e536401ce38d390ddfb1491757 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Tue, 3 Dec 2024 13:30:32 +0000 Subject: [PATCH 191/325] Update date to version 3.4.0 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 7ffe8da02..43cff4a05 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -163,7 +163,7 @@ GEM activerecord (>= 5.a) database_cleaner-core (~> 2.0.0) database_cleaner-core (2.0.1) - date (3.3.4) + date (3.4.0) delayed_job (4.1.13) activesupport (>= 3.0, < 9.0) delayed_job_active_record (4.1.11) From f4dfbfcf6241ef8d195d6b8ef5d921701705b06d Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Tue, 3 Dec 2024 13:36:11 +0000 Subject: [PATCH 192/325] Update pdf-reader to version 2.13.0 --- Gemfile.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index cda62368a..bf86a1dee 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,7 +1,7 @@ GEM remote: https://rubygems.org/ specs: - Ascii85 (1.1.1) + Ascii85 (2.0.1) actioncable (7.0.8.4) actionpack (= 7.0.8.4) activesupport (= 7.0.8.4) @@ -371,8 +371,8 @@ GEM pdf-core (0.10.0) pdf-inspector (1.3.0) pdf-reader (>= 1.0, < 3.0.a) - pdf-reader (2.12.0) - Ascii85 (~> 1.0) + pdf-reader (2.13.0) + Ascii85 (>= 1.0, < 3.0, != 2.0.0) afm (~> 0.2.1) hashery (~> 2.0) ruby-rc4 From 7f231e607bc3becd71d3a0df00df2776472c49c1 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Tue, 3 Dec 2024 13:41:00 +0000 Subject: [PATCH 193/325] Update timeout to version 0.4.2 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index c272de4f5..b2f6636c3 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -568,7 +568,7 @@ GEM thor (1.3.2) tilt (2.4.0) timecop (0.9.10) - timeout (0.4.1) + timeout (0.4.2) transitions (1.3.0) ttfunk (1.8.0) bigdecimal (~> 3.1) From 12683ec7fd37b68db3b83d376ec6bc830ddbf4ae Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Tue, 3 Dec 2024 13:45:49 +0000 Subject: [PATCH 194/325] Update ostruct to version 0.6.1 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index c272de4f5..36876885d 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -360,7 +360,7 @@ GEM actionpack (>= 4.2) omniauth (~> 2.0) orm_adapter (0.5.0) - ostruct (0.6.0) + ostruct (0.6.1) paper_trail (15.1.0) activerecord (>= 6.1) request_store (~> 1.4) From c4159c034a07b58008a1d1f47339ae806a9f20c6 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Tue, 3 Dec 2024 13:50:46 +0000 Subject: [PATCH 195/325] Update ssrf_filter to version 1.2.0 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index c272de4f5..292cd6e8b 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -557,7 +557,7 @@ GEM actionpack (>= 6.1) activesupport (>= 6.1) sprockets (>= 3.0.0) - ssrf_filter (1.1.2) + ssrf_filter (1.2.0) stripe (5.55.0) stripe-ruby-mock (3.1.0) dante (>= 0.2.0) From 5176330efe9f2fb6cfd0120bbdcf3705a2873368 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Tue, 3 Dec 2024 15:12:18 +0000 Subject: [PATCH 196/325] Update awesome_nested_set to version 3.8.0 --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 64f80095e..abed7ac7d 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -90,8 +90,8 @@ GEM ast (2.4.2) autoprefixer-rails (10.4.19.0) execjs (~> 2) - awesome_nested_set (3.6.0) - activerecord (>= 4.0.0, < 7.2) + awesome_nested_set (3.8.0) + activerecord (>= 4.0.0, < 8.1) base64 (0.2.0) bcrypt (3.1.20) bigdecimal (3.1.8) From 8db0e4b4a56a2c2dcfc47a5c09b0af622f8d92da Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Tue, 3 Dec 2024 15:16:10 +0000 Subject: [PATCH 197/325] Update rubocop-performance to version 1.23.0 --- Gemfile.lock | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 64f80095e..8d8dfbb60 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -255,7 +255,7 @@ GEM thor (>= 0.14, < 2.0) jquery-ui-rails (6.0.1) railties (>= 3.2.16) - json (2.8.2) + json (2.9.0) json-schema (4.3.0) addressable (>= 2.8) jsonapi-renderer (0.2.2) @@ -477,14 +477,14 @@ GEM rspec-mocks (~> 3.13) rspec-support (~> 3.13) rspec-support (3.13.1) - rubocop (1.69.0) + rubocop (1.69.1) json (~> 2.3) language_server-protocol (>= 3.17.0) parallel (~> 1.10) parser (>= 3.3.0.2) rainbow (>= 2.2.2, < 4.0) - regexp_parser (>= 2.4, < 3.0) - rubocop-ast (>= 1.36.1, < 2.0) + regexp_parser (>= 2.9.3, < 3.0) + rubocop-ast (>= 1.36.2, < 2.0) ruby-progressbar (~> 1.7) unicode-display_width (>= 2.4.0, < 4.0) rubocop-ast (1.36.2) @@ -493,7 +493,7 @@ GEM rubocop (~> 1.41) rubocop-factory_bot (2.26.1) rubocop (~> 1.61) - rubocop-performance (1.21.1) + rubocop-performance (1.23.0) rubocop (>= 1.48.1, < 2.0) rubocop-ast (>= 1.31.1, < 2.0) rubocop-rails (2.27.0) From d4156633e115fac241c306a6c1e0e6ed8d0a4d6f Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Tue, 3 Dec 2024 15:21:07 +0000 Subject: [PATCH 198/325] Update puma to version 6.5.0 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 64f80095e..c3a5a2dc5 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -393,7 +393,7 @@ GEM prawn-table (0.2.2) prawn (>= 1.3.0, < 3.0.0) public_suffix (6.0.1) - puma (6.4.3) + puma (6.5.0) nio4r (~> 2.0) racc (1.8.1) rack (2.2.10) From 160e4a35efaf180440d9e655b4a009937d01922d Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Tue, 3 Dec 2024 15:35:32 +0000 Subject: [PATCH 199/325] Update i18n_data to version 1.1.0 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 64f80095e..77482b103 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -232,7 +232,7 @@ GEM htmlentities (4.3.4) i18n (1.14.6) concurrent-ruby (~> 1.0) - i18n_data (0.17.1) + i18n_data (1.1.0) simple_po_parser (~> 1.1) icalendar (2.10.3) ice_cube (~> 0.16) From adf3cba1c17a805f9476edb94c5c43139d335eca Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Tue, 3 Dec 2024 15:55:51 +0000 Subject: [PATCH 200/325] Update simplecov-html to version 0.13.1 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 5beec721e..e23a07167 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -545,7 +545,7 @@ GEM simplecov-cobertura (2.1.0) rexml simplecov (~> 0.19) - simplecov-html (0.12.3) + simplecov-html (0.13.1) simplecov_json_formatter (0.1.4) snaky_hash (2.0.1) hashie From f509c30520990dd9fd6923e8c11a3ffc12971afc Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Tue, 3 Dec 2024 16:00:36 +0000 Subject: [PATCH 201/325] Update haml_lint to version 0.59.0 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 5beec721e..b97d5e9ff 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -220,7 +220,7 @@ GEM activesupport (>= 5.1) haml (>= 4.0.6) railties (>= 5.1) - haml_lint (0.58.0) + haml_lint (0.59.0) haml (>= 5.0) parallel (~> 1.10) rainbow From 413ef62872675975fe1dc68c608e537a2147d860 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Tue, 3 Dec 2024 16:11:50 +0000 Subject: [PATCH 202/325] Update paper_trail to version 16.0.0 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 5beec721e..4ca775975 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -361,7 +361,7 @@ GEM omniauth (~> 2.0) orm_adapter (0.5.0) ostruct (0.6.1) - paper_trail (15.1.0) + paper_trail (16.0.0) activerecord (>= 6.1) request_store (~> 1.4) parallel (1.26.3) From dd0d203525560a81456e57ff79bc24b2d353d2ab Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Tue, 3 Dec 2024 16:15:52 +0000 Subject: [PATCH 203/325] Update net-imap to version 0.5.1 --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 5beec721e..0c922bb78 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -162,7 +162,7 @@ GEM activerecord (>= 5.a) database_cleaner-core (~> 2.0.0) database_cleaner-core (2.0.1) - date (3.4.0) + date (3.4.1) delayed_job (4.1.13) activesupport (>= 3.0, < 9.0) delayed_job_active_record (4.1.11) @@ -313,7 +313,7 @@ GEM multipart-post (2.4.1) net-http (0.6.0) uri - net-imap (0.4.16) + net-imap (0.5.1) date net-protocol net-pop (0.1.2) From 5ed7d47113b82d3eeeeb2386e674160c00099139 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Wed, 4 Dec 2024 10:51:04 +0000 Subject: [PATCH 204/325] Update recaptcha to version 5.17.1 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 65cc8fcf6..cbed56360 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -442,7 +442,7 @@ GEM zeitwerk (~> 2.5) rainbow (3.1.1) rake (13.2.1) - recaptcha (5.17.0) + recaptcha (5.17.1) redcarpet (3.6.0) regexp_parser (2.9.3) request_store (1.7.0) From 380809e134ecc2a6f7f1b9279f26036cd437cf09 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Wed, 4 Dec 2024 10:55:37 +0000 Subject: [PATCH 205/325] Update rspec-rails to version 7.1.0 --- Gemfile.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 3d0e60e6f..8fe0e1afe 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -297,7 +297,7 @@ GEM mini_magick (4.13.2) mini_mime (1.1.5) mini_portile2 (2.8.8) - minitest (5.25.2) + minitest (5.25.4) monetize (1.13.0) money (~> 6.12) money (6.19.0) @@ -468,15 +468,15 @@ GEM rspec-mocks (3.13.2) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.13.0) - rspec-rails (6.1.4) - actionpack (>= 6.1) - activesupport (>= 6.1) - railties (>= 6.1) + rspec-rails (7.1.0) + actionpack (>= 7.0) + activesupport (>= 7.0) + railties (>= 7.0) rspec-core (~> 3.13) rspec-expectations (~> 3.13) rspec-mocks (~> 3.13) rspec-support (~> 3.13) - rspec-support (3.13.1) + rspec-support (3.13.2) rubocop (1.69.1) json (~> 2.3) language_server-protocol (>= 3.17.0) From b6348fa4c4766b6703c852fe7bdfcb5d2e67e905 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Wed, 4 Dec 2024 11:16:53 +0000 Subject: [PATCH 206/325] Update json-schema to version 5.1.0 --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 7388b85c8..8827b596c 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -256,8 +256,8 @@ GEM jquery-ui-rails (6.0.1) railties (>= 3.2.16) json (2.9.0) - json-schema (4.3.0) - addressable (>= 2.8) + json-schema (5.1.0) + addressable (~> 2.8) jsonapi-renderer (0.2.2) jwt (2.9.3) base64 From 606a98d2dcdea6751ca231c0b1c7650e3b2bb0e2 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Wed, 4 Dec 2024 11:25:59 +0000 Subject: [PATCH 207/325] Update ruby-oembed to version 0.18.1 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 7388b85c8..34d98a2d6 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -506,7 +506,7 @@ GEM rubocop-rspec_rails (2.30.0) rubocop (~> 1.61) rubocop-rspec (~> 3, >= 3.0.1) - ruby-oembed (0.17.0) + ruby-oembed (0.18.1) ruby-openid (2.9.2) ruby-progressbar (1.13.0) ruby-rc4 (0.1.5) From 21bfe7487611242347941715163dcd5b251bdf28 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Mon, 9 Dec 2024 12:16:20 +0000 Subject: [PATCH 208/325] Update json-schema to version 5.1.1 --- Gemfile.lock | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 17415efa0..295586381 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -256,8 +256,9 @@ GEM jquery-ui-rails (6.0.1) railties (>= 3.2.16) json (2.9.0) - json-schema (5.1.0) + json-schema (5.1.1) addressable (~> 2.8) + bigdecimal (~> 3.1) jsonapi-renderer (0.2.2) jwt (2.9.3) base64 From 50d6f5b3d570e8c3ecf9264c705cfc759edc6f7c Mon Sep 17 00:00:00 2001 From: Henne Vogelsang Date: Mon, 9 Dec 2024 16:42:42 +0100 Subject: [PATCH 209/325] Remove superflous spec for User.registered/attended There is no logic involved, just a map on the title... --- app/models/user.rb | 1 - spec/models/user_spec.rb | 38 -------------------------------------- 2 files changed, 39 deletions(-) diff --git a/app/models/user.rb b/app/models/user.rb index dace46551..6fbaafdb0 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -237,7 +237,6 @@ def get_roles end def registered - registrations = self.registrations if registrations.count == 0 'None' else diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index 29bb59cb5..319d41f98 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -305,44 +305,6 @@ end end - describe '#registered' do - context 'user has not registered to any conference' do - it 'returns None' do - expect(user.registered).to eq 'None' - end - end - - context 'user has registered to conferences' do - before do - create(:registration, user: user, conference: conference) - create(:registration, user: user, conference: conference2) - end - - it 'returns registered conferences title' do - expect(user.registered).to eq('openSUSE Conference 2016, openSUSE Conference 2015') - end - end - end - - describe '#attended' do - context 'user has not attended any conference' do - it 'returns None' do - expect(user.attended).to eq 'None' - end - end - - context 'user has attended conferences' do - before do - create(:registration, user: user, conference: conference, attended: true) - create(:registration, user: user, conference: conference2, attended: true) - end - - it 'returns attended conferences title' do - expect(user.attended).to eq('openSUSE Conference 2016, openSUSE Conference 2015') - end - end - end - describe '#confirmed?' do context 'confirmed user' do it 'returns true' do From df8cbe669c9b58b44aa1394f85aa44a522790141 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Sun, 8 Dec 2024 01:16:12 +0000 Subject: [PATCH 210/325] Update active_model_serializers to version 0.10.15 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 295586381..bf28d85be 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -47,7 +47,7 @@ GEM erubi (~> 1.4) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.1, >= 1.2.0) - active_model_serializers (0.10.14) + active_model_serializers (0.10.15) actionpack (>= 4.1) activemodel (>= 4.1) case_transform (>= 0.2) From 5ec13d43bd01ce0c439518ccb194267acd9809b6 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Mon, 9 Dec 2024 22:21:16 +0000 Subject: [PATCH 211/325] Update nokogiri to version 1.17.0 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index bf28d85be..85e924a29 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -326,7 +326,7 @@ GEM next_rails (1.4.2) rainbow (>= 3) nio4r (2.7.4) - nokogiri (1.16.8) + nokogiri (1.17.0) mini_portile2 (~> 2.8.2) racc (~> 1.4) oauth2 (2.0.9) From ec0b1c303fa8c2f03d29ff2f7ec7c5089cb209d0 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Wed, 11 Dec 2024 15:17:08 +0000 Subject: [PATCH 212/325] Update all of sentry-ruby-core to version 5.22.0 --- Gemfile.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 85e924a29..021c8eac1 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -326,7 +326,7 @@ GEM next_rails (1.4.2) rainbow (>= 3) nio4r (2.7.4) - nokogiri (1.17.0) + nokogiri (1.17.1) mini_portile2 (~> 2.8.2) racc (~> 1.4) oauth2 (2.0.9) @@ -530,10 +530,10 @@ GEM rexml (~> 3.2, >= 3.2.5) rubyzip (>= 1.2.2, < 3.0) websocket (~> 1.0) - sentry-rails (5.21.0) + sentry-rails (5.22.0) railties (>= 5.0) - sentry-ruby (~> 5.21.0) - sentry-ruby (5.21.0) + sentry-ruby (~> 5.22.0) + sentry-ruby (5.22.0) bigdecimal concurrent-ruby (~> 1.0, >= 1.0.2) shoulda-matchers (6.4.0) From b307439c1cc4a9d6ef0c57d8c99d8634d373f09e Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Sun, 15 Dec 2024 23:15:34 +0000 Subject: [PATCH 213/325] Update recaptcha to version 5.18.0 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 021c8eac1..774eaa8d4 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -443,7 +443,7 @@ GEM zeitwerk (~> 2.5) rainbow (3.1.1) rake (13.2.1) - recaptcha (5.17.1) + recaptcha (5.18.0) redcarpet (3.6.0) regexp_parser (2.9.3) request_store (1.7.0) From a4e21f96d16004f42fe362c71adfa326d8253b35 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Mon, 16 Dec 2024 11:26:52 +0000 Subject: [PATCH 214/325] Update faraday to version 2.12.2 --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 021c8eac1..a61c43bcb 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -191,7 +191,7 @@ GEM railties (>= 5.0.0) faker (3.5.1) i18n (>= 1.8.11, < 2) - faraday (2.12.1) + faraday (2.12.2) faraday-net_http (>= 2.0, < 3.5) json logger @@ -276,7 +276,7 @@ GEM letter_opener (~> 1.9) railties (>= 6.1) rexml - logger (1.6.2) + logger (1.6.3) lograge (0.14.0) actionpack (>= 4) activesupport (>= 4) From a7ebf098a932c4215df482f93e09b146e6505518 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Thu, 19 Dec 2024 13:16:52 +0000 Subject: [PATCH 215/325] Update rubocop-rspec to version 3.3.0 --- Gemfile.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 021c8eac1..fe60fc5ac 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -255,7 +255,7 @@ GEM thor (>= 0.14, < 2.0) jquery-ui-rails (6.0.1) railties (>= 3.2.16) - json (2.9.0) + json (2.9.1) json-schema (5.1.1) addressable (~> 2.8) bigdecimal (~> 3.1) @@ -478,7 +478,7 @@ GEM rspec-mocks (~> 3.13) rspec-support (~> 3.13) rspec-support (3.13.2) - rubocop (1.69.1) + rubocop (1.69.2) json (~> 2.3) language_server-protocol (>= 3.17.0) parallel (~> 1.10) @@ -488,7 +488,7 @@ GEM rubocop-ast (>= 1.36.2, < 2.0) ruby-progressbar (~> 1.7) unicode-display_width (>= 2.4.0, < 4.0) - rubocop-ast (1.36.2) + rubocop-ast (1.37.0) parser (>= 3.3.1.0) rubocop-capybara (2.21.0) rubocop (~> 1.41) @@ -502,7 +502,7 @@ GEM rack (>= 1.1) rubocop (>= 1.52.0, < 2.0) rubocop-ast (>= 1.31.1, < 2.0) - rubocop-rspec (3.2.0) + rubocop-rspec (3.3.0) rubocop (~> 1.61) rubocop-rspec_rails (2.30.0) rubocop (~> 1.61) From 53ec18eaa0f525faa5372c44fdf1e8c0f4c1fc54 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Thu, 9 Jan 2025 20:25:45 +0000 Subject: [PATCH 216/325] Update dotenv to version 3.1.7 --- Gemfile.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 791434f64..9e02608ef 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -178,9 +178,9 @@ GEM devise (>= 2.2) diff-lcs (1.5.1) docile (1.4.1) - dotenv (3.1.4) - dotenv-rails (3.1.4) - dotenv (= 3.1.4) + dotenv (3.1.7) + dotenv-rails (3.1.7) + dotenv (= 3.1.7) railties (>= 6.1) erubi (1.13.0) execjs (2.10.0) From d1b29e6334c4ca46b23ca8d963f45195a222f076 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Thu, 9 Jan 2025 20:36:04 +0000 Subject: [PATCH 217/325] Update csv to version 3.3.2 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 791434f64..558c481db 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -152,7 +152,7 @@ GEM bigdecimal rexml crass (1.0.6) - csv (3.3.0) + csv (3.3.2) daemons (1.4.1) dalli (3.2.8) dante (0.2.0) From c6d23e4742a1fe9803507973a1d3bb596cf9d799 Mon Sep 17 00:00:00 2001 From: Henne Vogelsang Date: Tue, 21 Jan 2025 14:19:23 +0100 Subject: [PATCH 218/325] Do not double assign attributes Doing this messed with PictureUploader file names. --- app/controllers/admin/conferences_controller.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/admin/conferences_controller.rb b/app/controllers/admin/conferences_controller.rb index 69ee19a38..cafc2b321 100644 --- a/app/controllers/admin/conferences_controller.rb +++ b/app/controllers/admin/conferences_controller.rb @@ -90,7 +90,7 @@ def update @conference.assign_attributes(conference_params) send_mail_on_conf_update = @conference.notify_on_dates_changed? - if @conference.update(conference_params) + if @conference.save ConferenceDateUpdateMailJob.perform_later(@conference) if send_mail_on_conf_update redirect_to edit_admin_conference_path(id: @conference.short_title), notice: 'Conference was successfully updated.' From 9ca7421dafc3d3d726b48fb861e3aa0e29b81f4c Mon Sep 17 00:00:00 2001 From: Henne Vogelsang Date: Tue, 21 Jan 2025 16:48:35 +0100 Subject: [PATCH 219/325] Log example name in test.log for easier debugging --- spec/spec_helper.rb | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 710657400..a2a821d6d 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -122,6 +122,12 @@ @request.host = Rails.application.routes.default_url_options[:host] end + config.before(:each) do + Rails.logger.debug '======================================================================' + Rails.logger.debug { "\n\n\n\t\t#{RSpec.current_example.metadata[:full_description]}\n\n\n" } + Rails.logger.debug '======================================================================' + end + # use the config to use # t('some.locale.key') instead of always having to type I18n.t config.include AbstractController::Translation From ddff97147fa62d3ea67761f3094dc1ee5ce76bcc Mon Sep 17 00:00:00 2001 From: Henne Vogelsang Date: Tue, 21 Jan 2025 17:30:17 +0100 Subject: [PATCH 220/325] Query versions of associations Not association related versions data. To make this database save, this broke with Postgre. Probably LIKE vs ILIKE... --- app/controllers/admin/events_controller.rb | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/app/controllers/admin/events_controller.rb b/app/controllers/admin/events_controller.rb index 130558b51..27b19112f 100644 --- a/app/controllers/admin/events_controller.rb +++ b/app/controllers/admin/events_controller.rb @@ -45,10 +45,8 @@ def show @votes = @event.votes.includes(:user) @difficulty_levels = @program.difficulty_levels @versions = @event.versions | - PaperTrail::Version.where(item_type: 'Commercial').where('object LIKE ?', "%commercialable_id: #{@event.id}\ncommercialable_type: Event%") | - PaperTrail::Version.where(item_type: 'Commercial').where('object_changes LIKE ?', "%commercialable_id:\n- \n- #{@event.id}\ncommercialable_type:\n- \n- Event%") | - PaperTrail::Version.where(item_type: 'Vote').where('object_changes LIKE ?', "%\nevent_id:\n- \n- #{@event.id}\n%") | - PaperTrail::Version.where(item_type: 'Vote').where('object LIKE ?', "%\nevent_id: #{@event.id}\n%") + @event.commercials.map(&:versions).flatten | + @event.votes.map(&:versions).flatten end def edit From ed14af599ba4dc398c1502bd30571806200a10ee Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Fri, 17 Jan 2025 07:14:23 +0000 Subject: [PATCH 221/325] Update Ruby to version 3.3.7 --- .ruby-version | 2 +- Gemfile.lock | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.ruby-version b/.ruby-version index 9c25013db..86fb65044 100644 --- a/.ruby-version +++ b/.ruby-version @@ -1 +1 @@ -3.3.6 +3.3.7 diff --git a/Gemfile.lock b/Gemfile.lock index 791434f64..9ef451e2e 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -716,7 +716,7 @@ DEPENDENCIES whenever RUBY VERSION - ruby 3.3.6 + ruby 3.3.7 BUNDLED WITH 2.5.9 From 514ea1efbdfcd6da2eba42646a0048a982a883e3 Mon Sep 17 00:00:00 2001 From: Andrew Kvalheim Date: Wed, 31 May 2023 14:51:47 -0700 Subject: [PATCH 222/325] Fix bug in initial scheduling of events MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Resolves inability to schedule a nonscheduled event: ActionController::RoutingError: No route matches [PUT] "/admin/conferences/…/event_schedules" `event_schedule_id` represents the absence of a schedule as either an empty string or undefined, not as null. --- app/assets/javascripts/osem-schedule.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/assets/javascripts/osem-schedule.js b/app/assets/javascripts/osem-schedule.js index aeb76ae37..5f1e77289 100644 --- a/app/assets/javascripts/osem-schedule.js +++ b/app/assets/javascripts/osem-schedule.js @@ -46,7 +46,7 @@ var Schedule = { room_id: new_parent.attr("room_id"), start_time: (new_parent.attr("date") + ' ' + new_parent.attr("hour")) }}; - if(event_schedule_id != null){ + if(event_schedule_id){ type = 'PUT'; my_url += ('/' + event_schedule_id); } From 0c1989435a066614a7e6b9692e3b7f75d1e379be Mon Sep 17 00:00:00 2001 From: Henne Vogelsang Date: Thu, 30 Jan 2025 15:22:32 +0100 Subject: [PATCH 223/325] Fix syntax error Fixes #3554 --- app/views/devise/ichain_sessions/new.html.haml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/devise/ichain_sessions/new.html.haml b/app/views/devise/ichain_sessions/new.html.haml index 1d0a25eed..211bc9cae 100644 --- a/app/views/devise/ichain_sessions/new.html.haml +++ b/app/views/devise/ichain_sessions/new.html.haml @@ -6,7 +6,7 @@ %h3.panel-title Sign in .panel-body - = form_for(@login_url, method: :post, enctype: 'application/x-www-form-urlencoded', id: 'session' do |f| + = form_for(@login_url, method: :post, enctype: 'application/x-www-form-urlencoded', id: 'session') do |f| = f.hidden_field :url, value: @back_url = f.hidden_field :context, value: @context = f.hidden_field :proxypath, value: @proxypath From 1719ca970325df304f2ea8064c44f266e8bd06d4 Mon Sep 17 00:00:00 2001 From: Henne Vogelsang Date: Thu, 30 Jan 2025 15:26:55 +0100 Subject: [PATCH 224/325] Only set language if we find the ISO code for it... Fixes #3555 --- app/views/schedules/show.xml.haml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/views/schedules/show.xml.haml b/app/views/schedules/show.xml.haml index 826784fb1..68cdce7c5 100644 --- a/app/views/schedules/show.xml.haml +++ b/app/views/schedules/show.xml.haml @@ -21,7 +21,8 @@ %duration= length_timestamp(event.event_type.length) %room= event.room.name %type= event.event_type.name - %language= ISO_639.find_by_english_name(event.language).third if event.language + - if event.language && ISO_639.find_by_english_name(event.language) + %language= ISO_639.find_by_english_name(event.language).third %slug= "#{event.id} #{event.title}".parameterize %title= event.title %subtitle= event.subtitle From 1178cc727303451b2b48ae7f79f5c0c3f14eb49a Mon Sep 17 00:00:00 2001 From: Henne Vogelsang Date: Thu, 30 Jan 2025 16:21:30 +0100 Subject: [PATCH 225/325] Drop word_pluralize helper It makes no sense... --- app/helpers/format_helper.rb | 10 ---------- app/views/conference_registrations/show.html.haml | 6 +++--- 2 files changed, 3 insertions(+), 13 deletions(-) diff --git a/app/helpers/format_helper.rb b/app/helpers/format_helper.rb index 152ac239a..1ccc30c6f 100644 --- a/app/helpers/format_helper.rb +++ b/app/helpers/format_helper.rb @@ -114,16 +114,6 @@ def class_for_todo(bool) end end - def word_pluralize(count, singular, plural = nil) - word = if (count == 1 || count =~ /^1(\.0+)?$/) - singular - else - plural || singular.pluralize - end - - word - end - # Returns black or white deppending on what of them contrast more with the # given color. Useful to print text in a coloured background. # hexcolor is a hex color of 7 characters, being the first one '#'. diff --git a/app/views/conference_registrations/show.html.haml b/app/views/conference_registrations/show.html.haml index d94470498..b6ba793b0 100644 --- a/app/views/conference_registrations/show.html.haml +++ b/app/views/conference_registrations/show.html.haml @@ -94,7 +94,7 @@ %li = @total_quantity[ticket_id] = tickets.first.title - = word_pluralize(@total_quantity[ticket_id], 'Ticket') + = pluralize(@total_quantity[ticket_id], 'Ticket') for = tickets.first.price.symbol = humanized_money @total_price_per_ticket[ticket_id] @@ -148,7 +148,7 @@ %i.fa-solid.fa-user-group.fa-stack-1x = @conference.participants.count Registered - = word_pluralize(@conference.participants.count, 'Attendee') + = pluralize(@conference.participants.count, 'Attendee') - @conference.participants.each do |participant| = link_to image_tag(participant.gravatar_url(size: '25'), title: "#{participant.name}!", class: 'img-circle'), user_path(participant) .col-md-4.col-md-offset-2 @@ -159,6 +159,6 @@ %i.fa-solid.fa-microphone.fa-stack-1x = @conference.program.speakers.confirmed.count Confirmed - = word_pluralize(@conference.program.speakers.confirmed.count, 'Speaker') + = pluralize(@conference.program.speakers.confirmed.count, 'Speaker') - @conference.program.speakers.confirmed.each do |speaker| = link_to image_tag(speaker.gravatar_url(size: '25'), title: "#{speaker.name}!", class: 'img-circle'), user_path(speaker) From e324b9de786334e7ea38a18c53364a1c795cbd8b Mon Sep 17 00:00:00 2001 From: Henne Vogelsang Date: Thu, 30 Jan 2025 16:43:39 +0100 Subject: [PATCH 226/325] Validate length of User.affiliation --- app/models/user.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/app/models/user.rb b/app/models/user.rb index 6fbaafdb0..564384f96 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -101,6 +101,7 @@ def for_conference conference presence: true validate :biography_limit + validates :affiliation, length: { maximum: 150 } DISTRIBUTION_COLORS = { 'Active' => 'green', From f777efe7c0b182a7eba4a596e09450427f5e6c3c Mon Sep 17 00:00:00 2001 From: Henne Vogelsang Date: Thu, 30 Jan 2025 17:08:29 +0100 Subject: [PATCH 227/325] Fix code of conduct during the registration --- .../_registration_info.html.haml | 7 +++++-- app/views/conference_registrations/show.html.haml | 13 +++++-------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/app/views/conference_registrations/_registration_info.html.haml b/app/views/conference_registrations/_registration_info.html.haml index cb2a30866..33d69a078 100644 --- a/app/views/conference_registrations/_registration_info.html.haml +++ b/app/views/conference_registrations/_registration_info.html.haml @@ -1,8 +1,11 @@ - if @conference.code_of_conduct.present? + %h4 + Code of Conduct for + = @conference.short_title + = markdown @conference.code_of_conduct - if @registration.accepted_code_of_conduct = icon 'fa-solid', 'square-check' - I have read and accepted the - = link_to "Code of Conduct", code_of_conduct_conference_path(@conference.short_title) + I have read and accepted the Code of Conduct - else .checkbox %label diff --git a/app/views/conference_registrations/show.html.haml b/app/views/conference_registrations/show.html.haml index b6ba793b0..3955331e0 100644 --- a/app/views/conference_registrations/show.html.haml +++ b/app/views/conference_registrations/show.html.haml @@ -21,23 +21,20 @@ .fa-stack .fa-solid.fa-square-dashed .fa-solid.fa-handshake - Code of Conduct + = link_to code_of_conduct_conference_path(@conference.short_title) do + Code of Conduct %ul.fa-ul - if @registration.accepted_code_of_conduct %li.text-info %span.fa-li = icon('fa-solid', 'check') - You have accepted the - = link_to 'Code of Conduct', '#', - data: { toggle: 'modal', target: '#modal-code-of-conduct'} + You have accepted the Code of Conduct - else %li.text-warning %span.fa-li = icon('fa-solid', 'circle-exclamation') - You need to accept the - = link_to 'Code of Conduct', '#', - data: { toggle: 'modal', target: '#modal-code-of-conduct'} - = render 'conferences/code_of_conduct' + You need to accept the Code of Conduct. Please + = link_to 'edit your Registration.', edit_conference_conference_registration_path(@conference.short_title), disabled: @conference.end_date < Date.today - if @conference.surveys.for_registration.any? .row .col-md-12 From 9514171e33d55a4989768d8ea9e71e1f3bd41b14 Mon Sep 17 00:00:00 2001 From: Henne Vogelsang Date: Thu, 30 Jan 2025 17:23:36 +0100 Subject: [PATCH 228/325] Simplify min/max abstract length feature Also clarify that those are words... --- app/helpers/event_types_helper.rb | 2 +- app/views/admin/event_types/_form.html.haml | 2 ++ app/views/proposals/_form.html.haml | 19 +++++++------------ 3 files changed, 10 insertions(+), 13 deletions(-) diff --git a/app/helpers/event_types_helper.rb b/app/helpers/event_types_helper.rb index e200e33cc..1ff517586 100644 --- a/app/helpers/event_types_helper.rb +++ b/app/helpers/event_types_helper.rb @@ -8,6 +8,6 @@ module EventTypesHelper # ====Returns # * +String+ -> number of registrations / max allowed registrations def event_type_select_options(event_types = {}) - event_types.map { |type| ["#{type.title} - #{show_time(type.length)}", type.id] } + event_types.map { |type| ["#{type.title} - #{show_time(type.length)} - #{type.minimum_abstract_length} to #{type.maximum_abstract_length} words", type.id] } end end diff --git a/app/views/admin/event_types/_form.html.haml b/app/views/admin/event_types/_form.html.haml index 813474c30..db74110b6 100644 --- a/app/views/admin/event_types/_form.html.haml +++ b/app/views/admin/event_types/_form.html.haml @@ -16,10 +16,12 @@ = f.text_field :description, class: 'form-control' .form-group = f.label :minimum_abstract_length + (words) %abbr{title: 'This field is required'} * = f.number_field :minimum_abstract_length, size: 3, required: true, class: 'form-control' .form-group = f.label :maximum_abstract_length + (words) %abbr{title: 'This field is required'} * = f.number_field :maximum_abstract_length, size: 3, required: true, class: 'form-control' .form-group diff --git a/app/views/proposals/_form.html.haml b/app/views/proposals/_form.html.haml index 937187edf..71feac075 100644 --- a/app/views/proposals/_form.html.haml +++ b/app/views/proposals/_form.html.haml @@ -29,12 +29,12 @@ .form-group = f.label :event_type_id, 'Type' = f.select :event_type_id, event_type_select_options(@conference.program.event_types), { include_blank: false }, { class: 'select-help-toggle form-control' } + = render 'shared/select_help_text', f: f, for: :event_type_id, options: @conference.program.event_types do |event_type| + = event_type.description - if @program.languages.present? .form-group = f.label :language = f.select :language, @program.languages_list, { include_blank: false}, { class: 'select-help-toggle form-control' } -= render 'shared/select_help_text', f: f, for: :event_type_id, options: @conference.program.event_types do |event_type| - = event_type.description - if display_details - if @conference.program.difficulty_levels.any? = f.label :difficulty_level @@ -43,19 +43,14 @@ = difficulty_level.description .form-group = f.label :abstract - = f.text_area :abstract, required: true, rows: 5, data: { provide: 'markdown' }, class: 'form-control' - %span.help-block - = markdown_hint('[Tips to improve your presentations.](http://blog.hubspot.com/blog/tabid/6307/bid/5975/10-Rules-to-Instantly-Improve-Your-Presentations.aspx)') %p You have used - %span#abstract-count = @event.abstract_word_count - words. Abstracts must be between - %span#abstract-minimum-word-count - 0 - and - %span#abstract-maximum-word-count - 250 + %span#abstract-count + = @event.abstract_word_count words. + = f.text_area :abstract, required: true, rows: 5, data: { provide: 'markdown' }, class: 'form-control' + %span.help-block + = markdown_hint('[Tips to improve your presentations.](http://blog.hubspot.com/blog/tabid/6307/bid/5975/10-Rules-to-Instantly-Improve-Your-Presentations.aspx)') - if display_registration && display_details %h4 Event Registration From 5dc585bdbee125fb824047999357c6d83b7e6669 Mon Sep 17 00:00:00 2001 From: Michael Ball Date: Fri, 31 Jan 2025 09:54:06 -0800 Subject: [PATCH 229/325] fix typo in lockfile --- Gemfile.lock | 105 +++++++++++++++++++++------------------------------ 1 file changed, 44 insertions(+), 61 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 8b30c6b9d..8b05aca0b 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -127,9 +127,9 @@ GEM rack-test (>= 0.6.3) regexp_parser (>= 1.5, < 3.0) xpath (~> 3.2) - carrierwave (3.0.7) - activemodel (>= 6.0.0) - activesupport (>= 6.0.0) + carrierwave (2.2.6) + activemodel (>= 5.0.0) + activesupport (>= 5.0.0) addressable (~> 2.6) image_processing (~> 1.1) marcel (~> 1.0.0) @@ -167,46 +167,37 @@ GEM bigdecimal rexml crass (1.0.6) - cucumber (7.1.0) - builder (~> 3.2, >= 3.2.4) - cucumber-core (~> 10.1, >= 10.1.0) - cucumber-create-meta (~> 6.0, >= 6.0.1) - cucumber-cucumber-expressions (~> 14.0, >= 14.0.0) - cucumber-gherkin (~> 22.0, >= 22.0.0) - cucumber-html-formatter (~> 17.0, >= 17.0.0) - cucumber-messages (~> 17.1, >= 17.1.1) - cucumber-wire (~> 6.2, >= 6.2.0) - diff-lcs (~> 1.4, >= 1.4.4) - mime-types (~> 3.3, >= 3.3.1) - multi_test (~> 0.1, >= 0.1.2) - sys-uname (~> 1.2, >= 1.2.2) - cucumber-core (10.1.1) - cucumber-gherkin (~> 22.0, >= 22.0.0) - cucumber-messages (~> 17.1, >= 17.1.1) - cucumber-tag-expressions (~> 4.1, >= 4.1.0) - cucumber-create-meta (6.0.4) - cucumber-messages (~> 17.1, >= 17.1.1) - sys-uname (~> 1.2, >= 1.2.2) - cucumber-cucumber-expressions (14.0.0) - cucumber-gherkin (22.0.0) - cucumber-messages (~> 17.1, >= 17.1.1) - cucumber-html-formatter (17.0.0) - cucumber-messages (~> 17.1, >= 17.1.0) - cucumber-messages (17.1.1) - cucumber-rails (2.6.1) - capybara (>= 2.18, < 4) - cucumber (>= 3.2, < 9) - mime-types (~> 3.3) - nokogiri (~> 1.10) - railties (>= 5.0, < 8) - rexml (~> 3.0) - webrick (~> 1.7) + cucumber (9.2.1) + builder (~> 3.2) + cucumber-ci-environment (> 9, < 11) + cucumber-core (> 13, < 14) + cucumber-cucumber-expressions (~> 17.0) + cucumber-gherkin (> 24, < 28) + cucumber-html-formatter (> 20.3, < 22) + cucumber-messages (> 19, < 25) + diff-lcs (~> 1.5) + mini_mime (~> 1.1) + multi_test (~> 1.1) + sys-uname (~> 1.2) + cucumber-ci-environment (10.0.1) + cucumber-core (13.0.3) + cucumber-gherkin (>= 27, < 28) + cucumber-messages (>= 20, < 23) + cucumber-tag-expressions (> 5, < 7) + cucumber-cucumber-expressions (17.1.0) + bigdecimal + cucumber-gherkin (27.0.0) + cucumber-messages (>= 19.1.4, < 23) + cucumber-html-formatter (21.8.0) + cucumber-messages (> 19, < 27) + cucumber-messages (22.0.0) + cucumber-rails (3.1.1) + capybara (>= 3.11, < 4) + cucumber (>= 5, < 10) + railties (>= 5.2, < 9) cucumber-rails-training-wheels (1.0.0) cucumber-rails (>= 1.1.1) - cucumber-tag-expressions (4.1.0) - cucumber-wire (6.2.1) - cucumber-core (~> 10.1, >= 10.1.0) - cucumber-cucumber-expressions (~> 14.0, >= 14.0.0) + cucumber-tag-expressions (6.1.2) daemons (1.4.1) dalli (3.2.8) dante (0.2.0) @@ -255,11 +246,9 @@ GEM net-http faraday-retry (2.2.0) faraday (~> 2.0) - fastimage (2.3.!) + fastimage (2.3.1) feature (1.4.0) ffi (1.17.0-arm64-darwin) - ffi (1.17.0-x86_64-darwin) - ffi (1.17.0-x86_64-linux-gnu) font-awesome-sass (6.5.2) sassc (~> 2.0) geckodriver-helper (0.24.0) @@ -291,9 +280,6 @@ GEM hashery (2.1.2) hashie (5.0.0) htmlentities (4.3.4) - http-accept (1.7.0) - http-cookie (1.0.5) - domain_name (~> 0.5) httparty (0.21.0) mini_mime (>= 1.0.0) multi_xml (>= 0.5.2) @@ -336,7 +322,7 @@ GEM letter_opener (~> 1.9) railties (>= 6.1) rexml - logger (1.6.0) + logger (1.6.5) lograge (0.14.0) actionpack (>= 4) activesupport (>= 4) @@ -357,7 +343,6 @@ GEM rake mini_magick (4.13.2) mini_mime (1.1.5) - mini_portile2 (2.8.7) minitest (5.24.1) monetize (1.13.0) money (~> 6.12) @@ -369,6 +354,7 @@ GEM money (~> 6.13) railties (>= 3.0) multi_json (1.15.0) + multi_test (1.1.0) multi_xml (0.7.1) bigdecimal (~> 3.1) multipart-post (2.4.1) @@ -388,10 +374,6 @@ GEM nio4r (2.7.3) nokogiri (1.16.6-arm64-darwin) racc (~> 1.4) - nokogiri (1.16.6-x86_64-darwin) - racc (~> 1.4) - nokogiri (1.16.6-x86_64-linux) - racc (~> 1.4) oauth2 (2.0.9) faraday (>= 0.17.3, < 3.0) jwt (>= 1.0, < 3.0) @@ -428,9 +410,9 @@ GEM omniauth (~> 2.0) orm_adapter (0.5.0) pagy (3.11.0) - paper_trail (15.1.0) - activerecord (>= 6.1) - request_store (~> 1.4) + paper_trail (12.3.0) + activerecord (>= 5.2) + request_store (~> 1.1) parallel (1.25.1) parser (3.3.4.0) ast (~> 2.4.1) @@ -618,6 +600,9 @@ GEM rexml (~> 3.2, >= 3.2.5) rubyzip (>= 1.2.2, < 3.0) websocket (~> 1.0) + sentry-delayed_job (5.17.3) + delayed_job (>= 4.0) + sentry-ruby (~> 5.17.3) sentry-rails (5.17.3) railties (>= 5.0) sentry-ruby (~> 5.17.3) @@ -646,13 +631,15 @@ GEM actionpack (>= 6.1) activesupport (>= 6.1) sprockets (>= 3.0.0) - ssrf_filter (1.1.2) + ssrf_filter (1.2.0) stripe (5.55.0) stripe-ruby-mock (3.1.0) dante (>= 0.2.0) multi_json (~> 1.0) stripe (> 5, < 6) strscan (3.1.0) + sys-uname (1.3.1) + ffi (~> 1.1) sysexits (1.2.0) temple (0.10.3) terminal-table (3.0.2) @@ -703,11 +690,7 @@ GEM zeitwerk (2.6.16) PLATFORMS - arm64-darwin-20 arm64-darwin-23 - x86_64-darwin-21 - x86_64-darwin-23 - x86_64-linux DEPENDENCIES active_model_serializers From 73d88080f5d9e38ce83c2b0029028bd749fe0040 Mon Sep 17 00:00:00 2001 From: Michael Ball Date: Fri, 31 Jan 2025 12:40:17 -0800 Subject: [PATCH 230/325] Finish deprecating organization from SnapCon changes --- app/helpers/application_helper.rb | 5 +- app/models/conference.rb | 4 +- app/models/role.rb | 6 +-- app/models/users_role.rb | 4 +- app/serializers/conference_serializer.rb | 5 +- .../versions/_object_desc_and_link.html.haml | 4 -- app/views/layouts/_snapcon_nav.haml | 3 +- db/schema.rb | 2 - spec/factories/conferences.rb | 3 -- spec/factories/users.rb | 11 ----- spec/features/roles_spec.rb | 46 ------------------- spec/helpers/application_helper_spec.rb | 9 +--- spec/models/conference_spec.rb | 3 -- .../serializers/conference_serializer_spec.rb | 3 -- 14 files changed, 12 insertions(+), 96 deletions(-) diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index ef2762e3e..7a1a0ce41 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -198,7 +198,10 @@ def inyourtz(time, timezone, &) end def visible_conference_links + # @visible_conference_links ||= + # Conference.all.select(:id, :organization_id, :title, :short_title, :start_date).includes(:splashpage, :organization).select { |conf| can?(:show, conf) }.group_by(&:organization) @visible_conference_links ||= - Conference.all.select(:id, :organization_id, :title, :short_title, :start_date).includes(:splashpage, :organization).select { |conf| can?(:show, conf) }.group_by(&:organization) + Conference.all.select(:id, :title, :short_title, :start_date).includes(:splashpage).select { |conf| can?(:show, conf) }.group_by { |conf| conf.title.split(' ').first } + end end diff --git a/app/models/conference.rb b/app/models/conference.rb index f0137cb0d..b1ae3255c 100644 --- a/app/models/conference.rb +++ b/app/models/conference.rb @@ -30,11 +30,9 @@ # use_vpositions :boolean default(FALSE) # created_at :datetime # updated_at :datetime -# organization_id :integer # # Indexes # -# index_conferences_on_organization_id (organization_id) # # rubocop:disable Metrics/ClassLength class Conference < ApplicationRecord @@ -170,7 +168,7 @@ def register_user(user) registration.user = user if registration.save MailblusterEditLeadJob.perform_later( - user.id, add_tags: ["#{organization.name}-#{short_title}"] + user.id, add_tags: ["#{short_title}"] ) return registration end diff --git a/app/models/role.rb b/app/models/role.rb index 5ad6e85d3..8cf32e86b 100644 --- a/app/models/role.rb +++ b/app/models/role.rb @@ -24,7 +24,7 @@ class Role < ApplicationRecord has_paper_trail on: %i[create update], only: %i[name description], - meta: { conference_id: :conference_id, organization_id: :organization_id } + meta: { conference_id: :conference_id } before_destroy :cancel scopify @@ -37,10 +37,6 @@ def conference_id resource_type == 'Conference' ? resource_id : nil end - def organization_id - resource_type == 'Organization' ? resource_id : nil - end - private # Needed to ensure that removing all user from role doesn't remove role. diff --git a/app/models/users_role.rb b/app/models/users_role.rb index 621d42d37..767468875 100644 --- a/app/models/users_role.rb +++ b/app/models/users_role.rb @@ -16,8 +16,8 @@ class UsersRole < ApplicationRecord belongs_to :role belongs_to :user - delegate :conference_id, :organization_id, to: :role + delegate :conference_id, to: :role has_paper_trail on: %i[create destroy], - meta: { conference_id: :conference_id, organization_id: :organization_id } + meta: { conference_id: :conference_id } end diff --git a/app/serializers/conference_serializer.rb b/app/serializers/conference_serializer.rb index 08bce729a..b7b8547d5 100644 --- a/app/serializers/conference_serializer.rb +++ b/app/serializers/conference_serializer.rb @@ -30,12 +30,9 @@ # use_vpositions :boolean default(FALSE) # created_at :datetime # updated_at :datetime -# organization_id :integer # # Indexes -# -# index_conferences_on_organization_id (organization_id) -# +,# class ConferenceSerializer < ActiveModel::Serializer include ApplicationHelper include Rails.application.routes.url_helpers diff --git a/app/views/admin/versions/_object_desc_and_link.html.haml b/app/views/admin/versions/_object_desc_and_link.html.haml index f6921bd73..5291208d0 100644 --- a/app/views/admin/versions/_object_desc_and_link.html.haml +++ b/app/views/admin/versions/_object_desc_and_link.html.haml @@ -188,10 +188,6 @@ - unless commercial.commercialable_type == 'Conference' in conference = link_to_conference(version.conference_id) - - elsif version.organization_id - - organization = Organization.find(version.organization_id) - in organization - = link_to_organization(version.organization_id) - else in conference = link_to_conference(version.conference_id) diff --git a/app/views/layouts/_snapcon_nav.haml b/app/views/layouts/_snapcon_nav.haml index 82dc820ed..12208230b 100644 --- a/app/views/layouts/_snapcon_nav.haml +++ b/app/views/layouts/_snapcon_nav.haml @@ -9,8 +9,9 @@ All Events %b.caret %ul.dropdown-menu + -# TODO-SNAPCON: rename/redo org grouping. - visible_conference_links.each_with_index do |(org, confs), index| - %li.dropdown-header= org.name + %li.dropdown-header= org - confs.sort_by(&:start_date).each do |conf| %li= link_to(conf.title, conference_path(conf.short_title)) - if index < visible_conference_links.length - 1 diff --git a/db/schema.rb b/db/schema.rb index 2588d24b9..835f86307 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -673,9 +673,7 @@ t.text "object_changes" t.datetime "created_at", precision: nil t.integer "conference_id" - t.bigint "organization_id" t.index ["item_type", "item_id"], name: "index_versions_on_item_type_and_item_id" - t.index ["organization_id"], name: "index_versions_on_organization_id" end create_table "votes", force: :cascade do |t| diff --git a/spec/factories/conferences.rb b/spec/factories/conferences.rb index 7f87ccd7e..a0f2088ed 100644 --- a/spec/factories/conferences.rb +++ b/spec/factories/conferences.rb @@ -30,12 +30,9 @@ # use_vpositions :boolean default(FALSE) # created_at :datetime # updated_at :datetime -# organization_id :integer # # Indexes # -# index_conferences_on_organization_id (organization_id) -# FactoryBot.define do factory :conference do diff --git a/spec/factories/users.rb b/spec/factories/users.rb index f9135376c..fcd84d14c 100644 --- a/spec/factories/users.rb +++ b/spec/factories/users.rb @@ -119,17 +119,6 @@ biography { '
' } end - factory :organization_admin, parent: :user do - transient do - organization { create(:organization) } - end - - after(:create) do |user, evaluator| - user.roles << Role.find_or_create_by(name: 'organization_admin', resource: evaluator.organization) - user.save! - end - end - factory :organizer, parent: :user do transient do resource { create(:resource) } diff --git a/spec/features/roles_spec.rb b/spec/features/roles_spec.rb index dff041316..24cf280e3 100644 --- a/spec/features/roles_spec.rb +++ b/spec/features/roles_spec.rb @@ -104,52 +104,6 @@ end end - context 'organization_admin' do - let!(:organization) { create(:organization) } - let!(:org_admin_role) { Role.find_by(name: 'organization_admin', resource: organization) } - let!(:organization_admin) { create(:user, role_ids: [org_admin_role.id]) } - let(:user_with_no_role) { create(:user) } - let!(:other_organization) { create(:organization) } - - before do - sign_in organization_admin - visit admin_organizations_path - end - - context 'for the organization it belongs to' do - it 'successfully adds role organization_admin' do - click_link('Admins', href: admins_admin_organization_path(organization.id)) - - fill_in 'user_email', with: user_with_no_role.email - click_button 'Add' - user_with_no_role.reload - - expect(user_with_no_role.has_cached_role?('organization_admin', organization)).to be true - end - - it 'successfully removes role organization_admin' do - click_link('Admins', href: admins_admin_organization_path(organization.id)) - - first('tbody > tr').find('.btn-danger').click - organization_admin.reload - expect(organization_admin.has_cached_role?('organization_admin', organization)).to be false - end - end - - context 'for the organizations it does not belong to' do - it 'does not successfully add role organization_admin' do - click_link('Admins', href: admins_admin_organization_path(other_organization.id)) - - expect(page.has_field?('user_email')).to be false - end - - it 'does not successfully removes role organization_admin' do - click_link('Admins', href: admins_admin_organization_path(other_organization.id)) - expect(page.has_css?('.btn-danger')).to be false - end - end - end - context 'organizer' do Role.all.each.map(&:name).each do |role| it_behaves_like 'successfully', role, 'organizer' diff --git a/spec/helpers/application_helper_spec.rb b/spec/helpers/application_helper_spec.rb index 244a7edde..f77592b90 100644 --- a/spec/helpers/application_helper_spec.rb +++ b/spec/helpers/application_helper_spec.rb @@ -115,18 +115,11 @@ end describe '#conference_logo_url' do - let(:organization) { create(:organization) } - let(:conference2) { create(:conference, organization: organization) } + let(:conference2) { create(:conference) } it 'gives the correct logo url' do expect(conference_logo_url(conference2)).to eq('snapcon_logo.png') - File.open('spec/support/logos/1.png') do |file| - organization.picture = file - end - - expect(conference_logo_url(conference2)).to include(organization.picture.thumb.url) - File.open('spec/support/logos/2.png') do |file| conference2.picture = file end diff --git a/spec/models/conference_spec.rb b/spec/models/conference_spec.rb index e96d69fac..435a80f6c 100644 --- a/spec/models/conference_spec.rb +++ b/spec/models/conference_spec.rb @@ -30,12 +30,9 @@ # use_vpositions :boolean default(FALSE) # created_at :datetime # updated_at :datetime -# organization_id :integer # # Indexes # -# index_conferences_on_organization_id (organization_id) -# require 'spec_helper' context 'Delegation' do diff --git a/spec/serializers/conference_serializer_spec.rb b/spec/serializers/conference_serializer_spec.rb index 9931bc72f..1cbbdefca 100644 --- a/spec/serializers/conference_serializer_spec.rb +++ b/spec/serializers/conference_serializer_spec.rb @@ -30,12 +30,9 @@ # use_vpositions :boolean default(FALSE) # created_at :datetime # updated_at :datetime -# organization_id :integer # # Indexes # -# index_conferences_on_organization_id (organization_id) -# require 'spec_helper' describe ConferenceSerializer, type: :serializer do From a3e42b68d55a3415d773410ee489e7ade1734fde Mon Sep 17 00:00:00 2001 From: Michael Ball Date: Sat, 1 Feb 2025 21:43:48 -0800 Subject: [PATCH 231/325] fix syntax error --- app/serializers/conference_serializer.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/serializers/conference_serializer.rb b/app/serializers/conference_serializer.rb index b7b8547d5..c04829db2 100644 --- a/app/serializers/conference_serializer.rb +++ b/app/serializers/conference_serializer.rb @@ -32,7 +32,7 @@ # updated_at :datetime # # Indexes -,# +# class ConferenceSerializer < ActiveModel::Serializer include ApplicationHelper include Rails.application.routes.url_helpers From 8ec12f035de9169d9602a0d8fad1f83c57384114 Mon Sep 17 00:00:00 2001 From: Michael Ball Date: Sat, 1 Feb 2025 21:43:58 -0800 Subject: [PATCH 232/325] add temp file to compare diffs --- .../_total_purchased_tmp.haml | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 app/views/conference_registrations/_total_purchased_tmp.haml diff --git a/app/views/conference_registrations/_total_purchased_tmp.haml b/app/views/conference_registrations/_total_purchased_tmp.haml new file mode 100644 index 000000000..fb3796a48 --- /dev/null +++ b/app/views/conference_registrations/_total_purchased_tmp.haml @@ -0,0 +1,45 @@ +------------ SnapCon: +.col-md-12 + - @total_price_per_currency.each do |currency, total_price| + %h4 + Total Purchased (#{currency}): + = humanized_money_with_symbol(total_price) + %ul + - @total_price_per_ticket_per_currency.select { |(id, curr)| curr == currency }.each do |(ticket_id, curr), total_amount| + - purchase = @purchases.find { |p| p.ticket_id == ticket_id && p.currency == curr } + %li + - title = purchase.title.titleize.gsub(/(?i)\bticket\b/, 'Tickets') + - title = title.include?('Tickets') ? title : "#{title} Tickets" + = "#{@total_quantity[[ticket_id, currency]]} #{title} for " + = humanized_money_with_symbol(total_amount) + .btn-group{ role: 'group' } + = link_to 'View all tickets', + conference_physical_tickets_path(@conference.short_title), + class: 'btn btn-success' + = link_to 'Get more tickets', + conference_tickets_path(@conference.short_title), + class: 'btn btn-default' + + + +----------- OSEM: +Total Purchased: += "(#{@tickets.first.price.symbol}#{humanized_money @total_price})" +%ul + .col-md-12 + - @ticket_payments.each_pair do |ticket_id, tickets| + %li + = @total_quantity[ticket_id] + = tickets.first.title + = pluralize(@total_quantity[ticket_id], 'Ticket') + for + = tickets.first.price.symbol + = humanized_money @total_price_per_ticket[ticket_id] + %br +.btn-group{ role: 'group' } + = link_to 'View all tickets', + conference_physical_tickets_path(@conference.short_title), + class: 'btn btn-success' + = link_to 'Get more tickets', + conference_tickets_path(@conference.short_title), + class: 'btn btn-default' From 826a517505c9d37fa94b37b19eed65043f358f0b Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Mon, 10 Feb 2025 18:26:38 +0000 Subject: [PATCH 233/325] Update net-imap to version 0.5.6 --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 9ef451e2e..b8b4c7f49 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -314,7 +314,7 @@ GEM multipart-post (2.4.1) net-http (0.6.0) uri - net-imap (0.5.1) + net-imap (0.5.6) date net-protocol net-pop (0.1.2) @@ -569,7 +569,7 @@ GEM thor (1.3.2) tilt (2.4.0) timecop (0.9.10) - timeout (0.4.2) + timeout (0.4.3) transitions (1.3.0) ttfunk (1.8.0) bigdecimal (~> 3.1) From d40a644c4835be2d8ed0a6a513900503736b4e59 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Wed, 12 Feb 2025 20:26:36 +0000 Subject: [PATCH 234/325] Update rack to version 2.2.11 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index b8b4c7f49..9cdfb171f 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -397,7 +397,7 @@ GEM puma (6.5.0) nio4r (~> 2.0) racc (1.8.1) - rack (2.2.10) + rack (2.2.11) rack-openid (1.4.2) rack (>= 1.1.0) ruby-openid (>= 2.1.8) From 3501617ea5e8142cbdeb2db747383fab0b6a8168 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Wed, 19 Feb 2025 00:21:49 +0000 Subject: [PATCH 235/325] Update nokogiri to version 1.18.3 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 27ce04a93..9253c6a4b 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -326,7 +326,7 @@ GEM next_rails (1.4.2) rainbow (>= 3) nio4r (2.7.4) - nokogiri (1.17.1) + nokogiri (1.18.3) mini_portile2 (~> 2.8.2) racc (~> 1.4) oauth2 (2.0.9) From aad100a62144708b060c531a24222926179c7771 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Fri, 21 Feb 2025 11:30:28 +0000 Subject: [PATCH 236/325] Update rails-html-sanitizer to version 1.6.2 --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 9253c6a4b..125acd2f4 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -282,7 +282,7 @@ GEM activesupport (>= 4) railties (>= 4) request_store (~> 1.0) - loofah (2.23.1) + loofah (2.24.0) crass (~> 1.0.2) nokogiri (>= 1.12.0) mail (2.8.1) @@ -428,7 +428,7 @@ GEM activesupport (>= 5.0.0) minitest nokogiri (>= 1.6) - rails-html-sanitizer (1.6.1) + rails-html-sanitizer (1.6.2) 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-i18n (7.0.9) From a63278cfdb52f86ae619cc9b47c775061722cd3a Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Tue, 4 Mar 2025 00:11:43 +0000 Subject: [PATCH 237/325] Update uri to version 1.0.3 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 125acd2f4..d15ac7912 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -585,7 +585,7 @@ GEM unicode-emoji (4.0.4) unobtrusive_flash (3.3.1) railties - uri (1.0.2) + uri (1.0.3) version_gem (1.1.4) warden (1.2.9) rack (>= 2.0.9) From 6d0ff5c687793bec719b3bbc4457c10a12adcf78 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Tue, 4 Mar 2025 16:34:55 +0000 Subject: [PATCH 238/325] Update rack to version 2.2.12 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index d15ac7912..cb8afe4ef 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -397,7 +397,7 @@ GEM puma (6.5.0) nio4r (~> 2.0) racc (1.8.1) - rack (2.2.11) + rack (2.2.12) rack-openid (1.4.2) rack (>= 1.1.0) ruby-openid (>= 2.1.8) From 26ac12f7e0e1019c0a4eb628ff3f5d5d2eec625e Mon Sep 17 00:00:00 2001 From: Michael Ball Date: Fri, 7 Mar 2025 11:44:55 -0800 Subject: [PATCH 239/325] regen rubocop config --- .rubocop_todo.yml | 1428 ++++++--------------------------------------- 1 file changed, 164 insertions(+), 1264 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 693f4507f..6b31dbe76 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -1,6 +1,6 @@ # This configuration was generated by # `rubocop --auto-gen-config` -# on 2024-12-02 11:47:52 UTC using RuboCop version 1.66.1. +# on 2025-03-07 19:33:21 UTC using RuboCop version 1.69.2. # The point is for the user to remove these configuration records # one by one as the offenses are removed from the code base. # Note that changes in the inspected code, or installation of new @@ -14,29 +14,22 @@ Bundler/OrderedGems: Exclude: - 'Gemfile' -# Offense count: 151 +# Offense count: 176 # Configuration parameters: EnforcedStyle. # SupportedStyles: link_or_button, strict Capybara/ClickLinkOrButtonStyle: Enabled: false -# Offense count: 280 +# Offense count: 20 # This cop supports safe autocorrection (--autocorrect). -Capybara/CurrentPathExpectation: +# Configuration parameters: EnforcedStyle. +# SupportedStyles: have_no, not_to +Capybara/NegationMatcher: Exclude: - - 'spec/features/base_controller_spec.rb' - - 'spec/features/cfp_ability_spec.rb' - - 'spec/features/conference_registration_spec.rb' - - 'spec/features/info_desk_ability_spec.rb' - - 'spec/features/organizer_ability_spec.rb' - 'spec/features/proposals_spec.rb' - - 'spec/features/registration_periods_spec.rb' - 'spec/features/splashpage_spec.rb' - - 'spec/features/ticket_purchases_spec.rb' - - 'spec/features/track_organizer_ability_spec.rb' - - 'spec/features/user_ability_spec.rb' -# Offense count: 13 +# Offense count: 9 # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: DefaultSelector. Capybara/RSpec/HaveSelector: @@ -49,11 +42,16 @@ Capybara/RSpec/HaveSelector: - 'spec/features/track_organizer_ability_spec.rb' - 'spec/features/voting_spec.rb' -# Offense count: 78 +# Offense count: 102 # This cop supports safe autocorrection (--autocorrect). Capybara/SpecificFinders: Enabled: false +# Offense count: 1 +Capybara/SpecificMatcher: + Exclude: + - 'spec/features/sponsor_spec.rb' + # Offense count: 8 # This cop supports unsafe autocorrection (--autocorrect-all). # Configuration parameters: EnforcedStyle, NonImplicitAssociationMethodNames. @@ -66,20 +64,6 @@ FactoryBot/AssociationStyle: - 'spec/factories/surveys.rb' - 'spec/factories/tracks.rb' -# Offense count: 11 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: Include, EnforcedStyle, ExplicitOnly. -# Include: **/*_spec.rb, **/spec/**/*, **/test/**/*, **/features/support/factories/**/*.rb -# SupportedStyles: require_parentheses, omit_parentheses -FactoryBot/ConsistentParenthesesStyle: - Exclude: - - 'spec/controllers/proposals_controller_spec.rb' - - 'spec/features/proposals_spec.rb' - - 'spec/features/roles_spec.rb' - - 'spec/features/surveys_spec.rb' - - 'spec/models/resource_spec.rb' - - 'spec/models/ticket_spec.rb' - # Offense count: 3 # Configuration parameters: Include. # Include: **/*_spec.rb, **/spec/**/*, **/test/**/*, **/features/support/factories/**/*.rb @@ -88,348 +72,60 @@ FactoryBot/FactoryAssociationWithStrategy: - 'spec/factories/booths.rb' - 'spec/factories/users.rb' -# Offense count: 1 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: IndentationWidth. -Layout/AssignmentIndentation: - Exclude: - - 'app/helpers/format_helper.rb' - -# Offense count: 4 -# This cop supports safe autocorrection (--autocorrect). -Layout/ClosingParenthesisIndentation: - Exclude: - - 'app/controllers/conference_registrations_controller.rb' - - 'app/controllers/proposals_controller.rb' - - 'app/models/commercial.rb' - - 'spec/controllers/users/omniauth_callbacks_controller_spec.rb' - -# Offense count: 5 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: AllowForAlignment. -Layout/CommentIndentation: - Exclude: - - 'app/controllers/admin/comments_controller.rb' - - 'app/controllers/admin/difficulty_levels_controller.rb' - - 'app/models/conference.rb' - - 'app/models/program.rb' - - 'app/models/track.rb' - -# Offense count: 3 -# This cop supports safe autocorrection (--autocorrect). -Layout/EmptyLineAfterGuardClause: - Exclude: - - 'app/controllers/subscriptions_controller.rb' - - 'app/models/program.rb' - -# Offense count: 1 -# This cop supports safe autocorrection (--autocorrect). -Layout/EmptyLineAfterMagicComment: - Exclude: - - 'spec/models/conference_spec.rb' - -# Offense count: 101 +# Offense count: 6 # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: EnforcedStyle. # SupportedStyles: empty_lines, no_empty_lines Layout/EmptyLinesAroundBlockBody: - Enabled: false - -# Offense count: 1 -# This cop supports safe autocorrection (--autocorrect). -Layout/EmptyLinesAroundExceptionHandlingKeywords: - Exclude: - - 'app/models/payment.rb' - -# Offense count: 6 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: AllowForAlignment, AllowBeforeTrailingComments, ForceEqualSignAlignment. -Layout/ExtraSpacing: - Exclude: - - 'app/controllers/application_controller.rb' - - 'app/views/admin/events/_all_with_comments.xlsx.axlsx' - - 'db/migrate/20140623101032_create_ahoy_events.rb' - - 'db/migrate/20140701123203_add_events_per_week_to_conference.rb' - - 'db/migrate/20140719160903_create_delayed_jobs.rb' - - 'spec/models/conference_spec.rb' - -# Offense count: 42 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: EnforcedStyle, IndentationWidth. -# SupportedStyles: consistent, consistent_relative_to_receiver, special_for_inner_method_call, special_for_inner_method_call_in_parentheses -Layout/FirstArgumentIndentation: - Enabled: false - -# Offense count: 2 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: EnforcedStyle, IndentationWidth. -# SupportedStyles: special_inside_parentheses, consistent, align_brackets -Layout/FirstArrayElementIndentation: - Exclude: - - 'app/models/conference.rb' - -# Offense count: 4 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: EnforcedStyle, IndentationWidth. -# SupportedStyles: special_inside_parentheses, consistent, align_braces -Layout/FirstHashElementIndentation: - Exclude: - - 'app/models/user.rb' - - 'config/routes.rb' - - 'db/migrate/20140701123203_add_events_per_week_to_conference.rb' - -# Offense count: 2 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: EnforcedStyle. -# SupportedStyles: normal, indented_internal_methods -Layout/IndentationConsistency: - Exclude: - - 'app/controllers/users_controller.rb' - - 'app/models/event.rb' - -# Offense count: 1 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: IndentationWidth, EnforcedStyle. -# SupportedStyles: spaces, tabs -Layout/IndentationStyle: - Exclude: - - 'app/controllers/admin/resources_controller.rb' - -# Offense count: 1 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: Width, AllowedPatterns. -Layout/IndentationWidth: - Exclude: - - 'app/controllers/users_controller.rb' - -# Offense count: 2 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: AllowDoxygenCommentStyle, AllowGemfileRubyComment. -Layout/LeadingCommentSpace: - Exclude: - - 'app/models/comment.rb' - -# Offense count: 18 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: EnforcedStyle. -# SupportedStyles: space, no_space -Layout/LineContinuationSpacing: Exclude: - - 'app/controllers/admin/booths_controller.rb' - - 'app/controllers/admin/cfps_controller.rb' - - 'app/controllers/admin/commercials_controller.rb' - - 'app/controllers/admin/difficulty_levels_controller.rb' - - 'app/controllers/admin/event_types_controller.rb' - - 'app/controllers/admin/registrations_controller.rb' - - 'app/controllers/admin/splashpages_controller.rb' - - 'app/controllers/admin/venue_commercials_controller.rb' - - 'app/controllers/admin/venues_controller.rb' - - 'app/controllers/conference_registrations_controller.rb' - - 'app/models/cfp.rb' - -# Offense count: 31 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: EnforcedStyle, IndentationWidth. -# SupportedStyles: aligned, indented -Layout/LineEndStringConcatenationIndentation: - Enabled: false + - 'spec/features/cfp_ability_spec.rb' + - 'spec/features/info_desk_ability_spec.rb' + - 'spec/features/organizer_ability_spec.rb' + - 'spec/features/ticket_purchases_spec.rb' + - 'spec/features/track_organizer_ability_spec.rb' + - 'spec/features/user_ability_spec.rb' # Offense count: 1 # This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: EnforcedStyle. -# SupportedStyles: symmetrical, new_line, same_line -Layout/MultilineArrayBraceLayout: - Exclude: - - 'app/controllers/conference_registrations_controller.rb' - -# Offense count: 5 -# This cop supports safe autocorrection (--autocorrect). -Layout/MultilineBlockLayout: +Layout/EmptyLinesAroundMethodBody: Exclude: - - 'app/serializers/conference_serializer.rb' + - 'app/helpers/application_helper.rb' # Offense count: 7 # This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: EnforcedStyle. -# SupportedStyles: symmetrical, new_line, same_line -Layout/MultilineHashBraceLayout: - Exclude: - - 'app/serializers/conference_serializer.rb' - - 'config/routes.rb' - - 'spec/models/event_spec.rb' - -# Offense count: 32 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: EnforcedStyle. -# SupportedStyles: symmetrical, new_line, same_line -Layout/MultilineMethodCallBraceLayout: - Enabled: false - -# Offense count: 38 -# This cop supports safe autocorrection (--autocorrect). # Configuration parameters: EnforcedStyle, IndentationWidth. # SupportedStyles: aligned, indented, indented_relative_to_receiver Layout/MultilineMethodCallIndentation: - Enabled: false + Exclude: + - 'app/models/cfp.rb' + - 'app/models/conference.rb' + - 'app/models/registration_period.rb' -# Offense count: 18 +# Offense count: 1 # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: EnforcedStyle, IndentationWidth. # SupportedStyles: aligned, indented Layout/MultilineOperationIndentation: Exclude: - - 'app/controllers/application_controller.rb' - 'app/models/conference.rb' - - 'app/models/event.rb' - - 'db/migrate/20140701123203_add_events_per_week_to_conference.rb' - -# Offense count: 64 -# This cop supports safe autocorrection (--autocorrect). -Layout/SpaceAfterComma: - Exclude: - - 'app/views/admin/booths/_all_booths.xlsx.axlsx' - - 'app/views/admin/booths/_confirmed_booths.xlsx.axlsx' - - 'app/views/admin/events/_all_events.xlsx.axlsx' - - 'app/views/admin/events/_all_with_comments.xlsx.axlsx' - - 'app/views/admin/events/_confirmed_events.xlsx.axlsx' - - 'app/views/admin/tracks/_all_tracks.xlsx.axlsx' - - 'app/views/admin/tracks/_confirmed_tracks.xlsx.axlsx' - - 'lib/tasks/data_demo.rake' - -# Offense count: 3 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: EnforcedStyle. -# SupportedStyles: space, no_space -Layout/SpaceAroundEqualsInParameterDefault: - Exclude: - - 'app/helpers/format_helper.rb' - - 'app/models/event.rb' - -# Offense count: 1 -# This cop supports safe autocorrection (--autocorrect). -Layout/SpaceAroundKeyword: - Exclude: - - 'config/initializers/feature.rb' # Offense count: 3 # This cop supports safe autocorrection (--autocorrect). -Layout/SpaceAroundMethodCallOperator: - Exclude: - - 'spec/features/cfp_ability_spec.rb' - - 'spec/features/organizer_ability_spec.rb' - - 'spec/models/program_spec.rb' - -# Offense count: 2 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: AllowForAlignment, EnforcedStyleForExponentOperator, EnforcedStyleForRationalLiterals. -# SupportedStylesForExponentOperator: space, no_space -# SupportedStylesForRationalLiterals: space, no_space -Layout/SpaceAroundOperators: - Exclude: - - 'app/views/admin/events/_all_with_comments.xlsx.axlsx' - - 'lib/tasks/data.rake' - -# Offense count: 138 -# This cop supports safe autocorrection (--autocorrect). # Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces. # SupportedStyles: space, no_space # SupportedStylesForEmptyBraces: space, no_space Layout/SpaceBeforeBlockBraces: - Enabled: false - -# Offense count: 7 -# This cop supports safe autocorrection (--autocorrect). -Layout/SpaceBeforeComma: - Exclude: - - 'app/views/admin/booths/_all_booths.xlsx.axlsx' - - 'app/views/admin/booths/_confirmed_booths.xlsx.axlsx' - - 'app/views/admin/events/_all_events.xlsx.axlsx' - - 'app/views/admin/events/_confirmed_events.xlsx.axlsx' - - 'app/views/admin/tracks/_all_tracks.xlsx.axlsx' - - 'app/views/admin/tracks/_confirmed_tracks.xlsx.axlsx' - - 'lib/tasks/data_demo.rake' - -# Offense count: 5 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: AllowForAlignment. -Layout/SpaceBeforeFirstArg: - Exclude: - - 'app/controllers/admin/booths_controller.rb' - -# Offense count: 8 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBrackets. -# SupportedStyles: space, no_space, compact -# SupportedStylesForEmptyBrackets: space, no_space -Layout/SpaceInsideArrayLiteralBrackets: Exclude: - - 'config/initializers/devise.rb' - - 'config/routes.rb' + - 'spec/ability/ability_spec.rb' -# Offense count: 42 +# Offense count: 1 # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces, SpaceBeforeBlockParameters. # SupportedStyles: space, no_space # SupportedStylesForEmptyBraces: space, no_space Layout/SpaceInsideBlockBraces: Exclude: - - 'app/controllers/admin/comments_controller.rb' - - 'app/controllers/admin/questions_controller.rb' - - 'app/helpers/application_helper.rb' - - 'app/models/program.rb' - - 'app/models/ticket.rb' - - 'app/models/user.rb' - - 'lib/tasks/events_registrations.rake' - 'spec/ability/ability_spec.rb' - - 'spec/controllers/admin/event_schedules_controller_spec.rb' - - 'spec/controllers/admin/schedules_controller_spec.rb' - - 'spec/features/splashpage_spec.rb' - - 'spec/models/user_spec.rb' - -# Offense count: 37 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces. -# SupportedStyles: space, no_space, compact -# SupportedStylesForEmptyBraces: space, no_space -Layout/SpaceInsideHashLiteralBraces: - Exclude: - - 'app/controllers/api/v1/speakers_controller.rb' - - 'app/models/conference.rb' - - 'app/models/event_type.rb' - - 'app/models/user.rb' - - 'app/views/admin/booths/_all_booths.xlsx.axlsx' - - 'app/views/admin/booths/_confirmed_booths.xlsx.axlsx' - - 'app/views/admin/events/_all_events.xlsx.axlsx' - - 'app/views/admin/events/_confirmed_events.xlsx.axlsx' - - 'app/views/admin/events/events.xlsx.axlsx' - - 'app/views/admin/tracks/_all_tracks.xlsx.axlsx' - - 'app/views/admin/tracks/_confirmed_tracks.xlsx.axlsx' - - 'config/routes.rb' - - 'spec/models/event_spec.rb' - - 'spec/models/payment_spec.rb' - -# Offense count: 4 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: EnforcedStyle. -# SupportedStyles: space, compact, no_space -Layout/SpaceInsideParens: - Exclude: - - 'app/views/admin/registrations/index.xlsx.axlsx' - -# Offense count: 2 -# This cop supports safe autocorrection (--autocorrect). -Layout/SpaceInsidePercentLiteralDelimiters: - Exclude: - - 'Gemfile' - -# Offense count: 2 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: EnforcedStyle. -# SupportedStyles: final_newline, final_blank_line -Layout/TrailingEmptyLines: - Exclude: - - 'lib/tasks/event_attatchments.rake' - - 'lib/tasks/roles.rake' # Offense count: 11 # This cop supports safe autocorrection (--autocorrect). @@ -444,7 +140,7 @@ Lint/AmbiguousBlockAssociation: - 'spec/models/user_spec.rb' # Offense count: 3 -# Configuration parameters: IgnoreLiteralBranches, IgnoreConstantBranches. +# Configuration parameters: IgnoreLiteralBranches, IgnoreConstantBranches, IgnoreDuplicateElseBranch. Lint/DuplicateBranch: Exclude: - 'app/helpers/format_helper.rb' @@ -456,35 +152,7 @@ Lint/IneffectiveAccessModifier: - 'app/models/commercial.rb' - 'app/models/conference.rb' -# Offense count: 4 -# This cop supports unsafe autocorrection (--autocorrect-all). -Lint/NonAtomicFileOperation: - Exclude: - - 'spec/support/save_feature_failures.rb' - -# Offense count: 1 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: AutoCorrect, IgnoreEmptyBlocks, AllowUnusedKeywordArguments. -Lint/UnusedBlockArgument: - Exclude: - - 'lib/tasks/user.rake' - -# Offense count: 2 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: AutoCorrect, AllowUnusedKeywordArguments, IgnoreEmptyMethods, IgnoreNotImplementedMethods. -Lint/UnusedMethodArgument: - Exclude: - - 'app/helpers/application_helper.rb' - - 'config/initializers/fuckups.rb' - -# Offense count: 2 -# This cop supports safe autocorrection (--autocorrect). -Lint/UriRegexp: - Exclude: - - 'app/models/commercial.rb' - - 'app/models/contact.rb' - -# Offense count: 125 +# Offense count: 111 # Configuration parameters: AllowedMethods, AllowedPatterns, CountRepeatedAttributes. Metrics/AbcSize: Max: 70 @@ -493,24 +161,19 @@ Metrics/AbcSize: # Configuration parameters: CountComments, CountAsOne, AllowedMethods, AllowedPatterns, inherit_mode. # AllowedMethods: refine Metrics/BlockLength: - Max: 202 - -# Offense count: 1 -# Configuration parameters: CountBlocks, CountModifierForms. -Metrics/BlockNesting: - Max: 4 + Max: 98 -# Offense count: 14 +# Offense count: 15 # Configuration parameters: CountComments, CountAsOne. Metrics/ClassLength: - Max: 649 + Max: 270 -# Offense count: 25 +# Offense count: 26 # Configuration parameters: AllowedMethods, AllowedPatterns. Metrics/CyclomaticComplexity: Max: 15 -# Offense count: 126 +# Offense count: 124 # Configuration parameters: CountComments, CountAsOne, AllowedMethods, AllowedPatterns. Metrics/MethodLength: Max: 55 @@ -518,12 +181,12 @@ Metrics/MethodLength: # Offense count: 4 # Configuration parameters: CountComments, CountAsOne. Metrics/ModuleLength: - Max: 158 + Max: 151 -# Offense count: 21 +# Offense count: 24 # Configuration parameters: AllowedMethods, AllowedPatterns. Metrics/PerceivedComplexity: - Max: 17 + Max: 16 # Offense count: 13 Naming/AccessorMethodName: @@ -568,12 +231,6 @@ Naming/VariableNumber: - 'spec/models/payment_spec.rb' - 'spec/models/ticket_purchase_spec.rb' -# Offense count: 1 -# This cop supports unsafe autocorrection (--autocorrect-all). -Performance/Casecmp: - Exclude: - - 'config/environments/production.rb' - # Offense count: 1 # Configuration parameters: MinSize. Performance/CollectionLiteralInLoop: @@ -593,12 +250,6 @@ Performance/MapCompact: Exclude: - 'app/datatables/registration_datatable.rb' -# Offense count: 2 -# This cop supports unsafe autocorrection (--autocorrect-all). -Performance/StringInclude: - Exclude: - - 'app/models/commercial.rb' - # Offense count: 32 RSpec/AnyInstance: Exclude: @@ -619,104 +270,29 @@ RSpec/BeEmpty: - 'spec/controllers/conference_registration_controller_spec.rb' - 'spec/models/conference_spec.rb' -# Offense count: 143 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: EnabledMethods. -RSpec/Capybara/FeatureMethods: - Exclude: - - 'spec/features/proposals_spec.rb' - - 'spec/features/user_spec.rb' - - 'spec/features/voting_spec.rb' - -# Offense count: 302 +# Offense count: 321 # Configuration parameters: Prefixes, AllowedPatterns. # Prefixes: when, with, without RSpec/ContextWording: Enabled: false -# Offense count: 141 +# Offense count: 138 # This cop supports unsafe autocorrection (--autocorrect-all). # Configuration parameters: SkipBlocks, EnforcedStyle, OnlyStaticConstants. # SupportedStyles: described_class, explicit RSpec/DescribedClass: Enabled: false -# Offense count: 11 +# Offense count: 1 # This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: AllowConsecutiveOneLiners. -RSpec/EmptyLineAfterExample: +RSpec/EmptyLineAfterSubject: Exclude: - 'spec/ability/ability_spec.rb' - - 'spec/controllers/admin/comments_controller_spec.rb' - - 'spec/controllers/admin/registration_periods_controller_spec.rb' - - 'spec/controllers/admin/users_controller_spec.rb' - - 'spec/helpers/events_helper_spec.rb' - - 'spec/models/event_spec.rb' - - 'spec/models/survey_spec.rb' - -# Offense count: 3 -# This cop supports safe autocorrection (--autocorrect). -RSpec/EmptyLineAfterExampleGroup: - Exclude: - - 'spec/controllers/admin/users_controller_spec.rb' - -# Offense count: 10 -# This cop supports safe autocorrection (--autocorrect). -RSpec/EmptyLineAfterFinalLet: - Exclude: - - 'spec/controllers/admin/event_schedules_controller_spec.rb' - - 'spec/controllers/admin/users_controller_spec.rb' - - 'spec/controllers/application_controller_spec.rb' - - 'spec/models/conference_spec.rb' - - 'spec/models/payment_spec.rb' - - 'spec/models/ticket_spec.rb' - -# Offense count: 12 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: AllowConsecutiveOneLiners. -RSpec/EmptyLineAfterHook: - Exclude: - - 'spec/controllers/admin/booths_controller_spec.rb' - - 'spec/controllers/admin/comments_controller_spec.rb' - - 'spec/controllers/admin/ticket_scannings_controller_spec.rb' - - 'spec/controllers/admin/users_controller_spec.rb' - - 'spec/features/roles_spec.rb' - - 'spec/models/conference_spec.rb' - - 'spec/models/payment_spec.rb' - - 'spec/models/program_spec.rb' - -# Offense count: 8 -# This cop supports safe autocorrection (--autocorrect). -RSpec/EmptyLineAfterSubject: - Exclude: - - 'spec/ability/ability_spec.rb' - - 'spec/models/booth_spec.rb' - - 'spec/models/cfp_spec.rb' - - 'spec/models/event_spec.rb' - - 'spec/models/program_spec.rb' - - 'spec/models/registration_spec.rb' - - 'spec/models/survey_spec.rb' - - 'spec/models/track_spec.rb' -# Offense count: 202 +# Offense count: 240 # Configuration parameters: CountAsOne. RSpec/ExampleLength: - Max: 181 - -# Offense count: 13 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: CustomTransform, IgnoredWords, DisallowedExamples. -# DisallowedExamples: works -RSpec/ExampleWording: - Exclude: - - 'spec/controllers/admin/registration_periods_controller_spec.rb' - - 'spec/helpers/application_helper_spec.rb' - - 'spec/helpers/events_helper_spec.rb' - - 'spec/helpers/format_helper_spec.rb' - - 'spec/models/conference_spec.rb' - - 'spec/models/event_spec.rb' - - 'spec/models/ticket_purchase_spec.rb' - - 'spec/models/ticket_spec.rb' + Max: 222 # Offense count: 32 # This cop supports unsafe autocorrection (--autocorrect-all). @@ -737,56 +313,30 @@ RSpec/ExpectChange: - 'spec/models/event_spec.rb' - 'spec/models/user_spec.rb' -# Offense count: 166 +# Offense count: 3 # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: EnforcedStyle. # SupportedStyles: implicit, each, example RSpec/HookArgument: Exclude: + - 'spec/features/ticket_purchases_spec.rb' - 'spec/features/voting_spec.rb' + - 'spec/spec_helper.rb' # Offense count: 2 RSpec/IdenticalEqualityAssertion: Exclude: - 'spec/controllers/admin/conferences_controller_spec.rb' -# Offense count: 137 +# Offense count: 1 # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: EnforcedStyle. # SupportedStyles: is_expected, should RSpec/ImplicitExpect: Exclude: - 'spec/ability/ability_spec.rb' - - 'spec/models/commercial_spec.rb' - - 'spec/models/conference_spec.rb' - - 'spec/models/event_schedule_spec.rb' - - 'spec/models/event_type_spec.rb' - - 'spec/models/registration_period_spec.rb' - - 'spec/models/room_spec.rb' - - 'spec/models/schedule_spec.rb' - - 'spec/models/sponsor_spec.rb' - - 'spec/models/sponsorship_level_spec.rb' - - 'spec/models/ticket_purchase_spec.rb' - - 'spec/models/ticket_spec.rb' - - 'spec/models/user_spec.rb' - -# Offense count: 38 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: EnforcedStyle. -# SupportedStyles: single_line_only, single_statement_only, disallow, require_implicit -RSpec/ImplicitSubject: - Exclude: - - 'spec/ability/ability_spec.rb' - - 'spec/models/booth_spec.rb' - - 'spec/models/conference_spec.rb' - - 'spec/models/event_type_spec.rb' - - 'spec/models/registration_period_spec.rb' - - 'spec/models/sponsor_spec.rb' - - 'spec/models/sponsorship_level_spec.rb' - - 'spec/models/ticket_purchase_spec.rb' - - 'spec/models/ticket_spec.rb' -# Offense count: 19 +# Offense count: 53 # Configuration parameters: Max, AllowedIdentifiers, AllowedPatterns. RSpec/IndexedLet: Exclude: @@ -804,7 +354,7 @@ RSpec/IndexedLet: - 'spec/models/user_spec.rb' - 'spec/services/full_calendar_formatter_spec.rb' -# Offense count: 344 +# Offense count: 343 # Configuration parameters: AssignmentOnly. RSpec/InstanceVariable: Exclude: @@ -824,15 +374,7 @@ RSpec/InstanceVariable: - 'spec/models/track_spec.rb' - 'spec/models/user_spec.rb' -# Offense count: 4 -# This cop supports safe autocorrection (--autocorrect). -RSpec/LeadingSubject: - Exclude: - - 'spec/ability/ability_spec.rb' - - 'spec/models/conference_spec.rb' - - 'spec/models/ticket_spec.rb' - -# Offense count: 56 +# Offense count: 64 RSpec/LetSetup: Enabled: false @@ -850,7 +392,7 @@ RSpec/MatchArray: RSpec/MessageSpies: EnforcedStyle: receive -# Offense count: 225 +# Offense count: 266 # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: EnforcedStyle. # SupportedStyles: hash, symbol @@ -862,11 +404,11 @@ RSpec/MultipleDescribes: Exclude: - 'spec/models/conference_spec.rb' -# Offense count: 251 +# Offense count: 288 RSpec/MultipleExpectations: Max: 94 -# Offense count: 218 +# Offense count: 242 # Configuration parameters: AllowSubject. RSpec/MultipleMemoizedHelpers: Max: 31 @@ -880,7 +422,6 @@ RSpec/NamedSubject: - 'spec/models/booth_spec.rb' - 'spec/models/conference_spec.rb' - 'spec/models/event_type_spec.rb' - - 'spec/models/organization_spec.rb' - 'spec/models/program_spec.rb' - 'spec/models/registration_period_spec.rb' - 'spec/models/registration_spec.rb' @@ -891,7 +432,7 @@ RSpec/NamedSubject: - 'spec/models/ticket_spec.rb' - 'spec/models/track_spec.rb' -# Offense count: 202 +# Offense count: 210 # Configuration parameters: AllowedGroups. RSpec/NestedGroups: Max: 7 @@ -906,32 +447,21 @@ RSpec/NoExpectationExample: - 'spec/features/proposals_spec.rb' - 'spec/features/voting_spec.rb' -# Offense count: 78 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: EnforcedStyle. -# SupportedStyles: not_to, to_not -RSpec/NotToNot: +# Offense count: 2 +RSpec/OverwritingSetup: Exclude: + - 'spec/ability/ability_spec.rb' - 'spec/controllers/admin/booths_controller_spec.rb' - - 'spec/controllers/admin/event_schedules_controller_spec.rb' - - 'spec/controllers/admin/registration_periods_controller_spec.rb' - - 'spec/controllers/admin/ticket_scannings_controller_spec.rb' - - 'spec/controllers/booths_controller_spec.rb' - - 'spec/features/cfp_ability_spec.rb' - - 'spec/features/info_desk_ability_spec.rb' - - 'spec/features/organizer_ability_spec.rb' - - 'spec/features/sponsor_spec.rb' - - 'spec/features/track_organizer_ability_spec.rb' - - 'spec/features/tracks_spec.rb' - - 'spec/models/program_spec.rb' - - 'spec/models/track_spec.rb' - - 'spec/models/user_spec.rb' - - 'spec/pdfs/ticket_pdf_spec.rb' -# Offense count: 1 -RSpec/OverwritingSetup: +# Offense count: 11 +RSpec/PendingWithoutReason: Exclude: - - 'spec/controllers/admin/booths_controller_spec.rb' + - 'spec/ability/ability_spec.rb' + - 'spec/controllers/admin/conferences_controller_spec.rb' + - 'spec/datatables/user_datatable_spec.rb' + - 'spec/features/proposals_spec.rb' + - 'spec/features/versions_spec.rb' + - 'spec/models/user_spec.rb' # Offense count: 12 # This cop supports unsafe autocorrection (--autocorrect-all). @@ -954,22 +484,6 @@ RSpec/RepeatedExampleGroupBody: Exclude: - 'spec/models/conference_spec.rb' -# Offense count: 10 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: EnforcedStyle. -# SupportedStyles: and_return, block -RSpec/ReturnFromStub: - Exclude: - - 'spec/helpers/events_helper_spec.rb' - -# Offense count: 18 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: AutoCorrect. -RSpec/ScatteredLet: - Exclude: - - 'spec/ability/ability_spec.rb' - - 'spec/models/payment_spec.rb' - # Offense count: 2 # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: AutoCorrect. @@ -1028,21 +542,7 @@ RSpec/VoidExpect: Exclude: - 'spec/models/conference_spec.rb' -# Offense count: 2 -# This cop supports safe autocorrection (--autocorrect). -RSpecRails/AvoidSetupHook: - Exclude: - - 'spec/helpers/events_helper_spec.rb' - -# Offense count: 2 -# This cop supports unsafe autocorrection (--autocorrect-all). -# Configuration parameters: ResponseMethods. -# ResponseMethods: response, last_response -RSpecRails/HaveHttpStatus: - Exclude: - - 'spec/controllers/admin/event_schedules_controller_spec.rb' - -# Offense count: 11 +# Offense count: 12 # This cop supports unsafe autocorrection (--autocorrect-all). # Configuration parameters: Inferences. RSpecRails/InferredSpecType: @@ -1051,6 +551,7 @@ RSpecRails/InferredSpecType: - 'spec/controllers/admin/programs_controller_spec.rb' - 'spec/controllers/application_controller_spec.rb' - 'spec/controllers/conference_registration_controller_spec.rb' + - 'spec/features/omniauth_spec.rb' - 'spec/helpers/application_helper_spec.rb' - 'spec/helpers/conference_helper_spec.rb' - 'spec/helpers/date_time_helper_spec.rb' @@ -1059,635 +560,123 @@ RSpecRails/InferredSpecType: - 'spec/helpers/users_helper_spec.rb' - 'spec/routing/routing_spec.rb' -# Offense count: 23 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: ExpectedOrder, Include. -# ExpectedOrder: index, show, new, edit, create, update, destroy -# Include: app/controllers/**/*.rb -Rails/ActionOrder: - Enabled: false - -# Offense count: 4 -# This cop supports unsafe autocorrection (--autocorrect-all). -Rails/ActiveRecordAliases: - Exclude: - - 'db/migrate/20141104131625_generate_username.rb' - - 'db/migrate/20141117214230_move_banner_description_to_conference.rb' - - 'db/migrate/20141118153918_change_venue_conference_association.rb' - - 'db/migrate/20141118162030_change_lodging_association_to_conference.rb' - # Offense count: 3 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: Include. -# Include: app/models/**/*.rb -Rails/ActiveRecordCallbacksOrder: +Security/Open: Exclude: - - 'app/models/event.rb' - - 'app/models/track.rb' - - 'app/models/venue.rb' + - 'app/pdfs/ticket_pdf.rb' -# Offense count: 1 +# Offense count: 3 # This cop supports unsafe autocorrection (--autocorrect-all). -Rails/ApplicationController: +Style/ArrayIntersect: Exclude: - - 'app/controllers/api/base_controller.rb' + - 'app/helpers/application_helper.rb' + - 'app/models/admin_ability.rb' # Offense count: 1 # This cop supports unsafe autocorrection (--autocorrect-all). -Rails/ApplicationMailer: +# Configuration parameters: MinBranchesCount. +Style/CaseLikeIf: Exclude: - - 'app/mailers/mailbot.rb' + - 'app/views/admin/events/events.xlsx.axlsx' -# Offense count: 129 -# This cop supports unsafe autocorrection (--autocorrect-all). -Rails/ApplicationRecord: +# Offense count: 107 +# Configuration parameters: AllowedConstants. +Style/Documentation: Enabled: false -# Offense count: 10 +# Offense count: 46 # This cop supports unsafe autocorrection (--autocorrect-all). -# Configuration parameters: NilOrEmpty, NotPresent, UnlessPresent. -Rails/Blank: - Exclude: - - 'app/controllers/conferences_controller.rb' - - 'app/controllers/users/omniauth_callbacks_controller.rb' - - 'app/models/program.rb' - - 'app/models/user.rb' - - 'spec/factories/event_schedule.rb' - -# Offense count: 68 -# Configuration parameters: Database, Include. -# SupportedDatabases: mysql, postgresql -# Include: db/**/*.rb -Rails/BulkChangeTable: +# Configuration parameters: EnforcedStyle. +# SupportedStyles: always, always_true, never +Style/FrozenStringLiteralComment: Enabled: false # Offense count: 1 # This cop supports unsafe autocorrection (--autocorrect-all). -Rails/CompactBlank: +Style/GlobalStdStream: Exclude: - - 'app/controllers/surveys_controller.rb' + - 'config/environments/production.rb' -# Offense count: 1 +# Offense count: 33 # This cop supports safe autocorrection (--autocorrect). -Rails/ContentTag: - Exclude: - - 'app/helpers/application_helper.rb' +# Configuration parameters: MinBodyLength, AllowConsecutiveConditionals. +Style/GuardClause: + Enabled: false -# Offense count: 13 -# Configuration parameters: Include. -# Include: db/**/*.rb -Rails/CreateTableWithTimestamps: - Exclude: - - 'db/migrate/20121223115117_create_rooms_table.rb' - - 'db/migrate/20121223120413_create_event_types.rb' - - 'db/migrate/20130202130737_create_supporter_level_table.rb' - - 'db/migrate/20130202130923_create_table_supporter_registrations.rb' - - 'db/migrate/20130216070725_create_social_events_table.rb' - - 'db/migrate/20131228214532_create_vchoices.rb' - - 'db/migrate/20140109191145_create_qanswers.rb' - - 'db/migrate/20140623100942_create_visits.rb' - - 'db/migrate/20140623101032_create_ahoy_events.rb' - - 'db/migrate/20160309182642_remove_social_events_table.rb' - - 'db/migrate/20160628093634_create_survey_questions.rb' - - 'db/migrate/20170129075434_create_resources_table.rb' - - 'db/migrate/20170529215453_create_organizations.rb' +# Offense count: 1 +# Configuration parameters: MinBranchesCount. +Style/HashLikeCase: + Exclude: + - 'app/helpers/versions_helper.rb' # Offense count: 2 -# Configuration parameters: Severity, Include. -# Include: db/**/*.rb -Rails/DangerousColumnNames: +# This cop supports unsafe autocorrection (--autocorrect-all). +Style/HashTransformValues: Exclude: - - 'db/migrate/20160403214841_add_id_and_created_at_to_events_registrations.rb' - - 'db/migrate/20160614145614_add_id_to_users_roles.rb' + - 'app/controllers/admin/comments_controller.rb' + - 'app/helpers/chart_helper.rb' -# Offense count: 103 +# Offense count: 4 # This cop supports unsafe autocorrection (--autocorrect-all). -# Configuration parameters: EnforcedStyle, AllowToTime. -# SupportedStyles: strict, flexible -Rails/Date: - Enabled: false - -# Offense count: 3 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: EnforceForPrefixed. -Rails/Delegate: +Style/IdenticalConditionalBranches: Exclude: - - 'app/models/event.rb' - - 'app/models/room.rb' - - 'app/models/track.rb' + - 'app/controllers/admin/booths_controller.rb' + - 'app/controllers/admin/events_controller.rb' -# Offense count: 4 +# Offense count: 37 # This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: Severity. -Rails/DuplicateAssociation: - Exclude: - - 'app/models/program.rb' - - 'app/models/user.rb' +Style/IfUnlessModifier: + Enabled: false # Offense count: 3 -# This cop supports safe autocorrection (--autocorrect). -Rails/DurationArithmetic: +# This cop supports unsafe autocorrection (--autocorrect-all). +Style/MapToHash: Exclude: - - 'spec/models/program_spec.rb' - - 'spec/models/user_spec.rb' + - 'app/controllers/admin/comments_controller.rb' + - 'app/helpers/chart_helper.rb' + - 'app/models/conference.rb' # Offense count: 3 # This cop supports unsafe autocorrection (--autocorrect-all). -# Configuration parameters: Whitelist, AllowedMethods, AllowedReceivers. -# Whitelist: find_by_sql, find_by_token_for -# AllowedMethods: find_by_sql, find_by_token_for -# AllowedReceivers: Gem::Specification, page -Rails/DynamicFindBy: +Style/MinMaxComparison: Exclude: - - 'app/controllers/admin/events_controller.rb' - - 'db/migrate/20140701123203_add_events_per_week_to_conference.rb' + - 'app/helpers/format_helper.rb' + - 'app/models/cfp.rb' -# Offense count: 5 -# This cop supports safe autocorrection (--autocorrect). -Rails/EagerEvaluationLogMessage: +# Offense count: 1 +Style/MixinUsage: Exclude: - - 'app/controllers/admin/events_controller.rb' - - 'app/controllers/application_controller.rb' - - 'app/controllers/proposals_controller.rb' - - 'app/models/event.rb' + - 'spec/spec_helper.rb' -# Offense count: 3 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: Include. -# Include: app/models/**/*.rb -Rails/EnumHash: +# Offense count: 1 +Style/MultilineBlockChain: Exclude: - - 'app/models/conference.rb' - - 'app/models/survey.rb' - - 'app/models/survey_question.rb' + - 'app/controllers/admin/comments_controller.rb' -# Offense count: 7 +# Offense count: 4 # This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: EnforcedStyle. -# SupportedStyles: slashes, arguments -Rails/FilePath: +Style/MultilineIfModifier: Exclude: - - 'app/pdfs/ticket_pdf.rb' - - 'config/initializers/carrierwave.rb' - - 'lib/tasks/migrate_config.rake' - - 'spec/features/lodgings_spec.rb' - - 'spec/features/sponsor_spec.rb' - - 'spec/support/deprecation_shitlist.rb' + - 'app/models/cfp.rb' + - 'app/models/registration_period.rb' -# Offense count: 80 +# Offense count: 1 # This cop supports unsafe autocorrection (--autocorrect-all). -# Configuration parameters: AllowedMethods, AllowedPatterns. -# AllowedMethods: order, limit, select, lock -Rails/FindEach: - Enabled: false - -# Offense count: 6 -# Configuration parameters: Include. -# Include: app/models/**/*.rb -Rails/HasAndBelongsToMany: +# Configuration parameters: EnforcedStyle. +# SupportedStyles: literals, strict +Style/MutableConstant: Exclude: - - 'app/models/conference.rb' - - 'app/models/qanswer.rb' - - 'app/models/question.rb' - - 'app/models/registration.rb' - - 'app/models/vchoice.rb' - -# Offense count: 24 -# Configuration parameters: Include. -# Include: app/models/**/*.rb -Rails/HasManyOrHasOneDependent: - Enabled: false + - 'app/models/event_user.rb' -# Offense count: 5 -# Configuration parameters: Include. -# Include: app/helpers/**/*.rb -Rails/HelperInstanceVariable: +# Offense count: 1 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: EnforcedOctalStyle. +# SupportedOctalStyles: zero_with_o, zero_only +Style/NumericLiteralPrefix: Exclude: - - 'app/helpers/application_helper.rb' - - 'app/helpers/events_helper.rb' - - 'app/helpers/format_helper.rb' - -# Offense count: 8 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: EnforcedStyle. -# SupportedStyles: numeric, symbolic -Rails/HttpStatus: - Exclude: - - 'app/controllers/admin/commercials_controller.rb' - - 'app/controllers/admin/event_schedules_controller.rb' - - 'app/controllers/admin/programs_controller.rb' - - 'app/controllers/admin/tracks_controller.rb' - - 'app/controllers/admin/venue_commercials_controller.rb' - - 'app/controllers/commercials_controller.rb' - -# Offense count: 99 -Rails/I18nLocaleTexts: - Enabled: false - -# Offense count: 7 -# Configuration parameters: IgnoreScopes, Include. -# Include: app/models/**/*.rb -Rails/InverseOf: - Exclude: - - 'app/models/booth.rb' - - 'app/models/conference.rb' - - 'app/models/event.rb' - - 'app/models/user.rb' - -# Offense count: 1 -# Configuration parameters: Include. -# Include: app/controllers/**/*.rb, app/mailers/**/*.rb -Rails/LexicallyScopedActionFilter: - Exclude: - - 'app/controllers/registrations_controller.rb' - -# Offense count: 1 -# This cop supports safe autocorrection (--autocorrect). -Rails/LinkToBlank: - Exclude: - - 'app/helpers/format_helper.rb' - -# Offense count: 1 -# This cop supports unsafe autocorrection (--autocorrect-all). -# Configuration parameters: Include. -# Include: app/mailers/**/*.rb -Rails/MailerName: - Exclude: - - 'app/mailers/mailbot.rb' - -# Offense count: 3 -Rails/OutputSafety: - Exclude: - - 'app/helpers/events_helper.rb' - - 'app/models/commercial.rb' - -# Offense count: 6 -# This cop supports unsafe autocorrection (--autocorrect-all). -# Configuration parameters: EnforcedStyle. -# SupportedStyles: conservative, aggressive -Rails/PluckInWhere: - Exclude: - - 'app/models/ability.rb' - - 'app/models/admin_ability.rb' - -# Offense count: 16 -# This cop supports safe autocorrection (--autocorrect). -Rails/PluralizationGrammar: - Exclude: - - 'spec/models/conference_spec.rb' - -# Offense count: 2 -# This cop supports safe autocorrection (--autocorrect). -Rails/Presence: - Exclude: - - 'app/controllers/schedules_controller.rb' - - 'app/models/user.rb' - -# Offense count: 15 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: NotNilAndNotEmpty, NotBlank, UnlessBlank. -Rails/Present: - Exclude: - - 'app/models/cfp.rb' - - 'app/models/email_settings.rb' - - 'app/models/event.rb' - - 'app/models/program.rb' - - 'app/models/venue.rb' - -# Offense count: 5 -# This cop supports unsafe autocorrection (--autocorrect-all). -# Configuration parameters: Include. -# Include: **/Rakefile, **/*.rake -Rails/RakeEnvironment: - Exclude: - - 'lib/tasks/spec.rake' - -# Offense count: 1 -# This cop supports unsafe autocorrection (--autocorrect-all). -# Configuration parameters: AllowedReceivers. -# AllowedReceivers: ActionMailer::Preview, ActiveSupport::TimeZone -Rails/RedundantActiveRecordAllMethod: - Exclude: - - 'db/migrate/20160309182655_remove_dietary_choices_table.rb' - -# Offense count: 19 -# This cop supports unsafe autocorrection (--autocorrect-all). -Rails/RedundantPresenceValidationOnBelongsTo: - Exclude: - - 'app/models/booth.rb' - - 'app/models/cfp.rb' - - 'app/models/comment.rb' - - 'app/models/contact.rb' - - 'app/models/event.rb' - - 'app/models/event_schedule.rb' - - 'app/models/events_registration.rb' - - 'app/models/payment.rb' - - 'app/models/qanswer.rb' - - 'app/models/question.rb' - - 'app/models/registration.rb' - - 'app/models/room.rb' - - 'app/models/sponsor.rb' - - 'app/models/survey_reply.rb' - - 'app/models/ticket_purchase.rb' - -# Offense count: 2 -Rails/RenderInline: - Exclude: - - 'app/controllers/conferences_controller.rb' - - 'app/controllers/schedules_controller.rb' - -# Offense count: 10 -# This cop supports unsafe autocorrection (--autocorrect-all). -# Configuration parameters: Include. -# Include: spec/controllers/**/*.rb, spec/requests/**/*.rb, test/controllers/**/*.rb, test/integration/**/*.rb -Rails/ResponseParsedBody: - Exclude: - - 'spec/controllers/api/v1/conferences_controller_spec.rb' - - 'spec/controllers/api/v1/events_controller_spec.rb' - - 'spec/controllers/api/v1/rooms_controller_spec.rb' - - 'spec/controllers/api/v1/speakers_controller_spec.rb' - - 'spec/controllers/api/v1/tracks_controller_spec.rb' - -# Offense count: 4 -# Configuration parameters: Include. -# Include: db/**/*.rb -Rails/ReversibleMigration: - Exclude: - - 'db/migrate/20170108053041_add_default_to_revision_in_conference.rb' - - 'db/migrate/20170715131706_make_track_state_not_null_and_add_default_value.rb' - - 'db/migrate/20170720134353_make_track_cfp_active_not_null.rb' - - 'db/migrate/20171118113113_change_visit_id_type_of_ahoy_events_to_integer.rb' - -# Offense count: 48 -# Configuration parameters: ForbiddenMethods, AllowedMethods. -# ForbiddenMethods: decrement!, decrement_counter, increment!, increment_counter, insert, insert!, insert_all, insert_all!, toggle!, touch, touch_all, update_all, update_attribute, update_column, update_columns, update_counters, upsert, upsert_all -Rails/SkipsModelValidations: - Enabled: false - -# Offense count: 77 -# Configuration parameters: Include. -# Include: db/**/*.rb -Rails/ThreeStateBooleanColumn: - Enabled: false - -# Offense count: 47 -# This cop supports unsafe autocorrection (--autocorrect-all). -# Configuration parameters: EnforcedStyle. -# SupportedStyles: strict, flexible -Rails/TimeZone: - Exclude: - - 'app/models/comment.rb' - - 'app/models/conference.rb' - - 'config/environments/test.rb' - - 'db/migrate/20180226032958_add_created_at_and_updated_at_to_event_types.rb' - - 'db/migrate/20180313012253_add_timestamps_to_tickets.rb' - - 'spec/controllers/admin/comments_controller_spec.rb' - - 'spec/factories/users.rb' - - 'spec/helpers/application_helper_spec.rb' - - 'spec/models/conference_spec.rb' - -# Offense count: 1 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: Severity. -Rails/TopLevelHashWithIndifferentAccess: - Exclude: - - 'db/migrate/20140701123203_add_events_per_week_to_conference.rb' - -# Offense count: 12 -# Configuration parameters: Include. -# Include: app/models/**/*.rb -Rails/UniqueValidationWithoutIndex: - Exclude: - - 'app/models/booth.rb' - - 'app/models/cfp.rb' - - 'app/models/commercial.rb' - - 'app/models/conference.rb' - - 'app/models/events_registration.rb' - - 'app/models/registration.rb' - - 'app/models/role.rb' - - 'app/models/subscription.rb' - - 'app/models/survey_reply.rb' - - 'app/models/survey_submission.rb' - - 'app/models/track.rb' - - 'app/models/vote.rb' - -# Offense count: 17 -# This cop supports unsafe autocorrection (--autocorrect-all). -Rails/WhereEquals: - Exclude: - - 'app/controllers/admin/registrations_controller.rb' - - 'app/models/admin_ability.rb' - - 'app/models/conference.rb' - - 'app/models/event_schedule.rb' - - 'app/models/program.rb' - - 'app/models/user.rb' - -# Offense count: 1 -# This cop supports safe autocorrection (--autocorrect). -Rails/WhereNot: - Exclude: - - 'db/migrate/20140820093735_migrating_supporter_registrations_to_ticket_users.rb' - -# Offense count: 3 -Security/Open: - Exclude: - - 'app/pdfs/ticket_pdf.rb' - -# Offense count: 2 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: EnforcedStyle. -# SupportedStyles: separated, grouped -Style/AccessorGrouping: - Exclude: - - 'app/models/payment.rb' - -# Offense count: 2 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: AllowOnlyRestArgument, UseAnonymousForwarding, RedundantRestArgumentNames, RedundantKeywordRestArgumentNames, RedundantBlockArgumentNames. -# RedundantRestArgumentNames: args, arguments -# RedundantKeywordRestArgumentNames: kwargs, options, opts -# RedundantBlockArgumentNames: blk, block, proc -Style/ArgumentsForwarding: - Exclude: - - 'app/models/user.rb' - -# Offense count: 3 -# This cop supports unsafe autocorrection (--autocorrect-all). -Style/ArrayIntersect: - Exclude: - - 'app/helpers/application_helper.rb' - - 'app/models/admin_ability.rb' - -# Offense count: 1 -# This cop supports unsafe autocorrection (--autocorrect-all). -# Configuration parameters: MinBranchesCount. -Style/CaseLikeIf: - Exclude: - - 'app/views/admin/events/events.xlsx.axlsx' - -# Offense count: 1 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: EnforcedStyle. -# SupportedStyles: is_a?, kind_of? -Style/ClassCheck: - Exclude: - - 'app/models/email_settings.rb' - -# Offense count: 2 -# This cop supports safe autocorrection (--autocorrect). -Style/ColonMethodCall: - Exclude: - - 'app/models/commercial.rb' - - 'app/models/contact.rb' - -# Offense count: 1 -# This cop supports unsafe autocorrection (--autocorrect-all). -Style/CombinableLoops: - Exclude: - - 'db/migrate/20140820093735_migrating_supporter_registrations_to_ticket_users.rb' - -# Offense count: 1 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: Keywords, RequireColon. -# Keywords: TODO, FIXME, OPTIMIZE, HACK, REVIEW, NOTE -Style/CommentAnnotation: - Exclude: - - 'spec/controllers/admin/versions_controller_spec.rb' - -# Offense count: 3 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: EnforcedStyle, SingleLineConditionsOnly, IncludeTernaryExpressions. -# SupportedStyles: assign_to_condition, assign_inside_condition -Style/ConditionalAssignment: - Exclude: - - 'app/helpers/format_helper.rb' - - 'db/migrate/20140610165551_migrate_data_person_to_user.rb' - - 'db/migrate/20140820124117_undo_wrong_migration20140801080705_add_users_to_events.rb' - -# Offense count: 517 -# Configuration parameters: AllowedConstants. -Style/Documentation: - Enabled: false - -# Offense count: 2 -# This cop supports safe autocorrection (--autocorrect). -Style/EmptyCaseCondition: - Exclude: - - 'app/helpers/format_helper.rb' - - 'app/helpers/versions_helper.rb' - -# Offense count: 1 -# This cop supports safe autocorrection (--autocorrect). -Style/EmptyLiteral: - Exclude: - - 'spec/models/conference_spec.rb' - -# Offense count: 7 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: AutoCorrect, EnforcedStyle. -# SupportedStyles: compact, expanded -Style/EmptyMethod: - Exclude: - - 'app/controllers/admin/lodgings_controller.rb' - - 'app/controllers/users_controller.rb' - - 'db/migrate/20121223115125_create_tracks_table.rb' - - 'db/migrate/20121223115135_create_events_table.rb' - - 'db/migrate/20130103134212_create_registrations_table.rb' - - 'db/migrate/20130206192339_rename_attending_social_events_with_partner.rb' - - 'db/migrate/20130216122155_set_registration_defaults_to_false.rb' - -# Offense count: 2 -# This cop supports safe autocorrection (--autocorrect). -Style/Encoding: - Exclude: - - 'app/uploaders/picture_uploader.rb' - - 'spec/models/conference_spec.rb' - -# Offense count: 1 -# This cop supports safe autocorrection (--autocorrect). -Style/ExpandPathArguments: - Exclude: - - 'spec/spec_helper.rb' - -# Offense count: 38 -# This cop supports unsafe autocorrection (--autocorrect-all). -# Configuration parameters: EnforcedStyle. -# SupportedStyles: always, always_true, never -Style/FrozenStringLiteralComment: - Enabled: false - -# Offense count: 1 -# This cop supports unsafe autocorrection (--autocorrect-all). -Style/GlobalStdStream: - Exclude: - - 'config/environments/production.rb' - -# Offense count: 27 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: MinBodyLength, AllowConsecutiveConditionals. -Style/GuardClause: - Enabled: false - -# Offense count: 1 -# Configuration parameters: MinBranchesCount. -Style/HashLikeCase: - Exclude: - - 'app/helpers/versions_helper.rb' - -# Offense count: 346 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: EnforcedStyle, EnforcedShorthandSyntax, UseHashRocketsWithSymbolValues, PreferHashRocketsForNonAlnumEndingSymbols. -# SupportedStyles: ruby19, hash_rockets, no_mixed_keys, ruby19_no_mixed_keys -# SupportedShorthandSyntax: always, never, either, consistent, either_consistent -Style/HashSyntax: - Enabled: false - -# Offense count: 2 -# This cop supports unsafe autocorrection (--autocorrect-all). -Style/HashTransformValues: - Exclude: - - 'app/controllers/admin/comments_controller.rb' - - 'app/helpers/chart_helper.rb' - -# Offense count: 56 -# This cop supports safe autocorrection (--autocorrect). -Style/IfUnlessModifier: - Enabled: false - -# Offense count: 1 -# This cop supports unsafe autocorrection (--autocorrect-all). -Style/MapToHash: - Exclude: - - 'app/controllers/admin/comments_controller.rb' - - 'app/helpers/chart_helper.rb' - - 'app/models/conference.rb' - -# Offense count: 3 -# This cop supports unsafe autocorrection (--autocorrect-all). -Style/MinMaxComparison: - Exclude: - - 'app/helpers/format_helper.rb' - - 'app/models/cfp.rb' - -# Offense count: 1 -Style/MixinUsage: - Exclude: - - 'spec/spec_helper.rb' - -# Offense count: 1 -Style/MultilineBlockChain: - Exclude: - - 'app/controllers/admin/comments_controller.rb' - -# Offense count: 1 -# This cop supports unsafe autocorrection (--autocorrect-all). -# Configuration parameters: EnforcedStyle. -# SupportedStyles: literals, strict -Style/MutableConstant: - Exclude: - - 'app/models/event_user.rb' + - 'spec/controllers/admin/conferences_controller_spec.rb' -# Offense count: 32 +# Offense count: 33 # This cop supports unsafe autocorrection (--autocorrect-all). # Configuration parameters: EnforcedStyle, AllowedMethods, AllowedPatterns. # SupportedStyles: predicate, comparison @@ -1718,6 +707,13 @@ Style/OptionalBooleanParameter: - 'app/helpers/format_helper.rb' - 'app/models/event.rb' +# Offense count: 1 +# This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: PreferredDelimiters. +Style/PercentLiteralDelimiters: + Exclude: + - 'app/models/conference.rb' + # Offense count: 2 # This cop supports unsafe autocorrection (--autocorrect-all). # Configuration parameters: AllowedCompactTypes. @@ -1725,6 +721,13 @@ Style/OptionalBooleanParameter: Style/RaiseArgs: EnforcedStyle: compact +# Offense count: 1 +# This cop supports unsafe autocorrection (--autocorrect-all). +# Configuration parameters: Methods. +Style/RedundantArgument: + Exclude: + - 'app/helpers/application_helper.rb' + # Offense count: 2 # This cop supports safe autocorrection (--autocorrect). Style/RedundantConstantBase: @@ -1741,31 +744,15 @@ Style/RedundantFetchBlock: # Offense count: 1 # This cop supports unsafe autocorrection (--autocorrect-all). -Style/RedundantFilterChain: - Exclude: - - 'app/models/program.rb' - -# Offense count: 12 -# This cop supports safe autocorrection (--autocorrect). -Style/RedundantParentheses: +Style/RedundantInterpolation: Exclude: - - 'app/controllers/admin/base_controller.rb' - - 'app/controllers/application_controller.rb' - - 'app/helpers/application_helper.rb' - - 'app/helpers/format_helper.rb' - - 'app/models/admin_ability.rb' - 'app/models/conference.rb' - - 'app/models/program.rb' - - 'app/models/venue.rb' - - 'lib/tasks/version.rake' # Offense count: 2 # This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: AllowMultipleReturnValues. -Style/RedundantReturn: +Style/RedundantParentheses: Exclude: - - 'app/controllers/admin/booths_controller.rb' - - 'app/controllers/admin/events_controller.rb' + - 'app/models/conference.rb' # Offense count: 2 # This cop supports safe autocorrection (--autocorrect). @@ -1773,45 +760,7 @@ Style/RedundantStringEscape: Exclude: - 'app/models/conference.rb' -# Offense count: 1 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: EnforcedStyle, AllowInnerSlashes. -# SupportedStyles: slashes, percent_r, mixed -Style/RegexpLiteral: - Exclude: - - 'app/uploaders/picture_uploader.rb' - -# Offense count: 2 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: EnforcedStyle. -# SupportedStyles: implicit, explicit -Style/RescueStandardError: - Exclude: - - 'app/controllers/users/omniauth_callbacks_controller.rb' - - 'lib/tasks/migrate_config.rake' - -# Offense count: 3 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: EnforcedStyle. -# SupportedStyles: only_raise, only_fail, semantic -Style/SignalException: - Exclude: - - 'lib/tasks/user.rake' - - 'spec/support/flash.rb' - -# Offense count: 6 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: AllowModifier. -Style/SoleNestedConditional: - Exclude: - - 'app/controllers/admin/users_controller.rb' - - 'app/models/event.rb' - - 'app/models/user.rb' - - 'db/migrate/20140801164901_move_conference_media_to_commercial.rb' - - 'db/migrate/20140801170430_move_event_media_to_commercial.rb' - - 'db/migrate/20151018152439_create_programs_table.rb' - -# Offense count: 20 +# Offense count: 24 # This cop supports unsafe autocorrection (--autocorrect-all). # Configuration parameters: Mode. Style/StringConcatenation: @@ -1825,44 +774,20 @@ Style/StringConcatenation: - 'app/helpers/application_helper.rb' - 'app/helpers/users_helper.rb' - 'app/helpers/versions_helper.rb' - - 'app/models/commercial.rb' - 'app/models/conference.rb' - - 'lib/tasks/data.rake' + - 'features/step_definitions/conference_steps.rb' - 'spec/features/contact_spec.rb' - 'spec/helpers/events_helper_spec.rb' + - 'spec/mailers/mailbot_spec.rb' + - 'spec/services/mailbluster_manager_spec.rb' -# Offense count: 12 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: EnforcedStyle, ConsistentQuotesInMultiline. -# SupportedStyles: single_quotes, double_quotes -Style/StringLiterals: - Exclude: - - 'Gemfile' - - 'config/deploy.rb' - - 'config/environments/production.rb' - - 'config/puma.rb' - - 'lib/tasks/events_registrations.rake' - - 'lib/tasks/factory_bot.rake' - - 'lib/tasks/user.rake' - -# Offense count: 8 +# Offense count: 1 # This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: EnforcedStyle. -# SupportedStyles: single_quotes, double_quotes -Style/StringLiteralsInInterpolation: +Style/SuperArguments: Exclude: - - 'app/views/admin/events/_all_events.xlsx.axlsx' - - 'app/views/admin/events/_all_with_comments.xlsx.axlsx' - - 'app/views/admin/events/_confirmed_events.xlsx.axlsx' - -# Offense count: 105 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: EnforcedStyle, MinSize. -# SupportedStyles: percent, brackets -Style/SymbolArray: - Enabled: false + - 'app/models/event.rb' -# Offense count: 10 +# Offense count: 11 # This cop supports unsafe autocorrection (--autocorrect-all). # Configuration parameters: AllowMethodsWithArguments, AllowedMethods, AllowedPatterns, AllowComments. # AllowedMethods: define_method, mail, respond_to @@ -1875,34 +800,9 @@ Style/SymbolProc: - 'spec/controllers/admin/conferences_controller_spec.rb' - 'spec/support/flash.rb' -# Offense count: 2 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: EnforcedStyle, AllowSafeAssignment. -# SupportedStyles: require_parentheses, require_no_parentheses, require_parentheses_when_complex -Style/TernaryParentheses: - Exclude: - - 'app/helpers/format_helper.rb' - -# Offense count: 21 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: EnforcedStyleForMultiline. -# SupportedStylesForMultiline: comma, consistent_comma, no_comma -Style/TrailingCommaInHashLiteral: - Exclude: - - 'db/migrate/20140701123203_add_events_per_week_to_conference.rb' - - 'spec/models/conference_spec.rb' - -# Offense count: 3 -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: WordRegex. -# SupportedStyles: percent, brackets -Style/WordArray: - EnforcedStyle: percent - MinSize: 5 - -# Offense count: 497 +# Offense count: 284 # This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, AllowedPatterns. +# Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, AllowedPatterns, SplitStrings. # URISchemes: http, https Layout/LineLength: Max: 267 From d4cb2896eb5362384d7cf90a4a51cda9c2b49b08 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Tue, 11 Mar 2025 00:26:26 +0000 Subject: [PATCH 240/325] Update rack to version 2.2.13 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index cb8afe4ef..d89d60b6c 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -397,7 +397,7 @@ GEM puma (6.5.0) nio4r (~> 2.0) racc (1.8.1) - rack (2.2.12) + rack (2.2.13) rack-openid (1.4.2) rack (>= 1.1.0) ruby-openid (>= 2.1.8) From b695f87fb00a375b755637b8a2e4399e0f684bf7 Mon Sep 17 00:00:00 2001 From: Michael Ball Date: Mon, 14 Apr 2025 23:31:44 -0700 Subject: [PATCH 241/325] Update lockfile for CI --- Gemfile.lock | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 4b2de4d9d..0516251fc 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -253,6 +253,7 @@ GEM fastimage (2.3.1) feature (1.4.0) ffi (1.17.0-arm64-darwin) + ffi (1.17.0-x86_64-linux-gnu) font-awesome-sass (6.5.2) sassc (~> 2.0) geckodriver-helper (0.24.0) @@ -377,8 +378,9 @@ GEM next_rails (1.4.2) rainbow (>= 3) nio4r (2.7.4) - nokogiri (1.18.3) - mini_portile2 (~> 2.8.2) + nokogiri (1.18.7-arm64-darwin) + racc (~> 1.4) + nokogiri (1.18.7-x86_64-linux-gnu) racc (~> 1.4) oauth2 (2.0.9) faraday (>= 0.17.3, < 3.0) @@ -696,6 +698,7 @@ GEM PLATFORMS arm64-darwin-24 + x86_64-linux DEPENDENCIES active_model_serializers From abca73497e46c2b463f9879e40531497183955cc Mon Sep 17 00:00:00 2001 From: Michael Ball Date: Tue, 15 Apr 2025 00:03:42 -0700 Subject: [PATCH 242/325] fix proposals form with missing content --- app/views/proposals/_form.html.haml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/app/views/proposals/_form.html.haml b/app/views/proposals/_form.html.haml index c53cdfb24..c1ca0e797 100644 --- a/app/views/proposals/_form.html.haml +++ b/app/views/proposals/_form.html.haml @@ -1,3 +1,9 @@ +:ruby + action_is_edit = @event.persisted? + user_is_admin = current_user&.is_admin? + display_details = user_is_admin || action_is_edit + display_registration = user_is_admin || @program.cfp&.enable_registrations? + %h4 Proposal Information %hr From 39453b343159334b31acc15f189b703adec77aff Mon Sep 17 00:00:00 2001 From: Michael Ball Date: Tue, 15 Apr 2025 00:04:03 -0700 Subject: [PATCH 243/325] remove duplicate attribute, reduce warning --- app/views/admin/registration_periods/_form.html.haml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/views/admin/registration_periods/_form.html.haml b/app/views/admin/registration_periods/_form.html.haml index 2bf25a57d..36beb53cd 100644 --- a/app/views/admin/registration_periods/_form.html.haml +++ b/app/views/admin/registration_periods/_form.html.haml @@ -9,12 +9,12 @@ - if @registration_period.end_date (#{@registration_period.end_date}) below - = f.date_field :start_date, required: true, class: 'form-control', max: @conference.end_date, required: true + = f.date_field :start_date, required: true, class: 'form-control', max: @conference.end_date .form-group = f.label :end_date %abbr{title: 'This field is required'} * %p.small Must be before conference end (#{@conference.end_date}) - = f.date_field :end_date, required: true, class: 'form-control', max: @conference.end_date, required: true + = f.date_field :end_date, required: true, class: 'form-control', max: @conference.end_date %p.text-right = f.submit 'Save Registration Period', class: 'btn btn-primary' From c800d86bcfc865867aa50a816683394bdc844907 Mon Sep 17 00:00:00 2001 From: Michael Ball Date: Tue, 15 Apr 2025 00:54:36 -0700 Subject: [PATCH 244/325] remove aws rds cert --- config/amazon-rds-ca-cert.pem | 720 ---------------------------------- 1 file changed, 720 deletions(-) delete mode 100644 config/amazon-rds-ca-cert.pem diff --git a/config/amazon-rds-ca-cert.pem b/config/amazon-rds-ca-cert.pem deleted file mode 100644 index 864a818dd..000000000 --- a/config/amazon-rds-ca-cert.pem +++ /dev/null @@ -1,720 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIEBzCCAu+gAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwgZQxCzAJBgNVBAYTAlVT -MRAwDgYDVQQHDAdTZWF0dGxlMRMwEQYDVQQIDApXYXNoaW5ndG9uMSIwIAYDVQQK -DBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJbmMuMRMwEQYDVQQLDApBbWF6b24gUkRT -MSUwIwYDVQQDDBxBbWF6b24gUkRTIGFwLWVhc3QtMSBSb290IENBMB4XDTE5MDIx -NzAyNDcwMFoXDTIyMDYwMTEyMDAwMFowgY8xCzAJBgNVBAYTAlVTMRMwEQYDVQQI -DApXYXNoaW5ndG9uMRAwDgYDVQQHDAdTZWF0dGxlMSIwIAYDVQQKDBlBbWF6b24g -V2ViIFNlcnZpY2VzLCBJbmMuMRMwEQYDVQQLDApBbWF6b24gUkRTMSAwHgYDVQQD -DBdBbWF6b24gUkRTIGFwLWVhc3QtMSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEP -ADCCAQoCggEBAOcJAUofyJuBuPr5ISHi/Ha5ed8h3eGdzn4MBp6rytPOg9NVGRQs -O93fNGCIKsUT6gPuk+1f1ncMTV8Y0Fdf4aqGWme+Khm3ZOP3V1IiGnVq0U2xiOmn -SQ4Q7LoeQC4lC6zpoCHVJyDjZ4pAknQQfsXb77Togdt/tK5ahev0D+Q3gCwAoBoO -DHKJ6t820qPi63AeGbJrsfNjLKiXlFPDUj4BGir4dUzjEeH7/hx37na1XG/3EcxP -399cT5k7sY/CR9kctMlUyEEUNQOmhi/ly1Lgtihm3QfjL6K9aGLFNwX35Bkh9aL2 -F058u+n8DP/dPeKUAcJKiQZUmzuen5n57x8CAwEAAaNmMGQwDgYDVR0PAQH/BAQD -AgEGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYDVR0OBBYEFFlqgF4FQlb9yP6c+Q3E -O3tXv+zOMB8GA1UdIwQYMBaAFK9T6sY/PBZVbnHcNcQXf58P4OuPMA0GCSqGSIb3 -DQEBCwUAA4IBAQDeXiS3v1z4jWAo1UvVyKDeHjtrtEH1Rida1eOXauFuEQa5tuOk -E53Os4haZCW4mOlKjigWs4LN+uLIAe1aFXGo92nGIqyJISHJ1L+bopx/JmIbHMCZ -0lTNJfR12yBma5VQy7vzeFku/SisKwX0Lov1oHD4MVhJoHbUJYkmAjxorcIHORvh -I3Vj5XrgDWtLDPL8/Id/roul/L+WX5ir+PGScKBfQIIN2lWdZoqdsx8YWqhm/ikL -C6qNieSwcvWL7C03ri0DefTQMY54r5wP33QU5hJ71JoaZI3YTeT0Nf+NRL4hM++w -Q0veeNzBQXg1f/JxfeA39IDIX1kiCf71tGlT ------END CERTIFICATE----- ------BEGIN CERTIFICATE----- -MIIEEDCCAvigAwIBAgIJAJF3HxEqKM4lMA0GCSqGSIb3DQEBCwUAMIGUMQswCQYD -VQQGEwJVUzEQMA4GA1UEBwwHU2VhdHRsZTETMBEGA1UECAwKV2FzaGluZ3RvbjEi -MCAGA1UECgwZQW1hem9uIFdlYiBTZXJ2aWNlcywgSW5jLjETMBEGA1UECwwKQW1h -em9uIFJEUzElMCMGA1UEAwwcQW1hem9uIFJEUyBhcC1lYXN0LTEgUm9vdCBDQTAe -Fw0xOTAyMTcwMjQ2MTFaFw0yNDAyMTYwMjQ2MTFaMIGUMQswCQYDVQQGEwJVUzEQ -MA4GA1UEBwwHU2VhdHRsZTETMBEGA1UECAwKV2FzaGluZ3RvbjEiMCAGA1UECgwZ -QW1hem9uIFdlYiBTZXJ2aWNlcywgSW5jLjETMBEGA1UECwwKQW1hem9uIFJEUzEl -MCMGA1UEAwwcQW1hem9uIFJEUyBhcC1lYXN0LTEgUm9vdCBDQTCCASIwDQYJKoZI -hvcNAQEBBQADggEPADCCAQoCggEBAOCVr1Yj5IW4XWa9QOLGJDSz4pqIM6BAbqQp -gYvzIO4Lv8c8dEnuuuCY8M/zOrJ1iQJ3cDiKGa32HVBVcH+nUdXzw4Jq5jw0hsb6 -/WW2RD2aUe4jCkRD5wNzmeHM4gTgtMZnXNVHpELgKR4wVhSHEfWFTiMsZi35y8mj -PL98Mz/m/nMnB/59EjMvcJMrsUljHO6B9BMEcvNkwvre9xza0BQWKyiVRcbOpoj1 -w4BPtYYZ+dW2QKw9AmYXwAmCLeATsxrHIJ/IbzS7obxv2QN2Eh4pJ3ghRCFv1XM9 -XVkm13oiCjj7jsxAwF7o+VggPl/GG+/Gwk+TLuaTFNAtROpPxL8CAwEAAaNjMGEw -DgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFK9T6sY/ -PBZVbnHcNcQXf58P4OuPMB8GA1UdIwQYMBaAFK9T6sY/PBZVbnHcNcQXf58P4OuP -MA0GCSqGSIb3DQEBCwUAA4IBAQBBY+KATaT7ndYT3Ky0VWaiwNfyl1u3aDxr+MKP -VeDhtOhlob5u0E+edOXUvEXd4A+ntS+U0HmwvtMXtQbQ2EJbsNRqZnS8KG9YB2Yc -Q99auphW3wMjwHRtflLO5h14aa9SspqJJgcM1R7Z3pAYeq6bpBDxZSGrYtWI64q4 -h4i67qWAGDFcXSTW1kJ00GMlBCIGTeYiu8LYutdsDWzYKkeezJRjx9VR4w7A7e1G -WmY4aUg/8aPxCioY2zEQKNl55Ghg6Dwy+6BxaV6RlV9r9EaSCai11p1bgS568WQn -4WNQK36EGe37l2SOpDB6STrq57/rjREvmq803Ylg/Gf6qqzK ------END CERTIFICATE----- ------BEGIN CERTIFICATE----- -MIIECTCCAvGgAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwgZUxCzAJBgNVBAYTAlVT -MRAwDgYDVQQHDAdTZWF0dGxlMRMwEQYDVQQIDApXYXNoaW5ndG9uMSIwIAYDVQQK -DBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJbmMuMRMwEQYDVQQLDApBbWF6b24gUkRT -MSYwJAYDVQQDDB1BbWF6b24gUkRTIG1lLXNvdXRoLTEgUm9vdCBDQTAeFw0xOTA1 -MTAyMTU4NDNaFw0yNTA2MDExMjAwMDBaMIGQMQswCQYDVQQGEwJVUzETMBEGA1UE -CAwKV2FzaGluZ3RvbjEQMA4GA1UEBwwHU2VhdHRsZTEiMCAGA1UECgwZQW1hem9u -IFdlYiBTZXJ2aWNlcywgSW5jLjETMBEGA1UECwwKQW1hem9uIFJEUzEhMB8GA1UE -AwwYQW1hem9uIFJEUyBtZS1zb3V0aC0xIENBMIIBIjANBgkqhkiG9w0BAQEFAAOC -AQ8AMIIBCgKCAQEAudOYPZH+ihJAo6hNYMB5izPVBe3TYhnZm8+X3IoaaYiKtsp1 -JJhkTT0CEejYIQ58Fh4QrMUyWvU8qsdK3diNyQRoYLbctsBPgxBR1u07eUJDv38/ -C1JlqgHmMnMi4y68Iy7ymv50QgAMuaBqgEBRI1R6Lfbyrb2YvH5txjJyTVMwuCfd -YPAtZVouRz0JxmnfsHyxjE+So56uOKTDuw++Ho4HhZ7Qveej7XB8b+PIPuroknd3 -FQB5RVbXRvt5ZcVD4F2fbEdBniF7FAF4dEiofVCQGQ2nynT7dZdEIPfPdH3n7ZmE -lAOmwHQ6G83OsiHRBLnbp+QZRgOsjkHJxT20bQIDAQABo2YwZDAOBgNVHQ8BAf8E -BAMCAQYwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQUOEVDM7VomRH4HVdA -QvIMNq2tXOcwHwYDVR0jBBgwFoAU54cfDjgwBx4ycBH8+/r8WXdaiqYwDQYJKoZI -hvcNAQELBQADggEBAHhvMssj+Th8IpNePU6RH0BiL6o9c437R3Q4IEJeFdYL+nZz -PW/rELDPvLRUNMfKM+KzduLZ+l29HahxefejYPXtvXBlq/E/9czFDD4fWXg+zVou -uDXhyrV4kNmP4S0eqsAP/jQHPOZAMFA4yVwO9hlqmePhyDnszCh9c1PfJSBh49+b -4w7i/L3VBOMt8j3EKYvqz0gVfpeqhJwL4Hey8UbVfJRFJMJzfNHpePqtDRAY7yjV -PYquRaV2ab/E+/7VFkWMM4tazYz/qsYA2jSH+4xDHvYk8LnsbcrF9iuidQmEc5sb -FgcWaSKG4DJjcI5k7AJLWcXyTDt21Ci43LE+I9Q= ------END CERTIFICATE----- ------BEGIN CERTIFICATE----- -MIIEEjCCAvqgAwIBAgIJANew34ehz5l8MA0GCSqGSIb3DQEBCwUAMIGVMQswCQYD -VQQGEwJVUzEQMA4GA1UEBwwHU2VhdHRsZTETMBEGA1UECAwKV2FzaGluZ3RvbjEi -MCAGA1UECgwZQW1hem9uIFdlYiBTZXJ2aWNlcywgSW5jLjETMBEGA1UECwwKQW1h -em9uIFJEUzEmMCQGA1UEAwwdQW1hem9uIFJEUyBtZS1zb3V0aC0xIFJvb3QgQ0Ew -HhcNMTkwNTEwMjE0ODI3WhcNMjQwNTA4MjE0ODI3WjCBlTELMAkGA1UEBhMCVVMx -EDAOBgNVBAcMB1NlYXR0bGUxEzARBgNVBAgMCldhc2hpbmd0b24xIjAgBgNVBAoM -GUFtYXpvbiBXZWIgU2VydmljZXMsIEluYy4xEzARBgNVBAsMCkFtYXpvbiBSRFMx -JjAkBgNVBAMMHUFtYXpvbiBSRFMgbWUtc291dGgtMSBSb290IENBMIIBIjANBgkq -hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAp7BYV88MukcY+rq0r79+C8UzkT30fEfT -aPXbx1d6M7uheGN4FMaoYmL+JE1NZPaMRIPTHhFtLSdPccInvenRDIatcXX+jgOk -UA6lnHQ98pwN0pfDUyz/Vph4jBR9LcVkBbe0zdoKKp+HGbMPRU0N2yNrog9gM5O8 -gkU/3O2csJ/OFQNnj4c2NQloGMUpEmedwJMOyQQfcUyt9CvZDfIPNnheUS29jGSw -ERpJe/AENu8Pxyc72jaXQuD+FEi2Ck6lBkSlWYQFhTottAeGvVFNCzKszCntrtqd -rdYUwurYsLTXDHv9nW2hfDUQa0mhXf9gNDOBIVAZugR9NqNRNyYLHQIDAQABo2Mw -YTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU54cf -DjgwBx4ycBH8+/r8WXdaiqYwHwYDVR0jBBgwFoAU54cfDjgwBx4ycBH8+/r8WXda -iqYwDQYJKoZIhvcNAQELBQADggEBAIIMTSPx/dR7jlcxggr+O6OyY49Rlap2laKA -eC/XI4ySP3vQkIFlP822U9Kh8a9s46eR0uiwV4AGLabcu0iKYfXjPkIprVCqeXV7 -ny9oDtrbflyj7NcGdZLvuzSwgl9SYTJp7PVCZtZutsPYlbJrBPHwFABvAkMvRtDB -hitIg4AESDGPoCl94sYHpfDfjpUDMSrAMDUyO6DyBdZH5ryRMAs3lGtsmkkNUrso -aTW6R05681Z0mvkRdb+cdXtKOSuDZPoe2wJJIaz3IlNQNSrB5TImMYgmt6iAsFhv -3vfTSTKrZDNTJn4ybG6pq1zWExoXsktZPylJly6R3RBwV6nwqBM= ------END CERTIFICATE----- ------BEGIN CERTIFICATE----- -MIIEETCCAvmgAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwgZQxCzAJBgNVBAYTAlVT -MRAwDgYDVQQHDAdTZWF0dGxlMRMwEQYDVQQIDApXYXNoaW5ndG9uMSIwIAYDVQQK -DBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJbmMuMRMwEQYDVQQLDApBbWF6b24gUkRT -MSUwIwYDVQQDDBxBbWF6b24gUkRTIEJldGEgUm9vdCAyMDE5IENBMB4XDTE5MDgy -MDE3MTAwN1oXDTI0MDgxOTE3MzgyNlowgZkxCzAJBgNVBAYTAlVTMRMwEQYDVQQI -DApXYXNoaW5ndG9uMRAwDgYDVQQHDAdTZWF0dGxlMSIwIAYDVQQKDBlBbWF6b24g -V2ViIFNlcnZpY2VzLCBJbmMuMRMwEQYDVQQLDApBbWF6b24gUkRTMSowKAYDVQQD -DCFBbWF6b24gUkRTIEJldGEgdXMtZWFzdC0xIDIwMTkgQ0EwggEiMA0GCSqGSIb3 -DQEBAQUAA4IBDwAwggEKAoIBAQDTNCOlotQcLP8TP82U2+nk0bExVuuMVOgFeVMx -vbUHZQeIj9ikjk+jm6eTDnnkhoZcmJiJgRy+5Jt69QcRbb3y3SAU7VoHgtraVbxF -QDh7JEHI9tqEEVOA5OvRrDRcyeEYBoTDgh76ROco2lR+/9uCvGtHVrMCtG7BP7ZB -sSVNAr1IIRZZqKLv2skKT/7mzZR2ivcw9UeBBTUf8xsfiYVBvMGoEsXEycjYdf6w -WV+7XS7teNOc9UgsFNN+9AhIBc1jvee5E//72/4F8pAttAg/+mmPUyIKtekNJ4gj -OAR2VAzGx1ybzWPwIgOudZFHXFduxvq4f1hIRPH0KbQ/gkRrAgMBAAGjZjBkMA4G -A1UdDwEB/wQEAwIBBjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdDgQWBBTkvpCD -6C43rar9TtJoXr7q8dkrrjAfBgNVHSMEGDAWgBStoQwVpbGx87fxB3dEGDqKKnBT -4TANBgkqhkiG9w0BAQsFAAOCAQEAJd9fOSkwB3uVdsS+puj6gCER8jqmhd3g/J5V -Zjk9cKS8H0e8pq/tMxeJ8kpurPAzUk5RkCspGt2l0BSwmf3ahr8aJRviMX6AuW3/ -g8aKplTvq/WMNGKLXONa3Sq8591J+ce8gtOX/1rDKmFI4wQ/gUzOSYiT991m7QKS -Fr6HMgFuz7RNJbb3Fy5cnurh8eYWA7mMv7laiLwTNsaro5qsqErD5uXuot6o9beT -a+GiKinEur35tNxAr47ax4IRubuIzyfCrezjfKc5raVV2NURJDyKP0m0CCaffAxE -qn2dNfYc3v1D8ypg3XjHlOzRo32RB04o8ALHMD9LSwsYDLpMag== ------END CERTIFICATE----- ------BEGIN CERTIFICATE----- -MIIEEDCCAvigAwIBAgIJAKFMXyltvuRdMA0GCSqGSIb3DQEBCwUAMIGUMQswCQYD -VQQGEwJVUzEQMA4GA1UEBwwHU2VhdHRsZTETMBEGA1UECAwKV2FzaGluZ3RvbjEi -MCAGA1UECgwZQW1hem9uIFdlYiBTZXJ2aWNlcywgSW5jLjETMBEGA1UECwwKQW1h -em9uIFJEUzElMCMGA1UEAwwcQW1hem9uIFJEUyBCZXRhIFJvb3QgMjAxOSBDQTAe -Fw0xOTA4MTkxNzM4MjZaFw0yNDA4MTkxNzM4MjZaMIGUMQswCQYDVQQGEwJVUzEQ -MA4GA1UEBwwHU2VhdHRsZTETMBEGA1UECAwKV2FzaGluZ3RvbjEiMCAGA1UECgwZ -QW1hem9uIFdlYiBTZXJ2aWNlcywgSW5jLjETMBEGA1UECwwKQW1hem9uIFJEUzEl -MCMGA1UEAwwcQW1hem9uIFJEUyBCZXRhIFJvb3QgMjAxOSBDQTCCASIwDQYJKoZI -hvcNAQEBBQADggEPADCCAQoCggEBAMkZdnIH9ndatGAcFo+DppGJ1HUt4x+zeO+0 -ZZ29m0sfGetVulmTlv2d5b66e+QXZFWpcPQMouSxxYTW08TbrQiZngKr40JNXftA -atvzBqIImD4II0ZX5UEVj2h98qe/ypW5xaDN7fEa5e8FkYB1TEemPaWIbNXqchcL -tV7IJPr3Cd7Z5gZJlmujIVDPpMuSiNaal9/6nT9oqN+JSM1fx5SzrU5ssg1Vp1vv -5Xab64uOg7wCJRB9R2GC9XD04odX6VcxUAGrZo6LR64ZSifupo3l+R5sVOc5i8NH -skdboTzU9H7+oSdqoAyhIU717PcqeDum23DYlPE2nGBWckE+eT8CAwEAAaNjMGEw -DgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFK2hDBWl -sbHzt/EHd0QYOooqcFPhMB8GA1UdIwQYMBaAFK2hDBWlsbHzt/EHd0QYOooqcFPh -MA0GCSqGSIb3DQEBCwUAA4IBAQAO/718k8EnOqJDx6wweUscGTGL/QdKXUzTVRAx -JUsjNUv49mH2HQVEW7oxszfH6cPCaupNAddMhQc4C/af6GHX8HnqfPDk27/yBQI+ -yBBvIanGgxv9c9wBbmcIaCEWJcsLp3HzXSYHmjiqkViXwCpYfkoV3Ns2m8bp+KCO -y9XmcCKRaXkt237qmoxoh2sGmBHk2UlQtOsMC0aUQ4d7teAJG0q6pbyZEiPyKZY1 -XR/UVxMJL0Q4iVpcRS1kaNCMfqS2smbLJeNdsan8pkw1dvPhcaVTb7CvjhJtjztF -YfDzAI5794qMlWxwilKMmUvDlPPOTen8NNHkLwWvyFCH7Doh ------END CERTIFICATE----- ------BEGIN CERTIFICATE----- -MIIEFzCCAv+gAwIBAgICFSUwDQYJKoZIhvcNAQELBQAwgZcxCzAJBgNVBAYTAlVT -MRAwDgYDVQQHDAdTZWF0dGxlMRMwEQYDVQQIDApXYXNoaW5ndG9uMSIwIAYDVQQK -DBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJbmMuMRMwEQYDVQQLDApBbWF6b24gUkRT -MSgwJgYDVQQDDB9BbWF6b24gUkRTIFByZXZpZXcgUm9vdCAyMDE5IENBMB4XDTE5 -MDgyMTIyMzk0N1oXDTI0MDgyMTIyMjk0OVowgZwxCzAJBgNVBAYTAlVTMRMwEQYD -VQQIDApXYXNoaW5ndG9uMRAwDgYDVQQHDAdTZWF0dGxlMSIwIAYDVQQKDBlBbWF6 -b24gV2ViIFNlcnZpY2VzLCBJbmMuMRMwEQYDVQQLDApBbWF6b24gUkRTMS0wKwYD -VQQDDCRBbWF6b24gUkRTIFByZXZpZXcgdXMtZWFzdC0yIDIwMTkgQ0EwggEiMA0G -CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQD0dB/U7qRnSf05wOi7m10Pa2uPMTJv -r6U/3Y17a5prq5Zr4++CnSUYarG51YuIf355dKs+7Lpzs782PIwCmLpzAHKWzix6 -pOaTQ+WZ0+vUMTxyqgqWbsBgSCyP7pVBiyqnmLC/L4az9XnscrbAX4pNaoJxsuQe -mzBo6yofjQaAzCX69DuqxFkVTRQnVy7LCFkVaZtjNAftnAHJjVgQw7lIhdGZp9q9 -IafRt2gteihYfpn+EAQ/t/E4MnhrYs4CPLfS7BaYXBycEKC5Muj1l4GijNNQ0Efo -xG8LSZz7SNgUvfVwiNTaqfLP3AtEAWiqxyMyh3VO+1HpCjT7uNBFtmF3AgMBAAGj -ZjBkMA4GA1UdDwEB/wQEAwIBBjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdDgQW -BBQtinkdrj+0B2+qdXngV2tgHnPIujAfBgNVHSMEGDAWgBRp0xqULkNh/w2ZVzEI -o2RIY7O03TANBgkqhkiG9w0BAQsFAAOCAQEAtJdqbCxDeMc8VN1/RzCabw9BIL/z -73Auh8eFTww/sup26yn8NWUkfbckeDYr1BrXa+rPyLfHpg06kwR8rBKyrs5mHwJx -bvOzXD/5WTdgreB+2Fb7mXNvWhenYuji1MF+q1R2DXV3I05zWHteKX6Dajmx+Uuq -Yq78oaCBSV48hMxWlp8fm40ANCL1+gzQ122xweMFN09FmNYFhwuW+Ao+Vv90ZfQG -PYwTvN4n/gegw2TYcifGZC2PNX74q3DH03DXe5fvNgRW5plgz/7f+9mS+YHd5qa9 -tYTPUvoRbi169ou6jicsMKUKPORHWhiTpSCWR1FMMIbsAcsyrvtIsuaGCQ== ------END CERTIFICATE----- ------BEGIN CERTIFICATE----- -MIIEFjCCAv6gAwIBAgIJAMzYZJ+R9NBVMA0GCSqGSIb3DQEBCwUAMIGXMQswCQYD -VQQGEwJVUzEQMA4GA1UEBwwHU2VhdHRsZTETMBEGA1UECAwKV2FzaGluZ3RvbjEi -MCAGA1UECgwZQW1hem9uIFdlYiBTZXJ2aWNlcywgSW5jLjETMBEGA1UECwwKQW1h -em9uIFJEUzEoMCYGA1UEAwwfQW1hem9uIFJEUyBQcmV2aWV3IFJvb3QgMjAxOSBD -QTAeFw0xOTA4MjEyMjI5NDlaFw0yNDA4MjEyMjI5NDlaMIGXMQswCQYDVQQGEwJV -UzEQMA4GA1UEBwwHU2VhdHRsZTETMBEGA1UECAwKV2FzaGluZ3RvbjEiMCAGA1UE -CgwZQW1hem9uIFdlYiBTZXJ2aWNlcywgSW5jLjETMBEGA1UECwwKQW1hem9uIFJE -UzEoMCYGA1UEAwwfQW1hem9uIFJEUyBQcmV2aWV3IFJvb3QgMjAxOSBDQTCCASIw -DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAM7kkS6vjgKKQTPynC2NjdN5aPPV -O71G0JJS/2ARVBVJd93JLiGovVJilfWYfwZCs4gTRSSjrUD4D4HyqCd6A+eEEtJq -M0DEC7i0dC+9WNTsPszuB206Jy2IUmxZMIKJAA1NHSbIMjB+b6/JhbSUi7nKdbR/ -brj83bF+RoSA+ogrgX7mQbxhmFcoZN9OGaJgYKsKWUt5Wqv627KkGodUK8mDepgD -S3ZfoRQRx3iceETpcmHJvaIge6+vyDX3d9Z22jmvQ4AKv3py2CmU2UwuhOltFDwB -0ddtb39vgwrJxaGfiMRHpEP1DfNLWHAnA69/pgZPwIggidS+iBPUhgucMp8CAwEA -AaNjMGEwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYE -FGnTGpQuQ2H/DZlXMQijZEhjs7TdMB8GA1UdIwQYMBaAFGnTGpQuQ2H/DZlXMQij -ZEhjs7TdMA0GCSqGSIb3DQEBCwUAA4IBAQC3xz1vQvcXAfpcZlngiRWeqU8zQAMQ -LZPCFNv7PVk4pmqX+ZiIRo4f9Zy7TrOVcboCnqmP/b/mNq0gVF4O+88jwXJZD+f8 -/RnABMZcnGU+vK0YmxsAtYU6TIb1uhRFmbF8K80HHbj9vSjBGIQdPCbvmR2zY6VJ -BYM+w9U9hp6H4DVMLKXPc1bFlKA5OBTgUtgkDibWJKFOEPW3UOYwp9uq6pFoN0AO -xMTldqWFsOF3bJIlvOY0c/1EFZXu3Ns6/oCP//Ap9vumldYMUZWmbK+gK33FPOXV -8BQ6jNC29icv7lLDpRPwjibJBXX+peDR5UK4FdYcswWEB1Tix5X8dYu6 ------END CERTIFICATE----- ------BEGIN CERTIFICATE----- -MIIECDCCAvCgAwIBAgICVIYwDQYJKoZIhvcNAQELBQAwgY8xCzAJBgNVBAYTAlVT -MRAwDgYDVQQHDAdTZWF0dGxlMRMwEQYDVQQIDApXYXNoaW5ndG9uMSIwIAYDVQQK -DBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJbmMuMRMwEQYDVQQLDApBbWF6b24gUkRT -MSAwHgYDVQQDDBdBbWF6b24gUkRTIFJvb3QgMjAxOSBDQTAeFw0xOTA5MDQxNzEz -MDRaFw0yNDA4MjIxNzA4NTBaMIGVMQswCQYDVQQGEwJVUzETMBEGA1UECAwKV2Fz -aGluZ3RvbjEQMA4GA1UEBwwHU2VhdHRsZTEiMCAGA1UECgwZQW1hem9uIFdlYiBT -ZXJ2aWNlcywgSW5jLjETMBEGA1UECwwKQW1hem9uIFJEUzEmMCQGA1UEAwwdQW1h -em9uIFJEUyBhcC1zb3V0aC0xIDIwMTkgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IB -DwAwggEKAoIBAQDUYOz1hGL42yUCrcsMSOoU8AeD/3KgZ4q7gP+vAz1WnY9K/kim -eWN/2Qqzlo3+mxSFQFyD4MyV3+CnCPnBl9Sh1G/F6kThNiJ7dEWSWBQGAB6HMDbC -BaAsmUc1UIz8sLTL3fO+S9wYhA63Wun0Fbm/Rn2yk/4WnJAaMZcEtYf6e0KNa0LM -p/kN/70/8cD3iz3dDR8zOZFpHoCtf0ek80QqTich0A9n3JLxR6g6tpwoYviVg89e -qCjQ4axxOkWWeusLeTJCcY6CkVyFvDAKvcUl1ytM5AiaUkXblE7zDFXRM4qMMRdt -lPm8d3pFxh0fRYk8bIKnpmtOpz3RIctDrZZxAgMBAAGjZjBkMA4GA1UdDwEB/wQE -AwIBBjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdDgQWBBT99wKJftD3jb4sHoHG -i3uGlH6W6TAfBgNVHSMEGDAWgBRzX2DYvMsDmPQrFzQuNlqmYP+8HzANBgkqhkiG -9w0BAQsFAAOCAQEAZ17hhr3dII3hUfuHQ1hPWGrpJOX/G9dLzkprEIcCidkmRYl+ -hu1Pe3caRMh/17+qsoEErmnVq5jNY9X1GZL04IZH8YbHc7iRHw3HcWAdhN8633+K -jYEB2LbJ3vluCGnCejq9djDb6alOugdLMJzxOkHDhMZ6/gYbECOot+ph1tQuZXzD -tZ7prRsrcuPBChHlPjmGy8M9z8u+kF196iNSUGC4lM8vLkHM7ycc1/ZOwRq9aaTe -iOghbQQyAEe03MWCyDGtSmDfr0qEk+CHN+6hPiaL8qKt4s+V9P7DeK4iW08ny8Ox -AVS7u0OK/5+jKMAMrKwpYrBydOjTUTHScocyNw== ------END CERTIFICATE----- ------BEGIN CERTIFICATE----- -MIIEBjCCAu6gAwIBAgIJAMc0ZzaSUK51MA0GCSqGSIb3DQEBCwUAMIGPMQswCQYD -VQQGEwJVUzEQMA4GA1UEBwwHU2VhdHRsZTETMBEGA1UECAwKV2FzaGluZ3RvbjEi -MCAGA1UECgwZQW1hem9uIFdlYiBTZXJ2aWNlcywgSW5jLjETMBEGA1UECwwKQW1h -em9uIFJEUzEgMB4GA1UEAwwXQW1hem9uIFJEUyBSb290IDIwMTkgQ0EwHhcNMTkw -ODIyMTcwODUwWhcNMjQwODIyMTcwODUwWjCBjzELMAkGA1UEBhMCVVMxEDAOBgNV -BAcMB1NlYXR0bGUxEzARBgNVBAgMCldhc2hpbmd0b24xIjAgBgNVBAoMGUFtYXpv -biBXZWIgU2VydmljZXMsIEluYy4xEzARBgNVBAsMCkFtYXpvbiBSRFMxIDAeBgNV -BAMMF0FtYXpvbiBSRFMgUm9vdCAyMDE5IENBMIIBIjANBgkqhkiG9w0BAQEFAAOC -AQ8AMIIBCgKCAQEArXnF/E6/Qh+ku3hQTSKPMhQQlCpoWvnIthzX6MK3p5a0eXKZ -oWIjYcNNG6UwJjp4fUXl6glp53Jobn+tWNX88dNH2n8DVbppSwScVE2LpuL+94vY -0EYE/XxN7svKea8YvlrqkUBKyxLxTjh+U/KrGOaHxz9v0l6ZNlDbuaZw3qIWdD/I -6aNbGeRUVtpM6P+bWIoxVl/caQylQS6CEYUk+CpVyJSkopwJlzXT07tMoDL5WgX9 -O08KVgDNz9qP/IGtAcRduRcNioH3E9v981QO1zt/Gpb2f8NqAjUUCUZzOnij6mx9 -McZ+9cWX88CRzR0vQODWuZscgI08NvM69Fn2SQIDAQABo2MwYTAOBgNVHQ8BAf8E -BAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUc19g2LzLA5j0Kxc0LjZa -pmD/vB8wHwYDVR0jBBgwFoAUc19g2LzLA5j0Kxc0LjZapmD/vB8wDQYJKoZIhvcN -AQELBQADggEBAHAG7WTmyjzPRIM85rVj+fWHsLIvqpw6DObIjMWokpliCeMINZFV -ynfgBKsf1ExwbvJNzYFXW6dihnguDG9VMPpi2up/ctQTN8tm9nDKOy08uNZoofMc -NUZxKCEkVKZv+IL4oHoeayt8egtv3ujJM6V14AstMQ6SwvwvA93EP/Ug2e4WAXHu -cbI1NAbUgVDqp+DRdfvZkgYKryjTWd/0+1fS8X1bBZVWzl7eirNVnHbSH2ZDpNuY -0SBd8dj5F6ld3t58ydZbrTHze7JJOd8ijySAp4/kiu9UfZWuTPABzDa/DSdz9Dk/ -zPW4CXXvhLmE02TA9/HeCw3KEHIwicNuEfw= ------END CERTIFICATE----- ------BEGIN CERTIFICATE----- -MIIEBzCCAu+gAwIBAgICQ2QwDQYJKoZIhvcNAQELBQAwgY8xCzAJBgNVBAYTAlVT -MRAwDgYDVQQHDAdTZWF0dGxlMRMwEQYDVQQIDApXYXNoaW5ndG9uMSIwIAYDVQQK -DBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJbmMuMRMwEQYDVQQLDApBbWF6b24gUkRT -MSAwHgYDVQQDDBdBbWF6b24gUkRTIFJvb3QgMjAxOSBDQTAeFw0xOTA5MDUxODQ2 -MjlaFw0yNDA4MjIxNzA4NTBaMIGUMQswCQYDVQQGEwJVUzETMBEGA1UECAwKV2Fz -aGluZ3RvbjEQMA4GA1UEBwwHU2VhdHRsZTEiMCAGA1UECgwZQW1hem9uIFdlYiBT -ZXJ2aWNlcywgSW5jLjETMBEGA1UECwwKQW1hem9uIFJEUzElMCMGA1UEAwwcQW1h -em9uIFJEUyBzYS1lYXN0LTEgMjAxOSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEP -ADCCAQoCggEBAMMvR+ReRnOzqJzoaPipNTt1Z2VA968jlN1+SYKUrYM3No+Vpz0H -M6Tn0oYB66ByVsXiGc28ulsqX1HbHsxqDPwvQTKvO7SrmDokoAkjJgLocOLUAeld -5AwvUjxGRP6yY90NV7X786MpnYb2Il9DIIaV9HjCmPt+rjy2CZjS0UjPjCKNfB8J -bFjgW6GGscjeyGb/zFwcom5p4j0rLydbNaOr9wOyQrtt3ZQWLYGY9Zees/b8pmcc -Jt+7jstZ2UMV32OO/kIsJ4rMUn2r/uxccPwAc1IDeRSSxOrnFKhW3Cu69iB3bHp7 -JbawY12g7zshE4I14sHjv3QoXASoXjx4xgMCAwEAAaNmMGQwDgYDVR0PAQH/BAQD -AgEGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYDVR0OBBYEFI1Fc/Ql2jx+oJPgBVYq -ccgP0pQ8MB8GA1UdIwQYMBaAFHNfYNi8ywOY9CsXNC42WqZg/7wfMA0GCSqGSIb3 -DQEBCwUAA4IBAQB4VVVabVp70myuYuZ3vltQIWqSUMhkaTzehMgGcHjMf9iLoZ/I -93KiFUSGnek5cRePyS9wcpp0fcBT3FvkjpUdCjVtdttJgZFhBxgTd8y26ImdDDMR -4+BUuhI5msvjL08f+Vkkpu1GQcGmyFVPFOy/UY8iefu+QyUuiBUnUuEDd49Hw0Fn -/kIPII6Vj82a2mWV/Q8e+rgN8dIRksRjKI03DEoP8lhPlsOkhdwU6Uz9Vu6NOB2Q -Ls1kbcxAc7cFSyRVJEhh12Sz9d0q/CQSTFsVJKOjSNQBQfVnLz1GwO/IieUEAr4C -jkTntH0r1LX5b/GwN4R887LvjAEdTbg1his7 ------END CERTIFICATE----- ------BEGIN CERTIFICATE----- -MIIECDCCAvCgAwIBAgIDAIkHMA0GCSqGSIb3DQEBCwUAMIGPMQswCQYDVQQGEwJV -UzEQMA4GA1UEBwwHU2VhdHRsZTETMBEGA1UECAwKV2FzaGluZ3RvbjEiMCAGA1UE -CgwZQW1hem9uIFdlYiBTZXJ2aWNlcywgSW5jLjETMBEGA1UECwwKQW1hem9uIFJE -UzEgMB4GA1UEAwwXQW1hem9uIFJEUyBSb290IDIwMTkgQ0EwHhcNMTkwOTA2MTc0 -MDIxWhcNMjQwODIyMTcwODUwWjCBlDELMAkGA1UEBhMCVVMxEzARBgNVBAgMCldh -c2hpbmd0b24xEDAOBgNVBAcMB1NlYXR0bGUxIjAgBgNVBAoMGUFtYXpvbiBXZWIg -U2VydmljZXMsIEluYy4xEzARBgNVBAsMCkFtYXpvbiBSRFMxJTAjBgNVBAMMHEFt -YXpvbiBSRFMgdXMtd2VzdC0xIDIwMTkgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IB -DwAwggEKAoIBAQDD2yzbbAl77OofTghDMEf624OvU0eS9O+lsdO0QlbfUfWa1Kd6 -0WkgjkLZGfSRxEHMCnrv4UPBSK/Qwn6FTjkDLgemhqBtAnplN4VsoDL+BkRX4Wwq -/dSQJE2b+0hm9w9UMVGFDEq1TMotGGTD2B71eh9HEKzKhGzqiNeGsiX4VV+LJzdH -uM23eGisNqmd4iJV0zcAZ+Gbh2zK6fqTOCvXtm7Idccv8vZZnyk1FiWl3NR4WAgK -AkvWTIoFU3Mt7dIXKKClVmvssG8WHCkd3Xcb4FHy/G756UZcq67gMMTX/9fOFM/v -l5C0+CHl33Yig1vIDZd+fXV1KZD84dEJfEvHAgMBAAGjZjBkMA4GA1UdDwEB/wQE -AwIBBjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdDgQWBBR+ap20kO/6A7pPxo3+ -T3CfqZpQWjAfBgNVHSMEGDAWgBRzX2DYvMsDmPQrFzQuNlqmYP+8HzANBgkqhkiG -9w0BAQsFAAOCAQEAHCJky2tPjPttlDM/RIqExupBkNrnSYnOK4kr9xJ3sl8UF2DA -PAnYsjXp3rfcjN/k/FVOhxwzi3cXJF/2Tjj39Bm/OEfYTOJDNYtBwB0VVH4ffa/6 -tZl87jaIkrxJcreeeHqYMnIxeN0b/kliyA+a5L2Yb0VPjt9INq34QDc1v74FNZ17 -4z8nr1nzg4xsOWu0Dbjo966lm4nOYIGBRGOKEkHZRZ4mEiMgr3YLkv8gSmeitx57 -Z6dVemNtUic/LVo5Iqw4n3TBS0iF2C1Q1xT/s3h+0SXZlfOWttzSluDvoMv5PvCd -pFjNn+aXLAALoihL1MJSsxydtsLjOBro5eK0Vw== ------END CERTIFICATE----- ------BEGIN CERTIFICATE----- -MIIEDDCCAvSgAwIBAgICOFAwDQYJKoZIhvcNAQELBQAwgY8xCzAJBgNVBAYTAlVT -MRAwDgYDVQQHDAdTZWF0dGxlMRMwEQYDVQQIDApXYXNoaW5ndG9uMSIwIAYDVQQK -DBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJbmMuMRMwEQYDVQQLDApBbWF6b24gUkRT -MSAwHgYDVQQDDBdBbWF6b24gUkRTIFJvb3QgMjAxOSBDQTAeFw0xOTA5MTAxNzQ2 -MjFaFw0yNDA4MjIxNzA4NTBaMIGZMQswCQYDVQQGEwJVUzETMBEGA1UECAwKV2Fz -aGluZ3RvbjEQMA4GA1UEBwwHU2VhdHRsZTEiMCAGA1UECgwZQW1hem9uIFdlYiBT -ZXJ2aWNlcywgSW5jLjETMBEGA1UECwwKQW1hem9uIFJEUzEqMCgGA1UEAwwhQW1h -em9uIFJEUyBhcC1ub3J0aGVhc3QtMiAyMDE5IENBMIIBIjANBgkqhkiG9w0BAQEF -AAOCAQ8AMIIBCgKCAQEAzU72e6XbaJbi4HjJoRNjKxzUEuChKQIt7k3CWzNnmjc5 -8I1MjCpa2W1iw1BYVysXSNSsLOtUsfvBZxi/1uyMn5ZCaf9aeoA9UsSkFSZBjOCN -DpKPCmfV1zcEOvJz26+1m8WDg+8Oa60QV0ou2AU1tYcw98fOQjcAES0JXXB80P2s -3UfkNcnDz+l4k7j4SllhFPhH6BQ4lD2NiFAP4HwoG6FeJUn45EPjzrydxjq6v5Fc -cQ8rGuHADVXotDbEhaYhNjIrsPL+puhjWfhJjheEw8c4whRZNp6gJ/b6WEes/ZhZ -h32DwsDsZw0BfRDUMgUn8TdecNexHUw8vQWeC181hwIDAQABo2YwZDAOBgNVHQ8B -Af8EBAMCAQYwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQUwW9bWgkWkr0U -lrOsq2kvIdrECDgwHwYDVR0jBBgwFoAUc19g2LzLA5j0Kxc0LjZapmD/vB8wDQYJ -KoZIhvcNAQELBQADggEBAEugF0Gj7HVhX0ehPZoGRYRt3PBuI2YjfrrJRTZ9X5wc -9T8oHmw07mHmNy1qqWvooNJg09bDGfB0k5goC2emDiIiGfc/kvMLI7u+eQOoMKj6 -mkfCncyRN3ty08Po45vTLBFZGUvtQmjM6yKewc4sXiASSBmQUpsMbiHRCL72M5qV -obcJOjGcIdDTmV1BHdWT+XcjynsGjUqOvQWWhhLPrn4jWe6Xuxll75qlrpn3IrIx -CRBv/5r7qbcQJPOgwQsyK4kv9Ly8g7YT1/vYBlR3cRsYQjccw5ceWUj2DrMVWhJ4 -prf+E3Aa4vYmLLOUUvKnDQ1k3RGNu56V0tonsQbfsaM= ------END CERTIFICATE----- ------BEGIN CERTIFICATE----- -MIIECjCCAvKgAwIBAgICEzUwDQYJKoZIhvcNAQELBQAwgY8xCzAJBgNVBAYTAlVT -MRAwDgYDVQQHDAdTZWF0dGxlMRMwEQYDVQQIDApXYXNoaW5ndG9uMSIwIAYDVQQK -DBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJbmMuMRMwEQYDVQQLDApBbWF6b24gUkRT -MSAwHgYDVQQDDBdBbWF6b24gUkRTIFJvb3QgMjAxOSBDQTAeFw0xOTA5MTAyMDUy -MjVaFw0yNDA4MjIxNzA4NTBaMIGXMQswCQYDVQQGEwJVUzETMBEGA1UECAwKV2Fz -aGluZ3RvbjEQMA4GA1UEBwwHU2VhdHRsZTEiMCAGA1UECgwZQW1hem9uIFdlYiBT -ZXJ2aWNlcywgSW5jLjETMBEGA1UECwwKQW1hem9uIFJEUzEoMCYGA1UEAwwfQW1h -em9uIFJEUyBjYS1jZW50cmFsLTEgMjAxOSBDQTCCASIwDQYJKoZIhvcNAQEBBQAD -ggEPADCCAQoCggEBAOxHqdcPSA2uBjsCP4DLSlqSoPuQ/X1kkJLusVRKiQE2zayB -viuCBt4VB9Qsh2rW3iYGM+usDjltGnI1iUWA5KHcvHszSMkWAOYWLiMNKTlg6LCp -XnE89tvj5dIH6U8WlDvXLdjB/h30gW9JEX7S8supsBSci2GxEzb5mRdKaDuuF/0O -qvz4YE04pua3iZ9QwmMFuTAOYzD1M72aOpj+7Ac+YLMM61qOtU+AU6MndnQkKoQi -qmUN2A9IFaqHFzRlSdXwKCKUA4otzmz+/N3vFwjb5F4DSsbsrMfjeHMo6o/nb6Nh -YDb0VJxxPee6TxSuN7CQJ2FxMlFUezcoXqwqXD0CAwEAAaNmMGQwDgYDVR0PAQH/ -BAQDAgEGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYDVR0OBBYEFDGGpon9WfIpsggE -CxHq8hZ7E2ESMB8GA1UdIwQYMBaAFHNfYNi8ywOY9CsXNC42WqZg/7wfMA0GCSqG -SIb3DQEBCwUAA4IBAQAvpeQYEGZvoTVLgV9rd2+StPYykMsmFjWQcyn3dBTZRXC2 -lKq7QhQczMAOhEaaN29ZprjQzsA2X/UauKzLR2Uyqc2qOeO9/YOl0H3qauo8C/W9 -r8xqPbOCDLEXlOQ19fidXyyEPHEq5WFp8j+fTh+s8WOx2M7IuC0ANEetIZURYhSp -xl9XOPRCJxOhj7JdelhpweX0BJDNHeUFi0ClnFOws8oKQ7sQEv66d5ddxqqZ3NVv -RbCvCtEutQMOUMIuaygDlMn1anSM8N7Wndx8G6+Uy67AnhjGx7jw/0YPPxopEj6x -JXP8j0sJbcT9K/9/fPVLNT25RvQ/93T2+IQL4Ca2 ------END CERTIFICATE----- ------BEGIN CERTIFICATE----- -MIIEBzCCAu+gAwIBAgICYpgwDQYJKoZIhvcNAQELBQAwgY8xCzAJBgNVBAYTAlVT -MRAwDgYDVQQHDAdTZWF0dGxlMRMwEQYDVQQIDApXYXNoaW5ndG9uMSIwIAYDVQQK -DBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJbmMuMRMwEQYDVQQLDApBbWF6b24gUkRT -MSAwHgYDVQQDDBdBbWF6b24gUkRTIFJvb3QgMjAxOSBDQTAeFw0xOTA5MTExNzMx -NDhaFw0yNDA4MjIxNzA4NTBaMIGUMQswCQYDVQQGEwJVUzETMBEGA1UECAwKV2Fz -aGluZ3RvbjEQMA4GA1UEBwwHU2VhdHRsZTEiMCAGA1UECgwZQW1hem9uIFdlYiBT -ZXJ2aWNlcywgSW5jLjETMBEGA1UECwwKQW1hem9uIFJEUzElMCMGA1UEAwwcQW1h -em9uIFJEUyBldS13ZXN0LTEgMjAxOSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEP -ADCCAQoCggEBAMk3YdSZ64iAYp6MyyKtYJtNzv7zFSnnNf6vv0FB4VnfITTMmOyZ -LXqKAT2ahZ00hXi34ewqJElgU6eUZT/QlzdIu359TEZyLVPwURflL6SWgdG01Q5X -O++7fSGcBRyIeuQWs9FJNIIqK8daF6qw0Rl5TXfu7P9dBc3zkgDXZm2DHmxGDD69 -7liQUiXzoE1q2Z9cA8+jirDioJxN9av8hQt12pskLQumhlArsMIhjhHRgF03HOh5 -tvi+RCfihVOxELyIRTRpTNiIwAqfZxxTWFTgfn+gijTmd0/1DseAe82aYic8JbuS -EMbrDduAWsqrnJ4GPzxHKLXX0JasCUcWyMECAwEAAaNmMGQwDgYDVR0PAQH/BAQD -AgEGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYDVR0OBBYEFPLtsq1NrwJXO13C9eHt -sLY11AGwMB8GA1UdIwQYMBaAFHNfYNi8ywOY9CsXNC42WqZg/7wfMA0GCSqGSIb3 -DQEBCwUAA4IBAQAnWBKj5xV1A1mYd0kIgDdkjCwQkiKF5bjIbGkT3YEFFbXoJlSP -0lZZ/hDaOHI8wbLT44SzOvPEEmWF9EE7SJzkvSdQrUAWR9FwDLaU427ALI3ngNHy -lGJ2hse1fvSRNbmg8Sc9GBv8oqNIBPVuw+AJzHTacZ1OkyLZrz1c1QvwvwN2a+Jd -vH0V0YIhv66llKcYDMUQJAQi4+8nbRxXWv6Gq3pvrFoorzsnkr42V3JpbhnYiK+9 -nRKd4uWl62KRZjGkfMbmsqZpj2fdSWMY1UGyN1k+kDmCSWYdrTRDP0xjtIocwg+A -J116n4hV/5mbA0BaPiS2krtv17YAeHABZcvz ------END CERTIFICATE----- ------BEGIN CERTIFICATE----- -MIIECjCCAvKgAwIBAgICV2YwDQYJKoZIhvcNAQELBQAwgY8xCzAJBgNVBAYTAlVT -MRAwDgYDVQQHDAdTZWF0dGxlMRMwEQYDVQQIDApXYXNoaW5ndG9uMSIwIAYDVQQK -DBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJbmMuMRMwEQYDVQQLDApBbWF6b24gUkRT -MSAwHgYDVQQDDBdBbWF6b24gUkRTIFJvb3QgMjAxOSBDQTAeFw0xOTA5MTExOTM2 -MjBaFw0yNDA4MjIxNzA4NTBaMIGXMQswCQYDVQQGEwJVUzETMBEGA1UECAwKV2Fz -aGluZ3RvbjEQMA4GA1UEBwwHU2VhdHRsZTEiMCAGA1UECgwZQW1hem9uIFdlYiBT -ZXJ2aWNlcywgSW5jLjETMBEGA1UECwwKQW1hem9uIFJEUzEoMCYGA1UEAwwfQW1h -em9uIFJEUyBldS1jZW50cmFsLTEgMjAxOSBDQTCCASIwDQYJKoZIhvcNAQEBBQAD -ggEPADCCAQoCggEBAMEx54X2pHVv86APA0RWqxxRNmdkhAyp2R1cFWumKQRofoFv -n+SPXdkpIINpMuEIGJANozdiEz7SPsrAf8WHyD93j/ZxrdQftRcIGH41xasetKGl -I67uans8d+pgJgBKGb/Z+B5m+UsIuEVekpvgpwKtmmaLFC/NCGuSsJoFsRqoa6Gh -m34W6yJoY87UatddCqLY4IIXaBFsgK9Q/wYzYLbnWM6ZZvhJ52VMtdhcdzeTHNW0 -5LGuXJOF7Ahb4JkEhoo6TS2c0NxB4l4MBfBPgti+O7WjR3FfZHpt18A6Zkq6A2u6 -D/oTSL6c9/3sAaFTFgMyL3wHb2YlW0BPiljZIqECAwEAAaNmMGQwDgYDVR0PAQH/ -BAQDAgEGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYDVR0OBBYEFOcAToAc6skWffJa -TnreaswAfrbcMB8GA1UdIwQYMBaAFHNfYNi8ywOY9CsXNC42WqZg/7wfMA0GCSqG -SIb3DQEBCwUAA4IBAQA1d0Whc1QtspK496mFWfFEQNegLh0a9GWYlJm+Htcj5Nxt -DAIGXb+8xrtOZFHmYP7VLCT5Zd2C+XytqseK/+s07iAr0/EPF+O2qcyQWMN5KhgE -cXw2SwuP9FPV3i+YAm11PBVeenrmzuk9NrdHQ7TxU4v7VGhcsd2C++0EisrmquWH -mgIfmVDGxphwoES52cY6t3fbnXmTkvENvR+h3rj+fUiSz0aSo+XZUGHPgvuEKM/W -CBD9Smc9CBoBgvy7BgHRgRUmwtABZHFUIEjHI5rIr7ZvYn+6A0O6sogRfvVYtWFc -qpyrW1YX8mD0VlJ8fGKM3G+aCOsiiPKDV/Uafrm+ ------END CERTIFICATE----- ------BEGIN CERTIFICATE----- -MIIECDCCAvCgAwIBAgICGAcwDQYJKoZIhvcNAQELBQAwgY8xCzAJBgNVBAYTAlVT -MRAwDgYDVQQHDAdTZWF0dGxlMRMwEQYDVQQIDApXYXNoaW5ndG9uMSIwIAYDVQQK -DBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJbmMuMRMwEQYDVQQLDApBbWF6b24gUkRT -MSAwHgYDVQQDDBdBbWF6b24gUkRTIFJvb3QgMjAxOSBDQTAeFw0xOTA5MTIxODE5 -NDRaFw0yNDA4MjIxNzA4NTBaMIGVMQswCQYDVQQGEwJVUzETMBEGA1UECAwKV2Fz -aGluZ3RvbjEQMA4GA1UEBwwHU2VhdHRsZTEiMCAGA1UECgwZQW1hem9uIFdlYiBT -ZXJ2aWNlcywgSW5jLjETMBEGA1UECwwKQW1hem9uIFJEUzEmMCQGA1UEAwwdQW1h -em9uIFJEUyBldS1ub3J0aC0xIDIwMTkgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IB -DwAwggEKAoIBAQCiIYnhe4UNBbdBb/nQxl5giM0XoVHWNrYV5nB0YukA98+TPn9v -Aoj1RGYmtryjhrf01Kuv8SWO+Eom95L3zquoTFcE2gmxCfk7bp6qJJ3eHOJB+QUO -XsNRh76fwDzEF1yTeZWH49oeL2xO13EAx4PbZuZpZBttBM5zAxgZkqu4uWQczFEs -JXfla7z2fvWmGcTagX10O5C18XaFroV0ubvSyIi75ue9ykg/nlFAeB7O0Wxae88e -uhiBEFAuLYdqWnsg3459NfV8Yi1GnaitTym6VI3tHKIFiUvkSiy0DAlAGV2iiyJE -q+DsVEO4/hSINJEtII4TMtysOsYPpINqeEzRAgMBAAGjZjBkMA4GA1UdDwEB/wQE -AwIBBjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdDgQWBBRR0UpnbQyjnHChgmOc -hnlc0PogzTAfBgNVHSMEGDAWgBRzX2DYvMsDmPQrFzQuNlqmYP+8HzANBgkqhkiG -9w0BAQsFAAOCAQEAKJD4xVzSf4zSGTBJrmamo86jl1NHQxXUApAZuBZEc8tqC6TI -T5CeoSr9CMuVC8grYyBjXblC4OsM5NMvmsrXl/u5C9dEwtBFjo8mm53rOOIm1fxl -I1oYB/9mtO9ANWjkykuLzWeBlqDT/i7ckaKwalhLODsRDO73vRhYNjsIUGloNsKe -pxw3dzHwAZx4upSdEVG4RGCZ1D0LJ4Gw40OfD69hfkDfRVVxKGrbEzqxXRvovmDc -tKLdYZO/6REoca36v4BlgIs1CbUXJGLSXUwtg7YXGLSVBJ/U0+22iGJmBSNcoyUN -cjPFD9JQEhDDIYYKSGzIYpvslvGc4T5ISXFiuQ== ------END CERTIFICATE----- ------BEGIN CERTIFICATE----- -MIIEBzCCAu+gAwIBAgICZIEwDQYJKoZIhvcNAQELBQAwgY8xCzAJBgNVBAYTAlVT -MRAwDgYDVQQHDAdTZWF0dGxlMRMwEQYDVQQIDApXYXNoaW5ndG9uMSIwIAYDVQQK -DBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJbmMuMRMwEQYDVQQLDApBbWF6b24gUkRT -MSAwHgYDVQQDDBdBbWF6b24gUkRTIFJvb3QgMjAxOSBDQTAeFw0xOTA5MTIyMTMy -MzJaFw0yNDA4MjIxNzA4NTBaMIGUMQswCQYDVQQGEwJVUzETMBEGA1UECAwKV2Fz -aGluZ3RvbjEQMA4GA1UEBwwHU2VhdHRsZTEiMCAGA1UECgwZQW1hem9uIFdlYiBT -ZXJ2aWNlcywgSW5jLjETMBEGA1UECwwKQW1hem9uIFJEUzElMCMGA1UEAwwcQW1h -em9uIFJEUyBldS13ZXN0LTIgMjAxOSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEP -ADCCAQoCggEBALGiwqjiF7xIjT0Sx7zB3764K2T2a1DHnAxEOr+/EIftWKxWzT3u -PFwS2eEZcnKqSdRQ+vRzonLBeNLO4z8aLjQnNbkizZMBuXGm4BqRm1Kgq3nlLDQn -7YqdijOq54SpShvR/8zsO4sgMDMmHIYAJJOJqBdaus2smRt0NobIKc0liy7759KB -6kmQ47Gg+kfIwxrQA5zlvPLeQImxSoPi9LdbRoKvu7Iot7SOa+jGhVBh3VdqndJX -7tm/saj4NE375csmMETFLAOXjat7zViMRwVorX4V6AzEg1vkzxXpA9N7qywWIT5Y -fYaq5M8i6vvLg0CzrH9fHORtnkdjdu1y+0MCAwEAAaNmMGQwDgYDVR0PAQH/BAQD -AgEGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYDVR0OBBYEFFOhOx1yt3Z7mvGB9jBv -2ymdZwiOMB8GA1UdIwQYMBaAFHNfYNi8ywOY9CsXNC42WqZg/7wfMA0GCSqGSIb3 -DQEBCwUAA4IBAQBehqY36UGDvPVU9+vtaYGr38dBbp+LzkjZzHwKT1XJSSUc2wqM -hnCIQKilonrTIvP1vmkQi8qHPvDRtBZKqvz/AErW/ZwQdZzqYNFd+BmOXaeZWV0Q -oHtDzXmcwtP8aUQpxN0e1xkWb1E80qoy+0uuRqb/50b/R4Q5qqSfJhkn6z8nwB10 -7RjLtJPrK8igxdpr3tGUzfAOyiPrIDncY7UJaL84GFp7WWAkH0WG3H8Y8DRcRXOU -mqDxDLUP3rNuow3jnGxiUY+gGX5OqaZg4f4P6QzOSmeQYs6nLpH0PiN00+oS1BbD -bpWdZEttILPI+vAYkU4QuBKKDjJL6HbSd+cn ------END CERTIFICATE----- ------BEGIN CERTIFICATE----- -MIIECDCCAvCgAwIBAgIDAIVCMA0GCSqGSIb3DQEBCwUAMIGPMQswCQYDVQQGEwJV -UzEQMA4GA1UEBwwHU2VhdHRsZTETMBEGA1UECAwKV2FzaGluZ3RvbjEiMCAGA1UE -CgwZQW1hem9uIFdlYiBTZXJ2aWNlcywgSW5jLjETMBEGA1UECwwKQW1hem9uIFJE -UzEgMB4GA1UEAwwXQW1hem9uIFJEUyBSb290IDIwMTkgQ0EwHhcNMTkwOTEzMTcw -NjQxWhcNMjQwODIyMTcwODUwWjCBlDELMAkGA1UEBhMCVVMxEzARBgNVBAgMCldh -c2hpbmd0b24xEDAOBgNVBAcMB1NlYXR0bGUxIjAgBgNVBAoMGUFtYXpvbiBXZWIg -U2VydmljZXMsIEluYy4xEzARBgNVBAsMCkFtYXpvbiBSRFMxJTAjBgNVBAMMHEFt -YXpvbiBSRFMgdXMtZWFzdC0yIDIwMTkgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IB -DwAwggEKAoIBAQDE+T2xYjUbxOp+pv+gRA3FO24+1zCWgXTDF1DHrh1lsPg5k7ht -2KPYzNc+Vg4E+jgPiW0BQnA6jStX5EqVh8BU60zELlxMNvpg4KumniMCZ3krtMUC -au1NF9rM7HBh+O+DYMBLK5eSIVt6lZosOb7bCi3V6wMLA8YqWSWqabkxwN4w0vXI -8lu5uXXFRemHnlNf+yA/4YtN4uaAyd0ami9+klwdkZfkrDOaiy59haOeBGL8EB/c -dbJJlguHH5CpCscs3RKtOOjEonXnKXldxarFdkMzi+aIIjQ8GyUOSAXHtQHb3gZ4 -nS6Ey0CMlwkB8vUObZU9fnjKJcL5QCQqOfwvAgMBAAGjZjBkMA4GA1UdDwEB/wQE -AwIBBjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdDgQWBBQUPuRHohPxx4VjykmH -6usGrLL1ETAfBgNVHSMEGDAWgBRzX2DYvMsDmPQrFzQuNlqmYP+8HzANBgkqhkiG -9w0BAQsFAAOCAQEAUdR9Vb3y33Yj6X6KGtuthZ08SwjImVQPtknzpajNE5jOJAh8 -quvQnU9nlnMO85fVDU1Dz3lLHGJ/YG1pt1Cqq2QQ200JcWCvBRgdvH6MjHoDQpqZ -HvQ3vLgOGqCLNQKFuet9BdpsHzsctKvCVaeBqbGpeCtt3Hh/26tgx0rorPLw90A2 -V8QSkZJjlcKkLa58N5CMM8Xz8KLWg3MZeT4DmlUXVCukqK2RGuP2L+aME8dOxqNv -OnOz1zrL5mR2iJoDpk8+VE/eBDmJX40IJk6jBjWoxAO/RXq+vBozuF5YHN1ujE92 -tO8HItgTp37XT8bJBAiAnt5mxw+NLSqtxk2QdQ== ------END CERTIFICATE----- ------BEGIN CERTIFICATE----- -MIIEDDCCAvSgAwIBAgICY4kwDQYJKoZIhvcNAQELBQAwgY8xCzAJBgNVBAYTAlVT -MRAwDgYDVQQHDAdTZWF0dGxlMRMwEQYDVQQIDApXYXNoaW5ndG9uMSIwIAYDVQQK -DBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJbmMuMRMwEQYDVQQLDApBbWF6b24gUkRT -MSAwHgYDVQQDDBdBbWF6b24gUkRTIFJvb3QgMjAxOSBDQTAeFw0xOTA5MTMyMDEx -NDJaFw0yNDA4MjIxNzA4NTBaMIGZMQswCQYDVQQGEwJVUzETMBEGA1UECAwKV2Fz -aGluZ3RvbjEQMA4GA1UEBwwHU2VhdHRsZTEiMCAGA1UECgwZQW1hem9uIFdlYiBT -ZXJ2aWNlcywgSW5jLjETMBEGA1UECwwKQW1hem9uIFJEUzEqMCgGA1UEAwwhQW1h -em9uIFJEUyBhcC1zb3V0aGVhc3QtMSAyMDE5IENBMIIBIjANBgkqhkiG9w0BAQEF -AAOCAQ8AMIIBCgKCAQEAr5u9OuLL/OF/fBNUX2kINJLzFl4DnmrhnLuSeSnBPgbb -qddjf5EFFJBfv7IYiIWEFPDbDG5hoBwgMup5bZDbas+ZTJTotnnxVJTQ6wlhTmns -eHECcg2pqGIKGrxZfbQhlj08/4nNAPvyYCTS0bEcmQ1emuDPyvJBYDDLDU6AbCB5 -6Z7YKFQPTiCBblvvNzchjLWF9IpkqiTsPHiEt21sAdABxj9ityStV3ja/W9BfgxH -wzABSTAQT6FbDwmQMo7dcFOPRX+hewQSic2Rn1XYjmNYzgEHisdUsH7eeXREAcTw -61TRvaLH8AiOWBnTEJXPAe6wYfrcSd1pD0MXpoB62wIDAQABo2YwZDAOBgNVHQ8B -Af8EBAMCAQYwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQUytwMiomQOgX5 -Ichd+2lDWRUhkikwHwYDVR0jBBgwFoAUc19g2LzLA5j0Kxc0LjZapmD/vB8wDQYJ -KoZIhvcNAQELBQADggEBACf6lRDpfCD7BFRqiWM45hqIzffIaysmVfr+Jr+fBTjP -uYe/ba1omSrNGG23bOcT9LJ8hkQJ9d+FxUwYyICQNWOy6ejicm4z0C3VhphbTPqj -yjpt9nG56IAcV8BcRJh4o/2IfLNzC/dVuYJV8wj7XzwlvjysenwdrJCoLadkTr1h -eIdG6Le07sB9IxrGJL9e04afk37h7c8ESGSE4E+oS4JQEi3ATq8ne1B9DQ9SasXi -IRmhNAaISDzOPdyLXi9N9V9Lwe/DHcja7hgLGYx3UqfjhLhOKwp8HtoZORixAmOI -HfILgNmwyugAbuZoCazSKKBhQ0wgO0WZ66ZKTMG8Oho= ------END CERTIFICATE----- ------BEGIN CERTIFICATE----- -MIIEBzCCAu+gAwIBAgICUYkwDQYJKoZIhvcNAQELBQAwgY8xCzAJBgNVBAYTAlVT -MRAwDgYDVQQHDAdTZWF0dGxlMRMwEQYDVQQIDApXYXNoaW5ndG9uMSIwIAYDVQQK -DBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJbmMuMRMwEQYDVQQLDApBbWF6b24gUkRT -MSAwHgYDVQQDDBdBbWF6b24gUkRTIFJvb3QgMjAxOSBDQTAeFw0xOTA5MTYxODIx -MTVaFw0yNDA4MjIxNzA4NTBaMIGUMQswCQYDVQQGEwJVUzETMBEGA1UECAwKV2Fz -aGluZ3RvbjEQMA4GA1UEBwwHU2VhdHRsZTEiMCAGA1UECgwZQW1hem9uIFdlYiBT -ZXJ2aWNlcywgSW5jLjETMBEGA1UECwwKQW1hem9uIFJEUzElMCMGA1UEAwwcQW1h -em9uIFJEUyB1cy13ZXN0LTIgMjAxOSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEP -ADCCAQoCggEBANCEZBZyu6yJQFZBJmSUZfSZd3Ui2gitczMKC4FLr0QzkbxY+cLa -uVONIOrPt4Rwi+3h/UdnUg917xao3S53XDf1TDMFEYp4U8EFPXqCn/GXBIWlU86P -PvBN+gzw3nS+aco7WXb+woTouvFVkk8FGU7J532llW8o/9ydQyDIMtdIkKTuMfho -OiNHSaNc+QXQ32TgvM9A/6q7ksUoNXGCP8hDOkSZ/YOLiI5TcdLh/aWj00ziL5bj -pvytiMZkilnc9dLY9QhRNr0vGqL0xjmWdoEXz9/OwjmCihHqJq+20MJPsvFm7D6a -2NKybR9U+ddrjb8/iyLOjURUZnj5O+2+OPcCAwEAAaNmMGQwDgYDVR0PAQH/BAQD -AgEGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYDVR0OBBYEFEBxMBdv81xuzqcK5TVu -pHj+Aor8MB8GA1UdIwQYMBaAFHNfYNi8ywOY9CsXNC42WqZg/7wfMA0GCSqGSIb3 -DQEBCwUAA4IBAQBZkfiVqGoJjBI37aTlLOSjLcjI75L5wBrwO39q+B4cwcmpj58P -3sivv+jhYfAGEbQnGRzjuFoyPzWnZ1DesRExX+wrmHsLLQbF2kVjLZhEJMHF9eB7 -GZlTPdTzHErcnuXkwA/OqyXMpj9aghcQFuhCNguEfnROY9sAoK2PTfnTz9NJHL+Q -UpDLEJEUfc0GZMVWYhahc0x38ZnSY2SKacIPECQrTI0KpqZv/P+ijCEcMD9xmYEb -jL4en+XKS1uJpw5fIU5Sj0MxhdGstH6S84iAE5J3GM3XHklGSFwwqPYvuTXvANH6 -uboynxRgSae59jIlAK6Jrr6GWMwQRbgcaAlW ------END CERTIFICATE----- ------BEGIN CERTIFICATE----- -MIIEDDCCAvSgAwIBAgICEkYwDQYJKoZIhvcNAQELBQAwgY8xCzAJBgNVBAYTAlVT -MRAwDgYDVQQHDAdTZWF0dGxlMRMwEQYDVQQIDApXYXNoaW5ndG9uMSIwIAYDVQQK -DBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJbmMuMRMwEQYDVQQLDApBbWF6b24gUkRT -MSAwHgYDVQQDDBdBbWF6b24gUkRTIFJvb3QgMjAxOSBDQTAeFw0xOTA5MTYxOTUz -NDdaFw0yNDA4MjIxNzA4NTBaMIGZMQswCQYDVQQGEwJVUzETMBEGA1UECAwKV2Fz -aGluZ3RvbjEQMA4GA1UEBwwHU2VhdHRsZTEiMCAGA1UECgwZQW1hem9uIFdlYiBT -ZXJ2aWNlcywgSW5jLjETMBEGA1UECwwKQW1hem9uIFJEUzEqMCgGA1UEAwwhQW1h -em9uIFJEUyBhcC1zb3V0aGVhc3QtMiAyMDE5IENBMIIBIjANBgkqhkiG9w0BAQEF -AAOCAQ8AMIIBCgKCAQEAufodI2Flker8q7PXZG0P0vmFSlhQDw907A6eJuF/WeMo -GHnll3b4S6nC3oRS3nGeRMHbyU2KKXDwXNb3Mheu+ox+n5eb/BJ17eoj9HbQR1cd -gEkIciiAltf8gpMMQH4anP7TD+HNFlZnP7ii3geEJB2GGXSxgSWvUzH4etL67Zmn -TpGDWQMB0T8lK2ziLCMF4XAC/8xDELN/buHCNuhDpxpPebhct0T+f6Arzsiswt2j -7OeNeLLZwIZvVwAKF7zUFjC6m7/VmTQC8nidVY559D6l0UhhU0Co/txgq3HVsMOH -PbxmQUwJEKAzQXoIi+4uZzHFZrvov/nDTNJUhC6DqwIDAQABo2YwZDAOBgNVHQ8B -Af8EBAMCAQYwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQUwaZpaCme+EiV -M5gcjeHZSTgOn4owHwYDVR0jBBgwFoAUc19g2LzLA5j0Kxc0LjZapmD/vB8wDQYJ -KoZIhvcNAQELBQADggEBAAR6a2meCZuXO2TF9bGqKGtZmaah4pH2ETcEVUjkvXVz -sl+ZKbYjrun+VkcMGGKLUjS812e7eDF726ptoku9/PZZIxlJB0isC/0OyixI8N4M -NsEyvp52XN9QundTjkl362bomPnHAApeU0mRbMDRR2JdT70u6yAzGLGsUwMkoNnw -1VR4XKhXHYGWo7KMvFrZ1KcjWhubxLHxZWXRulPVtGmyWg/MvE6KF+2XMLhojhUL -+9jB3Fpn53s6KMx5tVq1x8PukHmowcZuAF8k+W4gk8Y68wIwynrdZrKRyRv6CVtR -FZ8DeJgoNZT3y/GT254VqMxxfuy2Ccb/RInd16tEvVk= ------END CERTIFICATE----- ------BEGIN CERTIFICATE----- -MIIEDDCCAvSgAwIBAgICOYIwDQYJKoZIhvcNAQELBQAwgY8xCzAJBgNVBAYTAlVT -MRAwDgYDVQQHDAdTZWF0dGxlMRMwEQYDVQQIDApXYXNoaW5ndG9uMSIwIAYDVQQK -DBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJbmMuMRMwEQYDVQQLDApBbWF6b24gUkRT -MSAwHgYDVQQDDBdBbWF6b24gUkRTIFJvb3QgMjAxOSBDQTAeFw0xOTA5MTcyMDA1 -MjlaFw0yNDA4MjIxNzA4NTBaMIGZMQswCQYDVQQGEwJVUzETMBEGA1UECAwKV2Fz -aGluZ3RvbjEQMA4GA1UEBwwHU2VhdHRsZTEiMCAGA1UECgwZQW1hem9uIFdlYiBT -ZXJ2aWNlcywgSW5jLjETMBEGA1UECwwKQW1hem9uIFJEUzEqMCgGA1UEAwwhQW1h -em9uIFJEUyBhcC1ub3J0aGVhc3QtMyAyMDE5IENBMIIBIjANBgkqhkiG9w0BAQEF -AAOCAQ8AMIIBCgKCAQEA4dMak8W+XW8y/2F6nRiytFiA4XLwePadqWebGtlIgyCS -kbug8Jv5w7nlMkuxOxoUeD4WhI6A9EkAn3r0REM/2f0aYnd2KPxeqS2MrtdxxHw1 -xoOxk2x0piNSlOz6yog1idsKR5Wurf94fvM9FdTrMYPPrDabbGqiBMsZZmoHLvA3 -Z+57HEV2tU0Ei3vWeGIqnNjIekS+E06KhASxrkNU5vi611UsnYZlSi0VtJsH4UGV -LhnHl53aZL0YFO5mn/fzuNG/51qgk/6EFMMhaWInXX49Dia9FnnuWXwVwi6uX1Wn -7kjoHi5VtmC8ZlGEHroxX2DxEr6bhJTEpcLMnoQMqwIDAQABo2YwZDAOBgNVHQ8B -Af8EBAMCAQYwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQUsUI5Cb3SWB8+ -gv1YLN/ABPMdxSAwHwYDVR0jBBgwFoAUc19g2LzLA5j0Kxc0LjZapmD/vB8wDQYJ -KoZIhvcNAQELBQADggEBAJAF3E9PM1uzVL8YNdzb6fwJrxxqI2shvaMVmC1mXS+w -G0zh4v2hBZOf91l1EO0rwFD7+fxoI6hzQfMxIczh875T6vUXePKVOCOKI5wCrDad -zQbVqbFbdhsBjF4aUilOdtw2qjjs9JwPuB0VXN4/jY7m21oKEOcnpe36+7OiSPjN -xngYewCXKrSRqoj3mw+0w/+exYj3Wsush7uFssX18av78G+ehKPIVDXptOCP/N7W -8iKVNeQ2QGTnu2fzWsGUSvMGyM7yqT+h1ILaT//yQS8er511aHMLc142bD4D9VSy -DgactwPDTShK/PXqhvNey9v/sKXm4XatZvwcc8KYlW4= ------END CERTIFICATE----- ------BEGIN CERTIFICATE----- -MIIEDDCCAvSgAwIBAgICcEUwDQYJKoZIhvcNAQELBQAwgY8xCzAJBgNVBAYTAlVT -MRAwDgYDVQQHDAdTZWF0dGxlMRMwEQYDVQQIDApXYXNoaW5ndG9uMSIwIAYDVQQK -DBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJbmMuMRMwEQYDVQQLDApBbWF6b24gUkRT -MSAwHgYDVQQDDBdBbWF6b24gUkRTIFJvb3QgMjAxOSBDQTAeFw0xOTA5MTgxNjU2 -MjBaFw0yNDA4MjIxNzA4NTBaMIGZMQswCQYDVQQGEwJVUzETMBEGA1UECAwKV2Fz -aGluZ3RvbjEQMA4GA1UEBwwHU2VhdHRsZTEiMCAGA1UECgwZQW1hem9uIFdlYiBT -ZXJ2aWNlcywgSW5jLjETMBEGA1UECwwKQW1hem9uIFJEUzEqMCgGA1UEAwwhQW1h -em9uIFJEUyBhcC1ub3J0aGVhc3QtMSAyMDE5IENBMIIBIjANBgkqhkiG9w0BAQEF -AAOCAQ8AMIIBCgKCAQEAndtkldmHtk4TVQAyqhAvtEHSMb6pLhyKrIFved1WO3S7 -+I+bWwv9b2W/ljJxLq9kdT43bhvzonNtI4a1LAohS6bqyirmk8sFfsWT3akb+4Sx -1sjc8Ovc9eqIWJCrUiSvv7+cS7ZTA9AgM1PxvHcsqrcUXiK3Jd/Dax9jdZE1e15s -BEhb2OEPE+tClFZ+soj8h8Pl2Clo5OAppEzYI4LmFKtp1X/BOf62k4jviXuCSst3 -UnRJzE/CXtjmN6oZySVWSe0rQYuyqRl6//9nK40cfGKyxVnimB8XrrcxUN743Vud -QQVU0Esm8OVTX013mXWQXJHP2c0aKkog8LOga0vobQIDAQABo2YwZDAOBgNVHQ8B -Af8EBAMCAQYwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQULmoOS1mFSjj+ -snUPx4DgS3SkLFYwHwYDVR0jBBgwFoAUc19g2LzLA5j0Kxc0LjZapmD/vB8wDQYJ -KoZIhvcNAQELBQADggEBAAkVL2P1M2/G9GM3DANVAqYOwmX0Xk58YBHQu6iiQg4j -b4Ky/qsZIsgT7YBsZA4AOcPKQFgGTWhe9pvhmXqoN3RYltN8Vn7TbUm/ZVDoMsrM -gwv0+TKxW1/u7s8cXYfHPiTzVSJuOogHx99kBW6b2f99GbP7O1Sv3sLq4j6lVvBX -Fiacf5LAWC925nvlTzLlBgIc3O9xDtFeAGtZcEtxZJ4fnGXiqEnN4539+nqzIyYq -nvlgCzyvcfRAxwltrJHuuRu6Maw5AGcd2Y0saMhqOVq9KYKFKuD/927BTrbd2JVf -2sGWyuPZPCk3gq+5pCjbD0c6DkhcMGI6WwxvM5V/zSM= ------END CERTIFICATE----- ------BEGIN CERTIFICATE----- -MIIEBzCCAu+gAwIBAgICJDQwDQYJKoZIhvcNAQELBQAwgY8xCzAJBgNVBAYTAlVT -MRAwDgYDVQQHDAdTZWF0dGxlMRMwEQYDVQQIDApXYXNoaW5ndG9uMSIwIAYDVQQK -DBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJbmMuMRMwEQYDVQQLDApBbWF6b24gUkRT -MSAwHgYDVQQDDBdBbWF6b24gUkRTIFJvb3QgMjAxOSBDQTAeFw0xOTA5MTgxNzAz -MTVaFw0yNDA4MjIxNzA4NTBaMIGUMQswCQYDVQQGEwJVUzETMBEGA1UECAwKV2Fz -aGluZ3RvbjEQMA4GA1UEBwwHU2VhdHRsZTEiMCAGA1UECgwZQW1hem9uIFdlYiBT -ZXJ2aWNlcywgSW5jLjETMBEGA1UECwwKQW1hem9uIFJEUzElMCMGA1UEAwwcQW1h -em9uIFJEUyBldS13ZXN0LTMgMjAxOSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEP -ADCCAQoCggEBAL9bL7KE0n02DLVtlZ2PL+g/BuHpMYFq2JnE2RgompGurDIZdjmh -1pxfL3nT+QIVMubuAOy8InRfkRxfpxyjKYdfLJTPJG+jDVL+wDcPpACFVqoV7Prg -pVYEV0lc5aoYw4bSeYFhdzgim6F8iyjoPnObjll9mo4XsHzSoqJLCd0QC+VG9Fw2 -q+GDRZrLRmVM2oNGDRbGpGIFg77aRxRapFZa8SnUgs2AqzuzKiprVH5i0S0M6dWr -i+kk5epmTtkiDHceX+dP/0R1NcnkCPoQ9TglyXyPdUdTPPRfKCq12dftqll+u4mV -ARdN6WFjovxax8EAP2OAUTi1afY+1JFMj+sCAwEAAaNmMGQwDgYDVR0PAQH/BAQD -AgEGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYDVR0OBBYEFLfhrbrO5exkCVgxW0x3 -Y2mAi8lNMB8GA1UdIwQYMBaAFHNfYNi8ywOY9CsXNC42WqZg/7wfMA0GCSqGSIb3 -DQEBCwUAA4IBAQAigQ5VBNGyw+OZFXwxeJEAUYaXVoP/qrhTOJ6mCE2DXUVEoJeV -SxScy/TlFA9tJXqmit8JH8VQ/xDL4ubBfeMFAIAo4WzNWDVoeVMqphVEcDWBHsI1 -AETWzfsapRS9yQekOMmxg63d/nV8xewIl8aNVTHdHYXMqhhik47VrmaVEok1UQb3 -O971RadLXIEbVd9tjY5bMEHm89JsZDnDEw1hQXBb67Elu64OOxoKaHBgUH8AZn/2 -zFsL1ynNUjOhCSAA15pgd1vjwc0YsBbAEBPcHBWYBEyME6NLNarjOzBl4FMtATSF -wWCKRGkvqN8oxYhwR2jf2rR5Mu4DWkK5Q8Ep ------END CERTIFICATE----- ------BEGIN CERTIFICATE----- -MIIEBzCCAu+gAwIBAgICJVUwDQYJKoZIhvcNAQELBQAwgY8xCzAJBgNVBAYTAlVT -MRAwDgYDVQQHDAdTZWF0dGxlMRMwEQYDVQQIDApXYXNoaW5ndG9uMSIwIAYDVQQK -DBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJbmMuMRMwEQYDVQQLDApBbWF6b24gUkRT -MSAwHgYDVQQDDBdBbWF6b24gUkRTIFJvb3QgMjAxOSBDQTAeFw0xOTA5MTkxODE2 -NTNaFw0yNDA4MjIxNzA4NTBaMIGUMQswCQYDVQQGEwJVUzETMBEGA1UECAwKV2Fz -aGluZ3RvbjEQMA4GA1UEBwwHU2VhdHRsZTEiMCAGA1UECgwZQW1hem9uIFdlYiBT -ZXJ2aWNlcywgSW5jLjETMBEGA1UECwwKQW1hem9uIFJEUzElMCMGA1UEAwwcQW1h -em9uIFJEUyB1cy1lYXN0LTEgMjAxOSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEP -ADCCAQoCggEBAM3i/k2u6cqbMdcISGRvh+m+L0yaSIoOXjtpNEoIftAipTUYoMhL -InXGlQBVA4shkekxp1N7HXe1Y/iMaPEyb3n+16pf3vdjKl7kaSkIhjdUz3oVUEYt -i8Z/XeJJ9H2aEGuiZh3kHixQcZczn8cg3dA9aeeyLSEnTkl/npzLf//669Ammyhs -XcAo58yvT0D4E0D/EEHf2N7HRX7j/TlyWvw/39SW0usiCrHPKDLxByLojxLdHzso -QIp/S04m+eWn6rmD+uUiRteN1hI5ncQiA3wo4G37mHnUEKo6TtTUh+sd/ku6a8HK -glMBcgqudDI90s1OpuIAWmuWpY//8xEG2YECAwEAAaNmMGQwDgYDVR0PAQH/BAQD -AgEGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYDVR0OBBYEFPqhoWZcrVY9mU7tuemR -RBnQIj1jMB8GA1UdIwQYMBaAFHNfYNi8ywOY9CsXNC42WqZg/7wfMA0GCSqGSIb3 -DQEBCwUAA4IBAQB6zOLZ+YINEs72heHIWlPZ8c6WY8MDU+Be5w1M+BK2kpcVhCUK -PJO4nMXpgamEX8DIiaO7emsunwJzMSvavSPRnxXXTKIc0i/g1EbiDjnYX9d85DkC -E1LaAUCmCZBVi9fIe0H2r9whIh4uLWZA41oMnJx/MOmo3XyMfQoWcqaSFlMqfZM4 -0rNoB/tdHLNuV4eIdaw2mlHxdWDtF4oH+HFm+2cVBUVC1jXKrFv/euRVtsTT+A6i -h2XBHKxQ1Y4HgAn0jACP2QSPEmuoQEIa57bEKEcZsBR8SDY6ZdTd2HLRIApcCOSF -MRM8CKLeF658I0XgF8D5EsYoKPsA+74Z+jDH ------END CERTIFICATE----- ------BEGIN CERTIFICATE----- -MIIEEjCCAvqgAwIBAgIJAM2ZN/+nPi27MA0GCSqGSIb3DQEBCwUAMIGVMQswCQYD -VQQGEwJVUzEQMA4GA1UEBwwHU2VhdHRsZTETMBEGA1UECAwKV2FzaGluZ3RvbjEi -MCAGA1UECgwZQW1hem9uIFdlYiBTZXJ2aWNlcywgSW5jLjETMBEGA1UECwwKQW1h -em9uIFJEUzEmMCQGA1UEAwwdQW1hem9uIFJEUyBhZi1zb3V0aC0xIFJvb3QgQ0Ew -HhcNMTkxMDI4MTgwNTU4WhcNMjQxMDI2MTgwNTU4WjCBlTELMAkGA1UEBhMCVVMx -EDAOBgNVBAcMB1NlYXR0bGUxEzARBgNVBAgMCldhc2hpbmd0b24xIjAgBgNVBAoM -GUFtYXpvbiBXZWIgU2VydmljZXMsIEluYy4xEzARBgNVBAsMCkFtYXpvbiBSRFMx -JjAkBgNVBAMMHUFtYXpvbiBSRFMgYWYtc291dGgtMSBSb290IENBMIIBIjANBgkq -hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwR2351uPMZaJk2gMGT+1sk8HE9MQh2rc -/sCnbxGn2p1c7Oi9aBbd/GiFijeJb2BXvHU+TOq3d3Jjqepq8tapXVt4ojbTJNyC -J5E7r7KjTktKdLxtBE1MK25aY+IRJjtdU6vG3KiPKUT1naO3xs3yt0F76WVuFivd -9OHv2a+KHvPkRUWIxpmAHuMY9SIIMmEZtVE7YZGx5ah0iO4JzItHcbVR0y0PBH55 -arpFBddpIVHCacp1FUPxSEWkOpI7q0AaU4xfX0fe1BV5HZYRKpBOIp1TtZWvJD+X -jGUtL1BEsT5vN5g9MkqdtYrC+3SNpAk4VtpvJrdjraI/hhvfeXNnAwIDAQABo2Mw -YTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUEEi/ -WWMcBJsoGXg+EZwkQ0MscZQwHwYDVR0jBBgwFoAUEEi/WWMcBJsoGXg+EZwkQ0Ms -cZQwDQYJKoZIhvcNAQELBQADggEBAGDZ5js5Pc/gC58LJrwMPXFhJDBS8QuDm23C -FFUdlqucskwOS3907ErK1ZkmVJCIqFLArHqskFXMAkRZ2PNR7RjWLqBs+0znG5yH -hRKb4DXzhUFQ18UBRcvT6V6zN97HTRsEEaNhM/7k8YLe7P8vfNZ28VIoJIGGgv9D -wQBBvkxQ71oOmAG0AwaGD0ORGUfbYry9Dz4a4IcUsZyRWRMADixgrFv6VuETp26s -/+z+iqNaGWlELBKh3iQCT6Y/1UnkPLO42bxrCSyOvshdkYN58Q2gMTE1SVTqyo8G -Lw8lLAz9bnvUSgHzB3jRrSx6ggF/WRMRYlR++y6LXP4SAsSAaC0= ------END CERTIFICATE----- ------BEGIN CERTIFICATE----- -MIIECTCCAvGgAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwgZUxCzAJBgNVBAYTAlVT -MRAwDgYDVQQHDAdTZWF0dGxlMRMwEQYDVQQIDApXYXNoaW5ndG9uMSIwIAYDVQQK -DBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJbmMuMRMwEQYDVQQLDApBbWF6b24gUkRT -MSYwJAYDVQQDDB1BbWF6b24gUkRTIGFmLXNvdXRoLTEgUm9vdCBDQTAeFw0xOTEw -MjgxODA2NTNaFw0yNDEwMjgxODA2NTNaMIGQMQswCQYDVQQGEwJVUzETMBEGA1UE -CAwKV2FzaGluZ3RvbjEQMA4GA1UEBwwHU2VhdHRsZTEiMCAGA1UECgwZQW1hem9u -IFdlYiBTZXJ2aWNlcywgSW5jLjETMBEGA1UECwwKQW1hem9uIFJEUzEhMB8GA1UE -AwwYQW1hem9uIFJEUyBhZi1zb3V0aC0xIENBMIIBIjANBgkqhkiG9w0BAQEFAAOC -AQ8AMIIBCgKCAQEAvtV1OqmFa8zCVQSKOvPUJERLVFtd4rZmDpImc5rIoeBk7w/P -9lcKUJjO8R/w1a2lJXx3oQ81tiY0Piw6TpT62YWVRMWrOw8+Vxq1dNaDSFp9I8d0 -UHillSSbOk6FOrPDp+R6AwbGFqUDebbN5LFFoDKbhNmH1BVS0a6YNKpGigLRqhka -cClPslWtPqtjbaP3Jbxl26zWzLo7OtZl98dR225pq8aApNBwmtgA7Gh60HK/cX0t -32W94n8D+GKSg6R4MKredVFqRTi9hCCNUu0sxYPoELuM+mHiqB5NPjtm92EzCWs+ -+vgWhMc6GxG+82QSWx1Vj8sgLqtE/vLrWddf5QIDAQABo2YwZDAOBgNVHQ8BAf8E -BAMCAQYwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQUuLB4gYVJrSKJj/Gz -pqc6yeA+RcAwHwYDVR0jBBgwFoAUEEi/WWMcBJsoGXg+EZwkQ0MscZQwDQYJKoZI -hvcNAQELBQADggEBABauYOZxUhe9/RhzGJ8MsWCz8eKcyDVd4FCnY6Qh+9wcmYNT -LtnD88LACtJKb/b81qYzcB0Em6+zVJ3Z9jznfr6buItE6es9wAoja22Xgv44BTHL -rimbgMwpTt3uEMXDffaS0Ww6YWb3pSE0XYI2ISMWz+xRERRf+QqktSaL39zuiaW5 -tfZMre+YhohRa/F0ZQl3RCd6yFcLx4UoSPqQsUl97WhYzwAxZZfwvLJXOc4ATt3u -VlCUylNDkaZztDJc/yN5XQoK9W5nOt2cLu513MGYKbuarQr8f+gYU8S+qOyuSRSP -NRITzwCRVnsJE+2JmcRInn/NcanB7uOGqTvJ9+c= ------END CERTIFICATE----- ------BEGIN CERTIFICATE----- -MIIEEjCCAvqgAwIBAgIJAJYM4LxvTZA6MA0GCSqGSIb3DQEBCwUAMIGVMQswCQYD -VQQGEwJVUzEQMA4GA1UEBwwHU2VhdHRsZTETMBEGA1UECAwKV2FzaGluZ3RvbjEi -MCAGA1UECgwZQW1hem9uIFdlYiBTZXJ2aWNlcywgSW5jLjETMBEGA1UECwwKQW1h -em9uIFJEUzEmMCQGA1UEAwwdQW1hem9uIFJEUyBldS1zb3V0aC0xIFJvb3QgQ0Ew -HhcNMTkxMDMwMjAyMDM2WhcNMjQxMDI4MjAyMDM2WjCBlTELMAkGA1UEBhMCVVMx -EDAOBgNVBAcMB1NlYXR0bGUxEzARBgNVBAgMCldhc2hpbmd0b24xIjAgBgNVBAoM -GUFtYXpvbiBXZWIgU2VydmljZXMsIEluYy4xEzARBgNVBAsMCkFtYXpvbiBSRFMx -JjAkBgNVBAMMHUFtYXpvbiBSRFMgZXUtc291dGgtMSBSb290IENBMIIBIjANBgkq -hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqM921jXCXeqpRNCS9CBPOe5N7gMaEt+D -s5uR3riZbqzRlHGiF1jZihkXfHAIQewDwy+Yz+Oec1aEZCQMhUHxZJPusuX0cJfj -b+UluFqHIijL2TfXJ3D0PVLLoNTQJZ8+GAPECyojAaNuoHbdVqxhOcznMsXIXVFq -yVLKDGvyKkJjai/iSPDrQMXufg3kWt0ISjNLvsG5IFXgP4gttsM8i0yvRd4QcHoo -DjvH7V3cS+CQqW5SnDrGnHToB0RLskE1ET+oNOfeN9PWOxQprMOX/zmJhnJQlTqD -QP7jcf7SddxrKFjuziFiouskJJyNDsMjt1Lf60+oHZhed2ogTeifGwIDAQABo2Mw -YTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUFBAF -cgJe/BBuZiGeZ8STfpkgRYQwHwYDVR0jBBgwFoAUFBAFcgJe/BBuZiGeZ8STfpkg -RYQwDQYJKoZIhvcNAQELBQADggEBAKAYUtlvDuX2UpZW9i1QgsjFuy/ErbW0dLHU -e/IcFtju2z6RLZ+uF+5A8Kme7IKG1hgt8s+w9TRVQS/7ukQzoK3TaN6XKXRosjtc -o9Rm4gYWM8bmglzY1TPNaiI4HC7546hSwJhubjN0bXCuj/0sHD6w2DkiGuwKNAef -yTu5vZhPkeNyXLykxkzz7bNp2/PtMBnzIp+WpS7uUDmWyScGPohKMq5PqvL59z+L -ZI3CYeMZrJ5VpXUg3fNNIz/83N3G0sk7wr0ohs/kHTP7xPOYB0zD7Ku4HA0Q9Swf -WX0qr6UQgTPMjfYDLffI7aEId0gxKw1eGYc6Cq5JAZ3ipi/cBFc= ------END CERTIFICATE----- ------BEGIN CERTIFICATE----- -MIIECTCCAvGgAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwgZUxCzAJBgNVBAYTAlVT -MRAwDgYDVQQHDAdTZWF0dGxlMRMwEQYDVQQIDApXYXNoaW5ndG9uMSIwIAYDVQQK -DBlBbWF6b24gV2ViIFNlcnZpY2VzLCBJbmMuMRMwEQYDVQQLDApBbWF6b24gUkRT -MSYwJAYDVQQDDB1BbWF6b24gUkRTIGV1LXNvdXRoLTEgUm9vdCBDQTAeFw0xOTEw -MzAyMDIxMzBaFw0yNDEwMzAyMDIxMzBaMIGQMQswCQYDVQQGEwJVUzETMBEGA1UE -CAwKV2FzaGluZ3RvbjEQMA4GA1UEBwwHU2VhdHRsZTEiMCAGA1UECgwZQW1hem9u -IFdlYiBTZXJ2aWNlcywgSW5jLjETMBEGA1UECwwKQW1hem9uIFJEUzEhMB8GA1UE -AwwYQW1hem9uIFJEUyBldS1zb3V0aC0xIENBMIIBIjANBgkqhkiG9w0BAQEFAAOC -AQ8AMIIBCgKCAQEAtEyjYcajx6xImJn8Vz1zjdmL4ANPgQXwF7+tF7xccmNAZETb -bzb3I9i5fZlmrRaVznX+9biXVaGxYzIUIR3huQ3Q283KsDYnVuGa3mk690vhvJbB -QIPgKa5mVwJppnuJm78KqaSpi0vxyCPe3h8h6LLFawVyWrYNZ4okli1/U582eef8 -RzJp/Ear3KgHOLIiCdPDF0rjOdCG1MOlDLixVnPn9IYOciqO+VivXBg+jtfc5J+L -AaPm0/Yx4uELt1tkbWkm4BvTU/gBOODnYziITZM0l6Fgwvbwgq5duAtKW+h031lC -37rEvrclqcp4wrsUYcLAWX79ZyKIlRxcAdvEhQIDAQABo2YwZDAOBgNVHQ8BAf8E -BAMCAQYwEgYDVR0TAQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQU7zPyc0azQxnBCe7D -b9KAadH1QSEwHwYDVR0jBBgwFoAUFBAFcgJe/BBuZiGeZ8STfpkgRYQwDQYJKoZI -hvcNAQELBQADggEBAFGaNiYxg7yC/xauXPlaqLCtwbm2dKyK9nIFbF/7be8mk7Q3 -MOA0of1vGHPLVQLr6bJJpD9MAbUcm4cPAwWaxwcNpxOjYOFDaq10PCK4eRAxZWwF -NJRIRmGsl8NEsMNTMCy8X+Kyw5EzH4vWFl5Uf2bGKOeFg0zt43jWQVOX6C+aL3Cd -pRS5MhmYpxMG8irrNOxf4NVFE2zpJOCm3bn0STLhkDcV/ww4zMzObTJhiIb5wSWn -EXKKWhUXuRt7A2y1KJtXpTbSRHQxE++69Go1tWhXtRiULCJtf7wF2Ksm0RR/AdXT -1uR1vKyH5KBJPX3ppYkQDukoHTFR0CpB+G84NLo= ------END CERTIFICATE----- From ffec5346149613a14d61a9cf025d9e49d739c7ed Mon Sep 17 00:00:00 2001 From: Michael Ball Date: Tue, 15 Apr 2025 01:10:21 -0700 Subject: [PATCH 245/325] Specify more OSEM_DB vars in specs --- .github/workflows/spec.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/spec.yml b/.github/workflows/spec.yml index fc018f3b6..018741d86 100644 --- a/.github/workflows/spec.yml +++ b/.github/workflows/spec.yml @@ -28,6 +28,9 @@ jobs: name: spec env: OSEM_DB_HOST: localhost + OSEM_DB_PASSWORD: mysecretpassword + OSEM_DB_USERNAME: postgres + OSEM_DB_NAME: osem_test RAILS_ENV: test CCTR: ./cc-test-reporter CCTR_ID: ${{ secrets.CC_TEST_REPORTER_ID }} From 2cd60bad59e9973817a9033c53324793a7feeb52 Mon Sep 17 00:00:00 2001 From: Michael Ball Date: Tue, 15 Apr 2025 01:16:28 -0700 Subject: [PATCH 246/325] Reset database.yml file --- config/database.yml | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/config/database.yml b/config/database.yml index 709d883f4..c12abd29e 100644 --- a/config/database.yml +++ b/config/database.yml @@ -2,22 +2,19 @@ default: &default adapter: 'postgresql' encoding: 'unicode' host: <%= ENV.fetch('OSEM_DB_HOST', 'database') %> - port: <%= ENV.fetch('OSEM_DB_PORT', '5432') %> - username: <%= ENV.fetch('OSEM_DB_USER', ENV.fetch('USER', 'postgres')) %> + port: <%= ENV.fetch('OSEM_DB_PORT', '5432') %> + username: <%= ENV.fetch('OSEM_DB_USER', 'postgres') %> password: <%= ENV.fetch('OSEM_DB_PASSWORD', 'mysecretpassword') %> database: <%= ENV.fetch('OSEM_DB_NAME', 'postgres') %> - pool: 30 - timeout: 60000 + pool: 5 + timeout: 5000 development: <<: *default - host: localhost - # username: <%= ENV['OSEM_DB_USER'] || 'postgres' %> database: osem_development test: <<: *default - host: localhost database: osem_test production: From 34e4532a501064cd703f4c239fa78d0702f6e139 Mon Sep 17 00:00:00 2001 From: Michael Ball Date: Tue, 15 Apr 2025 01:37:23 -0700 Subject: [PATCH 247/325] tidy views to reduce warning --- app/views/admin/emails/index.html.haml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/views/admin/emails/index.html.haml b/app/views/admin/emails/index.html.haml index f60c4889f..a8988d359 100644 --- a/app/views/admin/emails/index.html.haml +++ b/app/views/admin/emails/index.html.haml @@ -33,7 +33,7 @@ 'data-body-input-id' => 'email_settings_registration_body', 'data-body-text' => "Dear {name},\n\nThank you for Registering for the conference {conference}.\nPlease complete your registration by filling out your travel information.\n\nIf you are unable to attend please unregister online:\n{registrationlink}\n\nFeel free to contact us with any questions or concerns.\nWe look forward to see you there.\n\nBest wishes\n\n{conference} Team" } Load Template %a.btn.btn-link.control_label.template_help_link{ 'data-name' => 'registration_help' } Show Help - = render partial: 'shared/help', locals: { id: 'registration_help', show_event_variables: false, show_ticket_variables: false, show_ticket_variables: false } + = render partial: 'shared/help', locals: { id: 'registration_help', show_event_variables: false, show_ticket_variables: false } #proposal.tab-pane{ role: 'tabpanel' } .checkbox %label @@ -210,7 +210,7 @@ 'data-body-input-id' => 'email_settings_booths_rejection_body', 'data-body-text' => "Dear {name},\n\nThank you for your #{t'booth'} request {booth_title} for the conference {conference}.\n\nUnfortunately, we are sorry to inform you that your request has been rejected.\n\n\nBest wishes\n\n{conference} Team" } Load Template %a.btn.btn-link.control_label.template_help_link{ 'data-name' => 'booth_rejection_help' } Show help - = render partial: 'shared/help', locals: {id: 'booth_rejection_help', show_event_variables: false, show_ticket_variables: false, show_ticket_variables: false} + = render partial: 'shared/help', locals: {id: 'booth_rejection_help', show_event_variables: false, show_ticket_variables: false} .row .col-md-12 From 79adcae21896ab688325f7fbde3cdd63640cde3a Mon Sep 17 00:00:00 2001 From: Michael Ball Date: Tue, 15 Apr 2025 01:37:49 -0700 Subject: [PATCH 248/325] update database.yml to work woth local DBs by default --- config/database.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/config/database.yml b/config/database.yml index c12abd29e..2190be13a 100644 --- a/config/database.yml +++ b/config/database.yml @@ -1,9 +1,9 @@ default: &default adapter: 'postgresql' encoding: 'unicode' - host: <%= ENV.fetch('OSEM_DB_HOST', 'database') %> - port: <%= ENV.fetch('OSEM_DB_PORT', '5432') %> - username: <%= ENV.fetch('OSEM_DB_USER', 'postgres') %> + host: <%= ENV.fetch('OSEM_DB_HOST', 'localhost') %> + port: <%= ENV.fetch('OSEM_DB_PORT', '5432') %> + username: <%= ENV.fetch('OSEM_DB_USER', ENV.fetch('USER', 'postgres')) %> password: <%= ENV.fetch('OSEM_DB_PASSWORD', 'mysecretpassword') %> database: <%= ENV.fetch('OSEM_DB_NAME', 'postgres') %> pool: 5 From 7e4abe321bd010d1793c28122d60472e58d72968 Mon Sep 17 00:00:00 2001 From: Michael Ball Date: Sun, 8 Jun 2025 18:14:18 -0700 Subject: [PATCH 249/325] bundle install --- Gemfile.lock | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 15707e2c5..ece277c0e 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -253,7 +253,6 @@ GEM fastimage (2.3.1) feature (1.4.0) ffi (1.17.0-arm64-darwin) - ffi (1.17.0-x86_64-linux-gnu) font-awesome-sass (6.5.2) sassc (~> 2.0) geckodriver-helper (0.24.0) @@ -380,8 +379,6 @@ GEM nio4r (2.7.4) nokogiri (1.18.7-arm64-darwin) racc (~> 1.4) - nokogiri (1.18.7-x86_64-linux-gnu) - racc (~> 1.4) oauth2 (2.0.9) faraday (>= 0.17.3, < 3.0) jwt (>= 1.0, < 3.0) @@ -523,13 +520,7 @@ GEM responders (3.1.1) actionpack (>= 5.2) railties (>= 5.2) - rest-client (2.1.0) - http-accept (>= 1.7.0, < 2.0) - http-cookie (>= 1.0.2, < 2.0) - mime-types (>= 1.16, < 4.0) - netrc (~> 0.8) - rexml (3.3.9) - strscan + rexml (3.4.1) rolify (6.0.1) rqrcode (2.2.0) chunky_png (~> 1.0) @@ -704,7 +695,6 @@ GEM PLATFORMS arm64-darwin-24 - x86_64-linux DEPENDENCIES active_model_serializers From 4b833840fd467b09b49a58637298d77671e3e80c Mon Sep 17 00:00:00 2001 From: Henne Vogelsang Date: Tue, 5 Aug 2025 16:50:35 +0200 Subject: [PATCH 250/325] Remove superflous PaperTrail::Version.where tests I think it's a bit overkill to test this line from Admin::VersionsController 30 times. ``` PaperTrail::Version.where(conference_id: @conference.id).accessible_by(current_ability) ``` Let's do it once... --- spec/features/versions_spec.rb | 381 +-------------------------------- 1 file changed, 1 insertion(+), 380 deletions(-) diff --git a/spec/features/versions_spec.rb b/spec/features/versions_spec.rb index 181598e5b..9007e503e 100644 --- a/spec/features/versions_spec.rb +++ b/spec/features/versions_spec.rb @@ -13,7 +13,7 @@ sign_in organizer end - scenario 'display changes in contact', feature: true, versioning: true, js: true do + scenario 'displays changes', feature: true, versioning: true, js: true do visit edit_admin_conference_contact_path(conference.short_title) fill_in 'contact_email', with: 'example@example.com' fill_in 'contact_sponsor_email', with: 'sponsor@example.com' @@ -24,383 +24,4 @@ visit admin_revision_history_path expect(page).to have_text("#{organizer.name} updated social tag, email, googleplus and sponsor email of contact details in conference #{conference.short_title}") end - - scenario 'display changes in program', feature: true, versioning: true, js: true do - visit edit_admin_conference_program_path(conference.short_title) - fill_in 'program_rating', with: '4' - click_button 'Update Program' - - visit admin_revision_history_path - expect(page).to have_text("#{organizer.name} updated rating of program in conference #{conference.short_title}") - end - - scenario 'display changes in cfp', feature: true, versioning: true, js: true do - cfp.update(start_date: (Time.zone.today + 1).strftime('%d/%m/%Y'), end_date: (Time.zone.today + 3).strftime('%d/%m/%Y')) - cfp_id = cfp.id - cfp.destroy - - visit admin_revision_history_path - expect(page).to have_text("Someone (probably via the console) created new cfp for events with ID #{cfp_id} in conference #{conference.short_title}") - expect(page).to have_text("Someone (probably via the console) updated start date and end date of cfp for events with ID #{cfp_id} in conference #{conference.short_title}") - expect(page).to have_text("Someone (probably via the console) deleted cfp for events with ID #{cfp_id} in conference #{conference.short_title}") - end - - scenario 'display changes in registration_period', feature: true, versioning: true, js: true do - registration_period = create(:registration_period, conference: conference) - registration_period.update(start_date: (Time.zone.today + 1).strftime('%d/%m/%Y'), end_date: (Time.zone.today + 3).strftime('%d/%m/%Y')) - registration_period_id = registration_period.id - registration_period.destroy - - visit admin_revision_history_path - expect(page).to have_text("Someone (probably via the console) created new registration period with ID #{registration_period_id} in conference #{conference.short_title}") - expect(page).to have_text("Someone (probably via the console) updated start date and end date of registration period with ID #{registration_period_id} in conference #{conference.short_title}") - expect(page).to have_text("Someone (probably via the console) deleted registration period with ID #{registration_period_id} in conference #{conference.short_title}") - end - - scenario 'display changes in conference', feature: true, versioning: true, js: true do - new_conference = create(:conference, title: 'Test Conference') - organizer.add_role :organizer, new_conference - new_conference.update(title: 'New Con', short_title: 'NewCon') - - visit admin_revision_history_path - select '100', from: 'versionstable_length' - expect(page).to have_text('Someone (probably via the console) created new conference NewCon') - expect(page).to have_text('Someone (probably via the console) created new event type Talk in conference NewCon') - expect(page).to have_text('Someone (probably via the console) created new event type Workshop in conference NewCon') - expect(page).to have_text('Someone (probably via the console) updated title and short title of conference NewCon') - end - - scenario 'display changes in event_type', feature: true, versioning: true, js: true do - event_type = create(:event_type, program: conference.program, name: 'Discussion') - event_type.update(length: 90, maximum_abstract_length: 10000) - event_type_id = event_type.id - event_type.destroy - - visit admin_revision_history_path - expect(page).to have_text("Someone (probably via the console) created new event type Discussion with ID #{event_type_id} in conference #{conference.short_title}") - expect(page).to have_text("Someone (probably via the console) updated length and maximum abstract length of event type Discussion with ID #{event_type_id} in conference #{conference.short_title}") - expect(page).to have_text("Someone (probably via the console) deleted event type Discussion with ID #{event_type_id} in conference #{conference.short_title}") - end - - scenario 'display changes in lodging', feature: true, versioning: true, js: true do - lodging = create(:lodging, conference: conference, name: 'Hotel XYZ') - lodging.update(description: 'Nice view,close to venue', website_link: 'http://www.example.com') - lodging_id = lodging.id - lodging.destroy - - visit admin_revision_history_path - expect(page).to have_text("Someone (probably via the console) created new lodging Hotel XYZ with ID #{lodging_id} in conference #{conference.short_title}") - expect(page).to have_text("Someone (probably via the console) updated description and website link of lodging Hotel XYZ with ID #{lodging_id} in conference #{conference.short_title}") - expect(page).to have_text("Someone (probably via the console) deleted lodging Hotel XYZ with ID #{lodging_id} in conference #{conference.short_title}") - end - - scenario 'display changes in conference role', feature: true, versioning: true, js: true do - visit edit_admin_conference_role_path(conference.short_title, 'cfp') - fill_in 'role_description', with: 'For the members of the call for papers team' - click_button 'Update Role' - - visit admin_revision_history_path(conference_id: conference.short_title) - expect(page).to have_text("#{organizer.name} updated description of role cfp in conference #{conference.short_title}") - end - - scenario 'display changes in room', feature: true, versioning: true, js: true do - venue = create(:venue, conference: conference) - room = create(:room, venue: venue, name: 'Auditorium') - room.update_attribute(:size, 120) - room_id = room.id - room.destroy - - visit admin_revision_history_path - expect(page).to have_text("Someone (probably via the console) created new room Auditorium with ID #{room_id} in conference #{conference.short_title}") - expect(page).to have_text("Someone (probably via the console) updated size of room Auditorium with ID #{room_id} in conference #{conference.short_title}") - expect(page).to have_text("Someone (probably via the console) deleted room Auditorium with ID #{room_id} in conference #{conference.short_title}") - end - - scenario 'display changes in sponsor', feature: true, versioning: true, js: true do - conference.sponsorship_levels << create_list(:sponsorship_level, 2, conference: conference) - sponsor = create(:sponsor, conference: conference, name: 'SUSE', sponsorship_level: conference.sponsorship_levels.first) - sponsor.update(website_url: 'https://www.suse.com/company/history', sponsorship_level: conference.sponsorship_levels.second) - sponsor.destroy - sponsor_id = sponsor.id - - visit admin_revision_history_path - expect(page).to have_text("Someone (probably via the console) created new sponsor SUSE with ID #{sponsor_id} in conference #{conference.short_title}") - expect(page).to have_text("Someone (probably via the console) updated website url and sponsorship level of sponsor SUSE with ID #{sponsor_id} in conference #{conference.short_title}") - expect(page).to have_text("Someone (probably via the console) deleted sponsor SUSE with ID #{sponsor_id} in conference #{conference.short_title}") - end - - scenario 'display changes in sponsorship_level', feature: true, versioning: true, js: true do - sponsorship_level = create(:sponsorship_level, conference: conference) - sponsorship_level.update_attribute(:title, 'Gold') - sponsorship_level_id = sponsorship_level.id - sponsorship_level.destroy - - visit admin_revision_history_path - expect(page).to have_text("Someone (probably via the console) created new sponsorship level Gold with ID #{sponsorship_level_id} in conference #{conference.short_title}") - expect(page).to have_text("Someone (probably via the console) updated title of sponsorship level Gold with ID #{sponsorship_level_id} in conference #{conference.short_title}") - expect(page).to have_text("Someone (probably via the console) deleted sponsorship level Gold with ID #{sponsorship_level_id} in conference #{conference.short_title}") - end - - scenario 'display changes in ticket', feature: true, versioning: true, js: true do - ticket = create(:ticket, conference: conference, title: 'Gold') - ticket.update(price: 50, description: 'Premium Ticket') - ticket_id = ticket.id - ticket.destroy - - visit admin_revision_history_path - expect(page).to have_text("Someone (probably via the console) created new ticket Gold with ID #{ticket_id} in conference #{conference.short_title}") - expect(page).to have_text("Someone (probably via the console) updated description and price cents of ticket Gold with ID #{ticket_id} in conference #{conference.short_title}") - expect(page).to have_text("Someone (probably via the console) deleted ticket Gold with ID #{ticket_id} in conference #{conference.short_title}") - end - - scenario 'display changes in track', feature: true, versioning: true, js: true do - track = create(:track, program: conference.program, name: 'Distribution') - track.update_attribute(:description, 'Events about Linux distributions') - track_id = track.id - track.destroy - - visit admin_revision_history_path - expect(page).to have_text("Someone (probably via the console) created new track Distribution with ID #{track_id} in conference #{conference.short_title}") - expect(page).to have_text("Someone (probably via the console) updated description of track Distribution with ID #{track_id} in conference #{conference.short_title}") - expect(page).to have_text("Someone (probably via the console) deleted track Distribution with ID #{track_id} in conference #{conference.short_title}") - end - - scenario 'display changes in venue', feature: true, versioning: true, js: true do - venue = create(:venue, conference: conference, name: 'Example University') - venue.update(website: 'www.example.com new', description: 'Just another beautiful venue') - venue_id = venue.id - venue.destroy - - visit admin_revision_history_path - expect(page).to have_text("Someone (probably via the console) created new venue Example University with ID #{venue_id} in conference #{conference.short_title}") - expect(page).to have_text("Someone (probably via the console) updated website and description of venue Example University with ID #{venue_id} in conference #{conference.short_title}") - expect(page).to have_text("Someone (probably via the console) deleted venue Example University with ID #{venue_id} in conference #{conference.short_title}") - end - - scenario 'display changes in event', feature: true, versioning: true, js: true do - visit new_conference_program_proposal_path(conference_id: conference.short_title) - fill_in 'event_title', with: 'ABC' - fill_in 'event_abstract', with: 'Lorem ipsum abstract' - select('Talk - 30 min', from: 'event[event_type_id]') - click_button 'Create Proposal' - - click_link 'Edit' - fill_in 'event_subtitle', with: 'My event subtitle' - select('Easy', from: 'event[difficulty_level_id]') - click_button 'Update Proposal' - - visit admin_conference_program_events_path(conference.short_title) - click_on 'New' - click_link 'Reject' - - visit conference_program_proposals_path(conference_id: conference.short_title) - within('#events') do - click_link 'Re-Submit' - end - - visit admin_conference_program_events_path(conference.short_title) - click_on 'New' - click_link 'Accept' - - visit conference_program_proposals_path(conference_id: conference.short_title) - click_link 'Confirm' - - visit admin_conference_program_events_path(conference.short_title) - click_on 'Confirmed' - click_link 'Cancel' - - visit admin_revision_history_path - expect(page).to have_text("#{organizer.name} submitted new event ABC in conference #{conference.short_title}") - expect(page).to have_text("#{organizer.name} updated subtitle and difficulty level of event ABC in conference #{conference.short_title}") - expect(page).to have_text("#{organizer.name} rejected event ABC in conference #{conference.short_title}") - expect(page).to have_text("#{organizer.name} resubmitted event ABC in conference #{conference.short_title}") - expect(page).to have_text("#{organizer.name} accepted event ABC in conference #{conference.short_title}") - expect(page).to have_text("#{organizer.name} confirmed event ABC in conference #{conference.short_title}") - expect(page).to have_text("#{organizer.name} canceled event ABC in conference #{conference.short_title}") - end - - scenario 'display changes in difficulty levels', feature: true, versioning: true, js: true do - difficulty_level = create(:difficulty_level, program: conference.program, title: 'Expert') - difficulty_level.update_attribute(:description, 'Only for Experts') - difficulty_level_id = difficulty_level.id - difficulty_level.destroy - - visit admin_revision_history_path - expect(page).to have_text("Someone (probably via the console) created new difficulty level Expert with ID #{difficulty_level_id} in conference #{conference.short_title}") - expect(page).to have_text("Someone (probably via the console) updated description of difficulty level Expert with ID #{difficulty_level_id} in conference #{conference.short_title}") - expect(page).to have_text("Someone (probably via the console) deleted difficulty level Expert with ID #{difficulty_level_id} in conference #{conference.short_title}") - end - - scenario 'display changes in splashpages', feature: true, versioning: true, js: true do - visit admin_conference_splashpage_path(conference.short_title) - click_link 'Create Splashpage' - click_button 'Save' - - click_link 'Configure' - check('Display the program?') - check('Display call for papers and call for tracks?') - check('Display the venue?') - check('Display the tickets?') - check('Display the lodgings?') - check('Display the sponsors?') - check('Display the social media links?') - check('Make splash page public?') - click_button 'Save' - splashpage_id = conference.splashpage.id - - click_link 'Delete' - page.accept_alert - expect(page).to have_text('Splashpage was successfully destroyed') - - visit admin_revision_history_path - expect(page).to have_text("#{organizer.name} created new splashpage with ID #{splashpage_id} in conference #{conference.short_title}") - expect(page).to have_text("#{organizer.name} updated public, include program, include social media, include venue, include tickets, include sponsors, include lodgings and include cfp of splashpage with ID #{splashpage_id} in conference #{conference.short_title}") - expect(page).to have_text("#{organizer.name} deleted splashpage with ID #{splashpage_id} in conference #{conference.short_title}") - end - - scenario 'displays users subscribe/unsubscribe to conferences', feature: true, versioning: true, js: true do - visit root_path - click_link 'Subscribe' - click_link 'Unsubscribe' - PaperTrail::Version.last.reify.save! - PaperTrail::Version.last.item.destroy! - - visit admin_revision_history_path - expect(page).to have_text("#{organizer.name} subscribed to conference #{conference.short_title}") - expect(page).to have_text("#{organizer.name} unsubscribed from conference #{conference.short_title}") - expect(page).to have_text("Someone (probably via the console) subscribed #{organizer.name} to conference #{conference.short_title}") - expect(page).to have_text("Someone (probably via the console) unsubscribed #{organizer.name} from conference #{conference.short_title}") - end - - scenario 'display changes in conference commercials', feature: true, versioning: true, js: true do - conference_commercial = create(:conference_commercial, commercialable: conference) - conference_commercial.update_attribute(:url, 'https://www.youtube.com/watch?v=VNkDJk5_9eU') - conference_commercial.destroy - - visit admin_revision_history_path - expect(page).to have_text("Someone (probably via the console) created new commercial in conference #{conference.short_title}") - expect(page).to have_text("Someone (probably via the console) updated url of commercial in conference #{conference.short_title}") - expect(page).to have_text("Someone (probably via the console) deleted commercial in conference #{conference.short_title}") - end - - scenario 'display changes in event commercials', feature: true, versioning: true, js: true do - event_commercial - event_commercial.update_attribute(:url, 'https://www.youtube.com/watch?v=VNkDJk5_9eU') - event_commercial.destroy - - visit admin_revision_history_path - expect(page).to have_text("Someone (probably via the console) created new commercial in event #{event_with_commercial.title} in conference #{conference.short_title}") - expect(page).to have_text("Someone (probably via the console) updated url of commercial in event #{event_with_commercial.title} in conference #{conference.short_title}") - expect(page).to have_text("Someone (probably via the console) deleted commercial in event #{event_with_commercial.title} in conference #{conference.short_title}") - end - - scenario 'display changes in event commercials in event history', feature: true, versioning: true, js: true do - event_without_commercial = create(:event, program: conference.program) - event_commercial - - visit admin_conference_program_event_path(conference.short_title, event_with_commercial) - click_link 'History' - expect(page).to have_text('Someone (probably via the console) created new commercial') - visit admin_conference_program_event_path(conference.short_title, event_without_commercial) - click_link 'History' - expect(page).to have_no_text('Someone (probably via the console) created new commercial') - end - - scenario 'display changes in users_role for conference role', feature: true, versioning: true, js: true do - user = create(:user) - role = Role.find_by(name: 'cfp', resource_id: conference.id, resource_type: 'Conference') - user.add_role :cfp, conference - user_role = UsersRole.find_by(user_id: user.id, role_id: role.id) - user.remove_role :cfp, conference - - visit admin_revision_history_path - expect(page).to have_text("added role cfp with ID #{user_role.id} to user #{user.name} in conference #{conference.short_title}") - expect(page).to have_text("removed role cfp with ID #{user_role.id} from user #{user.name} in conference #{conference.short_title}") - end - - scenario 'display changes in email settings', feature: true, versioning: true, js: true do - conference.email_settings.update(registration_subject: 'xxxxx', registration_body: 'yyyyy', accepted_subject: 'zzzzz') - - visit admin_revision_history_path - expect(page).to have_text("Someone (probably via the console) updated registration body, registration subject and accepted subject of email settings in conference #{conference.short_title}") - end - - scenario 'display changes in conference registrations', feature: true, versioning: true, js: true do - Registration.create(user: organizer, conference: conference) - Registration.last.destroy - - visit admin_revision_history_path - expect(page).to have_text("Someone (probably via the console) registered #{organizer.name} to conference #{conference.short_title}") - expect(page).to have_text("Someone (probably via the console) unregistered #{organizer.name} from conference #{conference.short_title}") - end - - scenario 'display changes in event registration', feature: true, versioning: true, js: true do - create(:event, program: conference.program, title: 'My first event') - registration = Registration.create(user: organizer, conference: conference) - event = create(:event, program: conference.program, title: 'My second event') - EventsRegistration.create(registration: registration, event: event) - EventsRegistration.first.update_attribute(:attended, true) - EventsRegistration.last.destroy - # Here registration is deleted to ensure the event registration related change still displays the associated user's name - registration.destroy - - visit admin_revision_history_path - expect(page).to have_text("Someone (probably via the console) registered #{organizer.name} to event My second event in conference #{conference.short_title}") - expect(page).to have_text("Someone (probably via the console) updated attended of #{organizer.name}'s registration for event #{event.title} in conference #{conference.short_title}") - expect(page).to have_text("Someone (probably via the console) unregistered #{organizer.name} from event #{event.title} in conference #{conference.short_title}") - end - - scenario 'display changes in comment', feature: true, versioning: true, js: true do - create(:event, program: conference.program, title: 'My first event') - event = create(:event, program: conference.program, title: 'My second event') - visit admin_conference_program_event_path(conference_id: conference.short_title, id: event.id) - click_link 'Show' - fill_in 'comment_body', with: 'Sample comment' - click_button 'Save Comment' - expect(page).to have_text('Comments (1)') - Comment.last.destroy - PaperTrail::Version.last.reify.save - - visit admin_revision_history_path - expect(page).to have_text("#{organizer.name} commented on event My second event in conference #{conference.short_title}") - expect(page).to have_text("Someone (probably via the console) deleted #{organizer.name}'s comment on event #{event.title} in conference #{conference.short_title}") - expect(page).to have_text("Someone (probably via the console) re-added #{organizer.name}'s comment on event #{event.title} in conference #{conference.short_title}") - end - - scenario 'display changes in vote', feature: true, versioning: true, js: true do - conference.program.rating = 1 - create(:event, program: conference.program, title: 'My first event') - event = create(:event, program: conference.program, title: 'My second event') - create(:vote, user: organizer, event: event) - Vote.last.destroy - PaperTrail::Version.last.reify.save - - visit admin_revision_history_path - expect(page).to have_text("Someone (probably via the console) voted on event My second event in conference #{conference.short_title}") - expect(page).to have_text("Someone (probably via the console) deleted #{organizer.name}'s vote on event #{event.title} in conference #{conference.short_title}") - expect(page).to have_text("Someone (probably via the console) re-added #{organizer.name}'s vote on event #{event.title} in conference #{conference.short_title}") - end - - scenario 'display password reset requests', feature: true, versioning: true, js: true do - user = create(:user) - user.send_reset_password_instructions - - visit admin_revision_history_path - expect(page).to have_text("Someone requested password reset of user #{user.name}") - end - - scenario 'display user signups', feature: true, versioning: true, js: true do - create(:user, name: 'testname') - - visit admin_revision_history_path - expect(page).to have_text('testname signed up') - end - - scenario 'display updates to user', feature: true, versioning: true, js: true do - user = create(:user) - user.update(nickname: 'testnick', affiliation: 'openSUSE') - - visit admin_revision_history_path - expect(page).to have_text("Someone (probably via the console) updated nickname and affiliation of user #{user.name}") - end end From eb16282a015708231871291253f2bf7ae0549b70 Mon Sep 17 00:00:00 2001 From: Henne Vogelsang Date: Tue, 5 Aug 2025 17:50:55 +0200 Subject: [PATCH 251/325] Make spec thread safe... Something(???) has changed that Github Actions has become *so* fast that those hit now... --- spec/features/conference_registration_spec.rb | 7 +++---- spec/features/roles_spec.rb | 2 ++ spec/features/tickets_spec.rb | 6 ++---- spec/features/versions_spec.rb | 2 ++ 4 files changed, 9 insertions(+), 8 deletions(-) diff --git a/spec/features/conference_registration_spec.rb b/spec/features/conference_registration_spec.rb index 4a9df4d80..3e7ba537a 100644 --- a/spec/features/conference_registration_spec.rb +++ b/spec/features/conference_registration_spec.rb @@ -46,11 +46,10 @@ context 'who is not registered' do scenario 'registers for a conference', feature: true, js: true do - visit root_path - click_link 'Register' - - expect(current_path).to eq(new_conference_conference_registration_path(conference.short_title)) + visit new_conference_conference_registration_path(conference.short_title) click_button 'Register' + page.find('#flash') + expect(flash).to eq('You are now registered and will be receiving E-Mail notifications.') expect(conference.user_registered?(participant)).to be(true) end diff --git a/spec/features/roles_spec.rb b/spec/features/roles_spec.rb index 3bc341961..83377a19d 100644 --- a/spec/features/roles_spec.rb +++ b/spec/features/roles_spec.rb @@ -58,6 +58,8 @@ fill_in 'user_email', with: user_with_no_role.email click_button 'Add' + page.find('.alert') + user_with_no_role.reload expect(user_with_no_role.has_cached_role?(role.name, conference)).to be true diff --git a/spec/features/tickets_spec.rb b/spec/features/tickets_spec.rb index 047a4e386..cb881400d 100644 --- a/spec/features/tickets_spec.rb +++ b/spec/features/tickets_spec.rb @@ -41,12 +41,10 @@ click_button 'Update Ticket' - ticket.reload - # It's necessary to multiply by 100 because the price is in cents page.find('#flash') expect(flash).to eq('Ticket successfully updated.') - expect(ticket.price).to eq(Money.new(50 * 100, 'USD')) - expect(ticket.title).to eq('Event Ticket') + expect(ticket.reload.price.to_i).to eq(50) + expect(ticket.reload.title).to eq('Event Ticket') expect(Ticket.count).to eq(2) end diff --git a/spec/features/versions_spec.rb b/spec/features/versions_spec.rb index 9007e503e..6ed5ea18d 100644 --- a/spec/features/versions_spec.rb +++ b/spec/features/versions_spec.rb @@ -20,6 +20,8 @@ fill_in 'contact_social_tag', with: 'example' fill_in 'contact_googleplus', with: 'http:\\www.google.com' click_button 'Update Contact' + page.find('#flash') + expect(flash).to eq('Contact details were successfully updated.') visit admin_revision_history_path expect(page).to have_text("#{organizer.name} updated social tag, email, googleplus and sponsor email of contact details in conference #{conference.short_title}") From bc1a21ae46ce15e40f8b2a247c75e0d2f38bc81e Mon Sep 17 00:00:00 2001 From: Henne Vogelsang Date: Wed, 6 Aug 2025 13:03:56 +0200 Subject: [PATCH 252/325] Ignore VSCode editor files --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 122965d62..f55ebacd7 100644 --- a/.gitignore +++ b/.gitignore @@ -42,3 +42,4 @@ osem_development osem_test .ackrc spec/support/deprecation_shitlist.json +.vscode From df0b9ab3561936c5ddbe86cb0dc939d27b7db440 Mon Sep 17 00:00:00 2001 From: Henne Vogelsang Date: Wed, 6 Aug 2025 13:04:53 +0200 Subject: [PATCH 253/325] Replace flash helper with "within" So we can't forget to find "#flash" on the page ever again... --- spec/features/base_controller_spec.rb | 2 +- spec/features/commercials_spec.rb | 9 ++---- spec/features/conference_registration_spec.rb | 4 +-- spec/features/conference_spec.rb | 7 ++--- spec/features/contact_spec.rb | 7 ++--- spec/features/difficulty_levels_spec.rb | 10 ++---- spec/features/email_spec.rb | 4 +-- spec/features/event_types_spec.rb | 7 ++--- spec/features/lodgings_spec.rb | 17 ++++------ spec/features/omniauth_spec.rb | 31 +++++++++---------- spec/features/program_spec.rb | 6 ++-- spec/features/proposals_spec.rb | 19 +++++------- spec/features/registration_periods_spec.rb | 6 ++-- spec/features/resource_spec.rb | 13 +++----- spec/features/roles_spec.rb | 7 ++--- spec/features/rooms_spec.rb | 10 +++--- spec/features/splashpage_spec.rb | 14 ++++----- spec/features/sponsor_spec.rb | 7 ++--- spec/features/sponsorship_level_spec.rb | 10 +++--- spec/features/surveys_spec.rb | 6 ++-- spec/features/ticket_purchases_spec.rb | 22 +++++++------ spec/features/tickets_spec.rb | 11 +++---- spec/features/tracks_spec.rb | 20 +++++------- spec/features/user_ability_spec.rb | 4 +-- spec/features/user_spec.rb | 3 +- spec/features/venues_spec.rb | 19 ++++++------ spec/features/versions_spec.rb | 4 +-- spec/spec_helper.rb | 1 - spec/support/flash.rb | 16 ---------- 29 files changed, 116 insertions(+), 180 deletions(-) delete mode 100644 spec/support/flash.rb diff --git a/spec/features/base_controller_spec.rb b/spec/features/base_controller_spec.rb index 3392cce3e..e42f9fda0 100644 --- a/spec/features/base_controller_spec.rb +++ b/spec/features/base_controller_spec.rb @@ -27,7 +27,7 @@ it 'not an admin it redirects to root_path' do visit admin_conferences_path expect(current_path).to eq root_path - expect(flash).to eq 'You are not authorized to access this page.' + within('#flash') { expect(page).to have_text('You are not authorized to access this page.') } end it 'an admin they can access the admin area' do diff --git a/spec/features/commercials_spec.rb b/spec/features/commercials_spec.rb index be46cfd2f..b8f55abd7 100644 --- a/spec/features/commercials_spec.rb +++ b/spec/features/commercials_spec.rb @@ -26,8 +26,7 @@ page.execute_script("$('#commercial_submit_action').prop('disabled', false)") click_button 'Create Commercial' - page.find('#flash') - expect(flash).to eq('Commercial was successfully created.') + within('#flash') { expect(page).to have_text('Commercial was successfully created.') } end scenario 'updates a commercial of an event', feature: true, js: true do @@ -42,8 +41,7 @@ page.execute_script("$('#commercial_submit_action').prop('disabled', false)") click_button 'Update Commercial' end - page.find('#flash') - expect(flash).to eq('Commercial was successfully updated.') + within('#flash') { expect(page).to have_text('Commercial was successfully updated.') } expect(event.commercials.count).to eq(1) commercial.reload expect(commercial.url).to eq('https://www.youtube.com/watch?v=M9bq_alk-sw') @@ -58,8 +56,7 @@ page.accept_alert do click_link 'Delete' end - page.find('#flash') - expect(flash).to eq('Commercial was successfully destroyed.') + within('#flash') { expect(page).to have_text('Commercial was successfully destroyed.') } expect(event.commercials.count).to eq(0) end end diff --git a/spec/features/conference_registration_spec.rb b/spec/features/conference_registration_spec.rb index 3e7ba537a..60e5057f9 100644 --- a/spec/features/conference_registration_spec.rb +++ b/spec/features/conference_registration_spec.rb @@ -38,7 +38,6 @@ page.accept_alert do click_link 'Unregister' end - page.find('#flash') expect(page).to have_content('not registered') expect(conference.user_registered?(participant)).to be(false) end @@ -48,8 +47,7 @@ scenario 'registers for a conference', feature: true, js: true do visit new_conference_conference_registration_path(conference.short_title) click_button 'Register' - page.find('#flash') - expect(flash).to eq('You are now registered and will be receiving E-Mail notifications.') + within('#flash') { expect(page).to have_text('You are now registered and will be receiving E-Mail notifications.') } expect(conference.user_registered?(participant)).to be(true) end diff --git a/spec/features/conference_spec.rb b/spec/features/conference_spec.rb index 6a700c9b3..8f1c60542 100644 --- a/spec/features/conference_spec.rb +++ b/spec/features/conference_spec.rb @@ -24,9 +24,7 @@ fill_in 'conference_end_date', with: (today + 7).strftime('%Y/%m/%d') click_button 'Create Conference' - page.find('#flash') - expect(flash) - .to eq('Conference was successfully created.') + within('#flash') { expect(page).to have_text('Conference was successfully created.') } expect(Conference.count).to eq(expected_count) user.reload expect(user.has_cached_role? :organizer, Conference.last).to be(true) @@ -51,8 +49,7 @@ click_button 'Update Conference' end - page.find('#flash') - expect(flash).to eq('Conference was successfully updated.') + within('#flash') { expect(page).to have_text('Conference was successfully updated.') } conference.reload expect(conference.title).to eq('New Con') diff --git a/spec/features/contact_spec.rb b/spec/features/contact_spec.rb index 47585cc93..42dc3fe65 100644 --- a/spec/features/contact_spec.rb +++ b/spec/features/contact_spec.rb @@ -15,12 +15,9 @@ visit edit_admin_conference_contact_path(conference.short_title) fill_in 'contact_' + field_name, with: field_value click_button 'Update Contact' - page.find('#flash') - expect(flash) - .to eq('Contact details were successfully updated.') - contact.reload + within('#flash') { expect(page).to have_text('Contact details were successfully updated.') } - expect(contact.send(field_name)).to eq(field_value) + expect(contact.reload.send(field_name)).to eq(field_value) expect(Contact.count).to eq(expected_count) end end diff --git a/spec/features/difficulty_levels_spec.rb b/spec/features/difficulty_levels_spec.rb index c8ce8b2f6..0bb064070 100644 --- a/spec/features/difficulty_levels_spec.rb +++ b/spec/features/difficulty_levels_spec.rb @@ -19,11 +19,9 @@ fill_in 'difficulty_level_title', with: 'Hard' fill_in 'difficulty_level_description', with: 'Life is the hardest' page.find('#difficulty_level_color').set('#ff0000') - click_button 'Create Difficulty level' - page.find('#flash') - # Validations - expect(flash).to eq('Difficulty level successfully created.') + + within('#flash') { expect(page).to have_text('Difficulty level successfully created.') } within('table#difficulty_levels') do expect(page.has_content?('Hard')).to be true expect(page.has_content?('Life is the hardest')).to be true @@ -44,10 +42,8 @@ click_link 'Delete' end end - page.find('#flash') - # Validations - expect(flash).to eq('Difficulty level successfully deleted.') + within('#flash') { expect(page).to have_text('Difficulty level successfully deleted.') } within('table#difficulty_levels') do expect(page.assert_selector('tr', count: 4)).to be true expect(page.has_content?('Easy Events')).to be true diff --git a/spec/features/email_spec.rb b/spec/features/email_spec.rb index a110dd2cf..f6b618416 100644 --- a/spec/features/email_spec.rb +++ b/spec/features/email_spec.rb @@ -54,10 +54,8 @@ with: 'Updated conference venue template' click_button 'Update Email settings' - page.find('#flash') - expect(flash) - .to eq('Email settings have been successfully updated.') + within('#flash') { expect(page).to have_text('Email settings have been successfully updated.') } expect(find('#email_settings_registration_subject') .value).to eq('Registration subject') expect(find('#email_settings_registration_body') diff --git a/spec/features/event_types_spec.rb b/spec/features/event_types_spec.rb index feaa52001..d5834d910 100644 --- a/spec/features/event_types_spec.rb +++ b/spec/features/event_types_spec.rb @@ -27,9 +27,7 @@ page.find('#event_type_color').set('#e4e4e4') click_button 'Create Event type' - page.find('#flash') - # Validations - expect(flash).to eq('Event type successfully created.') + within('#flash') { expect(page).to have_text('Event type successfully created.') } within('table#event_types > tbody') do expect(page.has_content?('Party')).to be true expect(page.has_content?('13042')).to be true @@ -41,9 +39,8 @@ within('tr', text: 'Party') do click_link 'Delete' end - page.find('#flash') - expect(flash).to eq('Event type successfully deleted.') + within('#flash') { expect(page).to have_text('Event type successfully deleted.') } within('table#event_types > tbody') do expect(page.assert_selector('tr', count: 2)).to be true expect(page.has_content?('Party')).to be false diff --git a/spec/features/lodgings_spec.rb b/spec/features/lodgings_spec.rb index f8cc7626a..88c8b9803 100644 --- a/spec/features/lodgings_spec.rb +++ b/spec/features/lodgings_spec.rb @@ -18,11 +18,9 @@ fill_in 'lodging_name', with: 'New lodging' fill_in 'lodging_website_link', with: 'http://www.google.com' attach_file 'Picture', path - click_button 'Create Lodging' - page.find('#flash') - # Validations - expect(flash).to eq('Lodging successfully created.') + + within('#flash') { expect(page).to have_text('Lodging successfully created.') } expect(page.has_content?('New lodging')).to be true expect(Lodging.count).to eq(1) end @@ -44,11 +42,9 @@ fill_in 'lodging_name', with: 'New lodging' fill_in 'lodging_website_link', with: 'http://www.google.com' attach_file 'Picture', path - click_button 'Update Lodging' - page.find('#flash') - # Validations - expect(flash).to eq('Lodging successfully updated.') + + within('#flash') { expect(page).to have_text('Lodging successfully updated.') } expect(page.has_content?('New lodging')).to be true lodging.reload expect(lodging.name).to eq('New lodging') @@ -69,9 +65,8 @@ page.accept_alert do click_link 'Delete' end - page.find('#flash') - # Validations - expect(flash).to eq('Lodging successfully deleted.') + + within('#flash') { expect(page).to have_text('Lodging successfully deleted.') } expect(page.has_content?(CGI.escapeHTML(lodging.name))).to be false expect(Lodging.count).to eq(0) end diff --git a/spec/features/omniauth_spec.rb b/spec/features/omniauth_spec.rb index 83940dc19..32d34596f 100644 --- a/spec/features/omniauth_spec.rb +++ b/spec/features/omniauth_spec.rb @@ -20,8 +20,8 @@ within('#openidlinks') do click_link 'omniauth-google' end - page.find('#flash') - expect(flash).to eq('test-1@example.com signed in successfully with google') + + within('#flash') { expect(page).to have_text('test-1@example.com signed in successfully with google') } expect(Openid.count).to eq(expected_count_openid) expect(User.count).to eq(expected_count_user) end @@ -36,8 +36,8 @@ within('#openidlinks') do click_link 'omniauth-google' end - page.find('#flash') - expect(flash).to eq('test-participant-1@example.com signed in successfully with google') + + within('#flash') { expect(page).to have_text('test-participant-1@example.com signed in successfully with google') } expect(Openid.count).to eq(expected_count_openid) expect(User.count).to eq(expected_count_user) end @@ -49,8 +49,8 @@ within('#openidlinks') do click_link 'omniauth-google' end - page.find('#flash') - expect(flash).to eq('Could not authenticate you from Google because "Invalid credentials".') + + within('#flash') { expect(page).to have_text('Could not authenticate you from Google because "Invalid credentials".') } end scenario 'adds openid to existing user' do @@ -67,8 +67,8 @@ within('#openidlinks') do click_link 'omniauth-google' end - page.find('#flash') - expect(flash).to eq('test-participant-1@example.com signed in successfully with google') + + within('#flash') { expect(page).to have_text('test-participant-1@example.com signed in successfully with google') } expect(Openid.count).to eq(expected_count_openid) expect(User.count).to eq(expected_count_user) expect(Openid.where(email: 'test-1@example.com').first.nil?).to be(false) @@ -85,8 +85,8 @@ within('#openidlinks') do click_link 'omniauth-google' end - page.find('#flash') - expect(flash).to eq('test-participant-1@example.com signed in successfully with google') + + within('#flash') { expect(page).to have_text('test-participant-1@example.com signed in successfully with google') } page.find('#flash .close').click expect(Openid.count).to eq(expected_count_openid) expect(User.count).to eq(expected_count_user) @@ -100,8 +100,8 @@ within('#openidlinks') do click_link 'omniauth-google' end - page.find('#flash') - expect(flash).to eq('test-participant-1@example.com signed in successfully with google') + + within('#flash') { expect(page).to have_text('test-participant-1@example.com signed in successfully with google') } page.find('#flash .close').click expect(Openid.count).to eq(expected_count_openid) expect(User.count).to eq(expected_count_user) @@ -118,8 +118,7 @@ within('#openidlinks') do click_link 'omniauth-facebook' end - page.find('#flash') - expect(flash).to eq('test-participant-1@example.com signed in successfully with facebook') + within('#flash') { expect(page).to have_text('test-participant-1@example.com signed in successfully with facebook') } expect(Openid.count).to eq(expected_count_openid) expect(User.count).to eq(expected_count_user) last_openid = Openid.last @@ -144,8 +143,8 @@ within('#openidlinks') do click_link "omniauth-#{provider}" end - page.find('#flash') - expect(flash).to eq("user-#{provider}@example.com signed in successfully with #{provider}") + + within('#flash') { expect(page).to have_text("user-#{provider}@example.com signed in successfully with #{provider}") } expect(Openid.count).to eq(expected_count_openid) expect(User.count).to eq(expected_count_user) end diff --git a/spec/features/program_spec.rb b/spec/features/program_spec.rb index 273e79cbd..5319fe5eb 100644 --- a/spec/features/program_spec.rb +++ b/spec/features/program_spec.rb @@ -21,10 +21,8 @@ fill_in 'program_rating', with: '4' click_button 'Update Program' - page.find('#flash') - # Validations - expect(flash) - .to eq('The program was successfully updated.') + + within('#flash') { expect(page).to have_text('The program was successfully updated.') } expect(find('#rating').text).to eq('4') end end diff --git a/spec/features/proposals_spec.rb b/spec/features/proposals_spec.rb index c1c1326f8..64cd69f8f 100644 --- a/spec/features/proposals_spec.rb +++ b/spec/features/proposals_spec.rb @@ -33,7 +33,7 @@ fill_in 'Title', with: 'Organizer-Created Proposal' fill_in 'Abstract', with: 'This proposal was created by an organizer.' click_button 'Create Proposal' - expect(flash).to eq('Event was successfully submitted.') + within('#flash') { expect(page).to have_text('Event was successfully submitted.') } end scenario 'rejects a proposal', feature: true, js: true do @@ -95,9 +95,8 @@ fill_in 'event_abstract', with: 'Lorem ipsum abstract' click_button 'Create Proposal' - page.find('#flash') - expect(page).to have_content 'Proposal was successfully submitted.' + within('#flash') { expect(page).to have_text('Proposal was successfully submitted.') } expect(Event.count).to eq(expected_count_event) expect(User.count).to eq(expected_count_user) end @@ -132,8 +131,8 @@ expect(page).to have_selector '.in', text: 'Events are understandable for everyone without knowledge of the topic.' click_button 'Update Proposal' - page.find('#flash') - expect(page).to have_content 'Proposal was successfully updated.' + + within('#flash') { expect(page).to have_text('Proposal was successfully updated.') } end scenario 'signed_in user submits a valid proposal', feature: true, js: true do @@ -155,8 +154,7 @@ click_button 'Create Proposal' - page.find('#flash') - expect(page).to have_content 'Proposal was successfully submitted.' + within('#flash') { expect(page).to have_text('Proposal was successfully submitted.') } expect(current_path).to eq(conference_program_proposals_path(conference.short_title)) expect(Event.count).to eq(expected_count) end @@ -180,10 +178,9 @@ expect(page).to have_content 'Example Proposal' click_link "delete_proposal_#{@event.id}" page.accept_alert - page.find('#flash') - expect(page).to have_content 'Proposal was successfully withdrawn.' - @event.reload - expect(@event.state).to eq('withdrawn') + + within('#flash') { expect(page).to have_text('Proposal was successfully withdrawn.') } + expect(@event.reload.state).to eq('withdrawn') end end end diff --git a/spec/features/registration_periods_spec.rb b/spec/features/registration_periods_spec.rb index 5e161e116..870fdef71 100644 --- a/spec/features/registration_periods_spec.rb +++ b/spec/features/registration_periods_spec.rb @@ -25,8 +25,7 @@ fill_in 'registration_period_start_date', with: start_date.strftime('%Y/%m/%d') fill_in 'registration_period_end_date', with: end_date.strftime('%Y/%m/%d') click_button 'Save Registration Period' - page.find('#flash') - expect(flash).to eq('Registration Period successfully updated.') + within('#flash') { expect(page).to have_text('Registration Period successfully updated.') } expect(current_path).to eq(admin_conference_registration_period_path(conference.short_title)) expect(page).to have_text("Ticket required?\nYes") end @@ -37,8 +36,7 @@ fill_in 'registration_period_start_date', with: start_date.strftime('%Y-%m-%d') fill_in 'registration_period_end_date', with: end_date.strftime('%Y-%m-%d') click_button 'Save Registration Period' - page.find('#flash') - expect(flash).to eq('Registration Period successfully updated.') + within('#flash') { expect(page).to have_text('Registration Period successfully updated.') } expect(current_path).to eq(admin_conference_registration_period_path(conference.short_title)) expect(page).to have_text("Ticket required?\nNo") end diff --git a/spec/features/resource_spec.rb b/spec/features/resource_spec.rb index 127c8b183..281a3bcfd 100644 --- a/spec/features/resource_spec.rb +++ b/spec/features/resource_spec.rb @@ -23,8 +23,7 @@ click_button 'Create Resource' expect(Resource.count).to eq(2) - page.find('#flash') - expect(flash).to eq('Resource successfully created.') + within('#flash') { expect(page).to have_text('Resource successfully created.') } end scenario 'edit an existing resource' do @@ -32,18 +31,16 @@ click_link('Edit') fill_in 'resource_name', with: 'changed_name' click_button 'Update Resource' - resource.reload - page.find('#flash') - expect(flash).to eq('Resource successfully updated.') - expect(resource.name).to eq('changed_name') + + within('#flash') { expect(page).to have_text('Resource successfully updated.') } + expect(resource.reload.name).to eq('changed_name') end scenario 'destroy a resource' do visit admin_conference_resources_path(conference.short_title) click_link('Delete', href: admin_conference_resource_path(conference.short_title, resource.id)) - page.find('#flash') - expect(flash).to eq('Resource successfully destroyed.') + within('#flash') { expect(page).to have_text('Resource successfully destroyed.') } end end end diff --git a/spec/features/roles_spec.rb b/spec/features/roles_spec.rb index 83377a19d..ad24cf212 100644 --- a/spec/features/roles_spec.rb +++ b/spec/features/roles_spec.rb @@ -20,10 +20,9 @@ click_link('Edit', href: edit_admin_conference_role_path(conference.short_title, role_name)) fill_in 'role_description', with: 'changed description' click_button 'Update Role' - role.reload - page.find('#flash') - expect(flash).to eq("Successfully updated role #{role_name}") - expect(role.description).to eq('changed description') + + within('#flash') { expect(page).to have_text("Successfully updated role #{role_name}") } + expect(role.reload.description).to eq('changed description') end end diff --git a/spec/features/rooms_spec.rb b/spec/features/rooms_spec.rb index fbb2dcbe2..f5f4c0fdf 100644 --- a/spec/features/rooms_spec.rb +++ b/spec/features/rooms_spec.rb @@ -22,9 +22,8 @@ fill_in 'room_size', with: '100' click_button 'Create Room' - page.find('#flash') - # Validations - expect(flash).to eq('Room successfully created.') + + within('#flash') { expect(page).to have_text('Room successfully created.') } within('table#rooms') do expect(page.has_content?('Auditorium')).to be true expect(page.assert_selector('tr', count: 2)).to be true @@ -41,9 +40,8 @@ fill_in 'room_size', with: '100' click_button 'Update Room' - page.find('#flash') - # Validations - expect(flash).to eq('Room successfully updated.') + + within('#flash') { expect(page).to have_text('Room successfully updated.') } within('table#rooms') do expect(page.has_content?('Auditorium')).to be true expect(page.assert_selector('tr', count: 2)).to be true diff --git a/spec/features/splashpage_spec.rb b/spec/features/splashpage_spec.rb index 31f843f1f..06e330411 100644 --- a/spec/features/splashpage_spec.rb +++ b/spec/features/splashpage_spec.rb @@ -15,8 +15,8 @@ click_link 'Create Splashpage' click_button 'Save' - page.find('#flash') - expect(flash).to eq('Splashpage successfully created.') + + within('#flash') { expect(page).to have_text('Splashpage successfully created.') } expect(current_path).to eq(admin_conference_splashpage_path(conference.short_title)) expect(page.has_text?('Private')).to be true end @@ -31,8 +31,8 @@ click_link 'Configure' check('Make splash page public') click_button 'Save' - page.find('#flash') - expect(flash).to eq('Splashpage successfully updated.') + + within('#flash') { expect(page).to have_text('Splashpage successfully updated.') } expect(current_path).to eq(admin_conference_splashpage_path(conference.short_title)) expect(page.has_text?('Public')).to be true @@ -45,9 +45,8 @@ visit admin_conference_splashpage_path(conference.short_title) click_link 'Delete' page.accept_alert - page.find('#flash') expect(current_path).to eq(admin_conference_splashpage_path(conference.short_title)) - expect(flash).to eq('Splashpage was successfully destroyed.') + within('#flash') { expect(page).to have_text('Splashpage was successfully destroyed.') } expect(Splashpage.count).to eq(0) end @@ -60,8 +59,7 @@ scenario 'splashpage is not accessible for participants if it is not public' do sign_in participant visit conference_path(conference.short_title) - page.find('#flash') - expect(flash).to eq('You are not authorized to access this page.') + within('#flash') { expect(page).to have_text('You are not authorized to access this page.') } expect(current_path).to eq(root_path) end end diff --git a/spec/features/sponsor_spec.rb b/spec/features/sponsor_spec.rb index 9366c11fa..f833eb253 100644 --- a/spec/features/sponsor_spec.rb +++ b/spec/features/sponsor_spec.rb @@ -25,8 +25,8 @@ select(conference.sponsorship_levels.first.title, from: 'sponsor_sponsorship_level_id') click_button 'Create Sponsor' - page.find('#flash') - expect(flash).to eq('Sponsor successfully created.') + + within('#flash') { expect(page).to have_text('Sponsor successfully created.') } within('table#sponsors') do expect(page.has_content?('SUSE')).to be true expect(page.has_content?('The original provider')).to be true @@ -45,8 +45,7 @@ click_link 'Delete' end end - page.find('#flash') - expect(flash).to eq('Sponsor successfully deleted.') + within('#flash') { expect(page).to have_text('Sponsor successfully deleted.') } expect(page).to have_no_selector('table#sponsors') end end diff --git a/spec/features/sponsorship_level_spec.rb b/spec/features/sponsorship_level_spec.rb index 5392978c3..f98da3f36 100644 --- a/spec/features/sponsorship_level_spec.rb +++ b/spec/features/sponsorship_level_spec.rb @@ -20,9 +20,8 @@ fill_in 'sponsorship_level_title', with: 'Platin' click_button 'Create Sponsorship level' - page.find('#flash') - # Validations - expect(flash).to eq('Sponsorship level successfully created.') + + within('#flash') { expect(page).to have_text('Sponsorship level successfully created.') } within('table#sponsorship_levels') do expect(page.has_content?('Platin')).to be true expect(page.assert_selector('tr', count: 2)).to be true @@ -38,9 +37,8 @@ fill_in 'sponsorship_level_title', with: 'Gold' click_button 'Update Sponsorship level' - page.find('#flash') - # Validations - expect(flash).to eq('Sponsorship level successfully updated.') + + within('#flash') { expect(page).to have_text('Sponsorship level successfully updated.') } within('table#sponsorship_levels') do expect(page.has_content?('Gold')).to be true expect(page.assert_selector('tr', count: 2)).to be true diff --git a/spec/features/surveys_spec.rb b/spec/features/surveys_spec.rb index 52f8b40d9..0e5b7842a 100644 --- a/spec/features/surveys_spec.rb +++ b/spec/features/surveys_spec.rb @@ -18,12 +18,12 @@ click_link 'New' fill_in 'Title', with: 'Example Survey' click_button 'Create Survey' - expect(flash).to eq('Successfully created survey') + within('#flash') { expect(page).to have_text('Successfully created survey') } fill_in :survey_question_title, with: 'Example question' select 'boolean', from: 'Type of Question:', visible: false # Hidden by bootstrap-select click_button 'Create Survey question' - expect(flash).to eq('Successfully created Survey Question.') + within('#flash') { expect(page).to have_text('Successfully created Survey Question.') } end end @@ -46,7 +46,7 @@ click_link survey.title choose 'Yes' click_button 'Submit' - expect(flash).to eq('Successfully responded to survey.') + within('#flash') { expect(page).to have_text('Successfully responded to survey.') } visit conference_conference_registration_path(conference) expect(find(:link, survey.title).sibling('.fa-solid')[:title]).to eq('Thank you for filling out the survey') diff --git a/spec/features/ticket_purchases_spec.rb b/spec/features/ticket_purchases_spec.rb index 61471a8bf..22250679b 100644 --- a/spec/features/ticket_purchases_spec.rb +++ b/spec/features/ticket_purchases_spec.rb @@ -35,9 +35,10 @@ expect(current_path).to eq(conference_tickets_path(conference.short_title)) click_button 'Continue' - page.find('#flash') + expect(current_path).to eq(new_conference_payment_path(conference.short_title)) - expect(flash).to eq('Please pay here to get tickets.') + within('#flash') { expect(page).to have_text('Please pay here to get tickets.') } + purchase = TicketPurchase.where(user_id: participant.id, ticket_id: ticket.id).first expect(purchase.quantity).to eq(2) @@ -73,9 +74,10 @@ expect(current_path).to eq(conference_tickets_path(conference.short_title)) click_button 'Continue' - page.find('#flash') + expect(current_path).to eq(new_conference_payment_path(conference.short_title)) - expect(flash).to eq('Please pay here to get tickets.') + within('#flash') { expect(page).to have_text('Please pay here to get tickets.') } + purchase = TicketPurchase.where(user_id: participant.id, ticket_id: ticket.id).first expect(purchase.quantity).to eq(2) @@ -92,9 +94,8 @@ page.execute_script(%{ $('#submitButton').click(); }) sleep(20) end - page.find('#flash') expect(current_path).to eq(conference_payments_path(conference.short_title)) - expect(flash).to eq('Your card was declined. Please try again with correct credentials.') + within('#flash') { expect(page).to have_text('Your card was declined. Please try again with correct credentials.') } end end @@ -143,9 +144,9 @@ expect(current_path).to eq(conference_tickets_path(conference.short_title)) click_button 'Continue' - page.find('#flash') - expect(flash).to eq('Oops, something went wrong with your purchase! You cannot buy more than one registration tickets.') + expect(current_path).to eq(conference_tickets_path(conference.short_title)) + within('#flash') { expect(page).to have_text('Oops, something went wrong with your purchase! You cannot buy more than one registration tickets.') } end end @@ -164,9 +165,10 @@ expect(current_path).to eq(conference_tickets_path(conference.short_title)) click_button 'Continue' - page.find('#flash') + expect(current_path).to eq(new_conference_payment_path(conference.short_title)) - expect(flash).to eq('Please pay here to get tickets.') + within('#flash') { expect(page).to have_text('Please pay here to get tickets.') } + purchase = TicketPurchase.where(user_id: participant.id, ticket_id: ticket.id).first expect(purchase.quantity).to eq(2) diff --git a/spec/features/tickets_spec.rb b/spec/features/tickets_spec.rb index cb881400d..ed0f6d22e 100644 --- a/spec/features/tickets_spec.rb +++ b/spec/features/tickets_spec.rb @@ -24,8 +24,8 @@ fill_in 'ticket_price', with: '100' click_button 'Create Ticket' - page.find('#flash') - expect(flash).to eq('Ticket successfully created.') + + within('#flash') { expect(page).to have_text('Ticket successfully created.') } expect(Ticket.count).to eq(2) end @@ -41,8 +41,7 @@ click_button 'Update Ticket' - page.find('#flash') - expect(flash).to eq('Ticket successfully updated.') + within('#flash') { expect(page).to have_text('Ticket successfully updated.') } expect(ticket.reload.price.to_i).to eq(50) expect(ticket.reload.title).to eq('Event Ticket') expect(Ticket.count).to eq(2) @@ -52,8 +51,8 @@ visit admin_conference_tickets_path(conference.short_title) click_link('Delete', href: admin_conference_ticket_path(conference.short_title, ticket.id)) page.accept_alert - page.find('#flash') - expect(flash).to eq('Ticket successfully destroyed.') + + within('#flash') { expect(page).to have_text('Ticket successfully destroyed.') } expect(Ticket.count).to eq(1) end end diff --git a/spec/features/tracks_spec.rb b/spec/features/tracks_spec.rb index 7bebc19d1..2f64cbac9 100644 --- a/spec/features/tracks_spec.rb +++ b/spec/features/tracks_spec.rb @@ -19,11 +19,10 @@ fill_in 'track_name', with: 'Distribution' fill_in 'track_short_name', with: 'Distribution' click_button 'Create Track' - page.find('#flash') end expected.to change { Track.count }.by 1 - expect(flash).to eq('Track successfully created.') + within('#flash') { expect(page).to have_text('Track successfully created.') } within('table#tracks') do expect(page.has_content?('Distribution')).to be true end @@ -38,8 +37,8 @@ click_link 'Delete' end page.accept_alert - page.find('#flash') - expect(flash).to eq('Track successfully deleted.') + + within('#flash') { expect(page).to have_text('Track successfully deleted.') } expect(page.has_css?('table#tracks')).to be false expect(page.has_content?(track.name)).to be false expect(Track.count).to eq(0) @@ -59,10 +58,10 @@ fill_in 'track_short_name', with: 'Distribution' fill_in 'track_description', with: 'Events about our Linux distribution' click_button 'Update Track' - page.find('#flash') end expected.to_not(change { Track.count }) - expect(flash).to eq('Track successfully updated.') + + within('#flash') { expect(page).to have_text('Track successfully updated.') } within('table#tracks') do expect(page.has_content?('Distribution')).to be true expect(page.has_content?('Events about our Linux')).to be true @@ -84,11 +83,10 @@ fill_in 'track_description', with: 'Events about our Linux distribution' fill_in 'track_relevance', with: 'Maintainer of super awesome distribution' click_button 'Create Track' - page.find('#flash') end expected.to change { Track.count }.by 1 - expect(flash).to eq('Track request successfully created.') + within('#flash') { expect(page).to have_text('Track request successfully created.') } within('table#tracks') do expect(page.has_content?('Distribution')).to be true expect(page.has_content?('Events about our Linux dist...')).to be true @@ -105,11 +103,10 @@ accept_confirm do click_link 'Withdraw' end - page.find('#flash') end expected.to_not(change { Track.count }) - expect(flash).to eq("Track #{track.name} withdrawn.") + within('#flash') { expect(page).to have_text("Track #{track.name} withdrawn.") } within('table#tracks') do expect(page.has_content?(track.name)).to be true expect(page.has_link?('Re-Submit')).to be true @@ -128,11 +125,10 @@ fill_in 'track_short_name', with: 'Distribution' fill_in 'track_description', with: 'Events about our Linux distribution' click_button 'Update Track' - page.find('#flash') end expected.to_not(change { Track.count }) - expect(flash).to eq('Track request successfully updated.') + within('#flash') { expect(page).to have_text('Track request successfully updated.') } within('table#tracks') do expect(page.has_content?('Distribution')).to be true expect(page.has_content?('Events about our Linux dist...')).to be true diff --git a/spec/features/user_ability_spec.rb b/spec/features/user_ability_spec.rb index 6b957ec18..67f30cff6 100644 --- a/spec/features/user_ability_spec.rb +++ b/spec/features/user_ability_spec.rb @@ -14,9 +14,9 @@ scenario 'for administration views' do visit admin_conference_path(conference.short_title) - page.find('#flash') + expect(current_path).to eq root_path - expect(flash).to eq 'You are not authorized to access this page.' + within('#flash') { expect(page).to have_text('You are not authorized to access this page.') } end end end diff --git a/spec/features/user_spec.rb b/spec/features/user_spec.rb index 0bc07888d..e8855bed0 100644 --- a/spec/features/user_spec.rb +++ b/spec/features/user_spec.rb @@ -14,7 +14,8 @@ end fill_in 'Name', with: 'Edited Name' click_button 'Update User' - expect(flash).to include('Updated Edited Name') + + within('#flash') { expect(page).to have_text('Updated Edited Name') } end end diff --git a/spec/features/venues_spec.rb b/spec/features/venues_spec.rb index 430d45f97..1049f48e3 100644 --- a/spec/features/venues_spec.rb +++ b/spec/features/venues_spec.rb @@ -25,9 +25,9 @@ with: 'Lorem ipsum dolor sit amet, consetetur' \ 'sadipscing elitr, sed diam nonumy eirmod tempor' click_button 'Create Venue' - page.find('#flash') - expect(flash) - .to eq('Venue was successfully created.') + + within('#flash') { expect(page).to have_text('Venue was successfully created.') } + venue = Conference.find(conference.id).venue expect(venue.name).to eq('Example University') expect(venue.street).to eq('Example Street 42') @@ -41,13 +41,12 @@ fill_in 'venue_website', with: 'www.example.com new' fill_in 'venue_description', with: 'new' click_button 'Update Venue' - page.find('#flash') - expect(flash) - .to eq('Venue was successfully updated.') - venue.reload - expect(venue.name).to eq('Example University new') - expect(venue.website).to eq('www.example.com new') - expect(venue.description).to eq('new') + + within('#flash') { expect(page).to have_text('Venue was successfully updated.') } + + expect(venue.reload.name).to eq('Example University new') + expect(venue.reload.website).to eq('www.example.com new') + expect(venue.reload.description).to eq('new') end end diff --git a/spec/features/versions_spec.rb b/spec/features/versions_spec.rb index 6ed5ea18d..ed5f49e4c 100644 --- a/spec/features/versions_spec.rb +++ b/spec/features/versions_spec.rb @@ -20,8 +20,8 @@ fill_in 'contact_social_tag', with: 'example' fill_in 'contact_googleplus', with: 'http:\\www.google.com' click_button 'Update Contact' - page.find('#flash') - expect(flash).to eq('Contact details were successfully updated.') + + within('#flash') { expect(page).to have_text('Contact details were successfully updated.') } visit admin_revision_history_path expect(page).to have_text("#{organizer.name} updated social tag, email, googleplus and sponsor email of contact details in conference #{conference.short_title}") diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index a2a821d6d..bfecd870c 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -93,7 +93,6 @@ config.include OmniauthMacros config.include Devise::Test::ControllerHelpers, type: :controller config.include LoginMacros, type: :feature - config.include Flash, type: :feature config.include Sidebar, type: :view config.include Devise::Test::ControllerHelpers, type: :view diff --git a/spec/support/flash.rb b/spec/support/flash.rb deleted file mode 100644 index 410dfec3f..000000000 --- a/spec/support/flash.rb +++ /dev/null @@ -1,16 +0,0 @@ -# frozen_string_literal: true - -module Flash - def flash - results = all(:css, 'div#flash p') - if results.empty? - return 'none' - end - - if results.count > 1 - texts = results.map { |r| r.text } - fail "One flash expected, but we had #{texts.inspect}" - end - results.first.text - end -end From 14535d89ac4e3bc3b1bf740cb304955b4fe11347 Mon Sep 17 00:00:00 2001 From: Henne Vogelsang Date: Wed, 6 Aug 2025 13:23:29 +0200 Subject: [PATCH 254/325] Remove shared examples that are not shared... --- spec/features/tracks_spec.rb | 55 ++++++++++++++---------------------- 1 file changed, 21 insertions(+), 34 deletions(-) diff --git a/spec/features/tracks_spec.rb b/spec/features/tracks_spec.rb index 2f64cbac9..20941f6fa 100644 --- a/spec/features/tracks_spec.rb +++ b/spec/features/tracks_spec.rb @@ -7,22 +7,21 @@ let!(:organizer) { create(:organizer, resource: conference) } let(:user) { create(:user) } - shared_examples 'admin tracks' do + describe 'organizer' do scenario 'adds a track', feature: true, js: true do sign_in organizer - expected = expect do + expect do visit admin_conference_program_tracks_path(conference_id: conference.short_title) click_link 'New Track' fill_in 'track_name', with: 'Distribution' fill_in 'track_short_name', with: 'Distribution' click_button 'Create Track' - end + within('#flash') { expect(page).to have_text('Track successfully created.') } + end.to change { Track.count }.by 1 - expected.to change { Track.count }.by 1 - within('#flash') { expect(page).to have_text('Track successfully created.') } within('table#tracks') do expect(page.has_content?('Distribution')).to be true end @@ -48,7 +47,7 @@ create(:track, program_id: conference.program.id) sign_in organizer - expected = expect do + expect do visit admin_conference_program_tracks_path(conference_id: conference.short_title) within('#tracks', visible: true) do click_link 'Edit' @@ -58,10 +57,9 @@ fill_in 'track_short_name', with: 'Distribution' fill_in 'track_description', with: 'Events about our Linux distribution' click_button 'Update Track' - end - expected.to_not(change { Track.count }) + within('#flash') { expect(page).to have_text('Track successfully updated.') } + end.to_not(change { Track.count }) - within('#flash') { expect(page).to have_text('Track successfully updated.') } within('table#tracks') do expect(page.has_content?('Distribution')).to be true expect(page.has_content?('Events about our Linux')).to be true @@ -69,12 +67,16 @@ end end - shared_examples 'non admin tracks' do + describe 'signed in user' do + before :each do + create(:cfp, cfp_type: 'tracks', program: conference.program) + end + scenario 'adds a track', feature: true, js: true do sign_in user - expected = expect do + expect do visit conference_program_tracks_path(conference_id: conference.short_title) click_link 'New Track request' @@ -83,10 +85,9 @@ fill_in 'track_description', with: 'Events about our Linux distribution' fill_in 'track_relevance', with: 'Maintainer of super awesome distribution' click_button 'Create Track' - end + within('#flash') { expect(page).to have_text('Track request successfully created.') } + end.to change { Track.count }.by 1 - expected.to change { Track.count }.by 1 - within('#flash') { expect(page).to have_text('Track request successfully created.') } within('table#tracks') do expect(page.has_content?('Distribution')).to be true expect(page.has_content?('Events about our Linux dist...')).to be true @@ -97,16 +98,15 @@ track = create(:track, :self_organized, program_id: conference.program.id, submitter: user) sign_in user - expected = expect do + expect do visit conference_program_tracks_path(conference_id: conference.short_title) accept_confirm do click_link 'Withdraw' end - end + within('#flash') { expect(page).to have_text("Track #{track.name} withdrawn.") } + end.to_not(change { Track.count }) - expected.to_not(change { Track.count }) - within('#flash') { expect(page).to have_text("Track #{track.name} withdrawn.") } within('table#tracks') do expect(page.has_content?(track.name)).to be true expect(page.has_link?('Re-Submit')).to be true @@ -117,7 +117,7 @@ create(:track, :self_organized, program_id: conference.program.id, submitter: user) sign_in user - expected = expect do + expect do visit conference_program_tracks_path(conference_id: conference.short_title) click_link 'Edit' @@ -125,26 +125,13 @@ fill_in 'track_short_name', with: 'Distribution' fill_in 'track_description', with: 'Events about our Linux distribution' click_button 'Update Track' - end + within('#flash') { expect(page).to have_text('Track request successfully updated.') } + end.to_not(change { Track.count }) - expected.to_not(change { Track.count }) - within('#flash') { expect(page).to have_text('Track request successfully updated.') } within('table#tracks') do expect(page.has_content?('Distribution')).to be true expect(page.has_content?('Events about our Linux dist...')).to be true end end end - - describe 'organizer' do - it_behaves_like 'admin tracks' - end - - describe 'signed in user' do - before :each do - create(:cfp, cfp_type: 'tracks', program: conference.program) - end - - it_behaves_like 'non admin tracks' - end end From 5a1c267a5ea93a00963b121b0f06340e16f851d7 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Thu, 8 May 2025 16:25:08 +0000 Subject: [PATCH 255/325] Update rack to version 2.2.14 blah --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index d89d60b6c..be15029d5 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -397,7 +397,7 @@ GEM puma (6.5.0) nio4r (~> 2.0) racc (1.8.1) - rack (2.2.13) + rack (2.2.14) rack-openid (1.4.2) rack (>= 1.1.0) ruby-openid (>= 2.1.8) From 1e94dc27259da221f1b2047469ebfa9b13ad2e65 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Mon, 21 Jul 2025 20:14:53 +0000 Subject: [PATCH 256/325] Update thor to version 1.4.0 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index be15029d5..1d6839785 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -566,7 +566,7 @@ GEM stripe (> 5, < 6) sysexits (1.2.0) temple (0.10.3) - thor (1.3.2) + thor (1.4.0) tilt (2.4.0) timecop (0.9.10) timeout (0.4.3) From 6345ef2126c6d2d03becbaf44f0b3f8e99bf641c Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Mon, 21 Jul 2025 20:38:44 +0000 Subject: [PATCH 257/325] Update nokogiri to version 1.18.9 --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 1d6839785..d3cb7c04d 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -297,7 +297,7 @@ GEM rake mini_magick (4.13.2) mini_mime (1.1.5) - mini_portile2 (2.8.8) + mini_portile2 (2.8.9) minitest (5.25.4) monetize (1.13.0) money (~> 6.12) @@ -326,7 +326,7 @@ GEM next_rails (1.4.2) rainbow (>= 3) nio4r (2.7.4) - nokogiri (1.18.3) + nokogiri (1.18.9) mini_portile2 (~> 2.8.2) racc (~> 1.4) oauth2 (2.0.9) From d059e62b0594d66a697212d91dc745a65e31ca08 Mon Sep 17 00:00:00 2001 From: Henne Vogelsang Date: Wed, 6 Aug 2025 14:53:04 +0200 Subject: [PATCH 258/325] Update jquery-ui-rails to version 8.0.0 --- Gemfile | 2 +- Gemfile.lock | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile b/Gemfile index fd24ba87a..4e39c4055 100644 --- a/Gemfile +++ b/Gemfile @@ -83,7 +83,7 @@ gem 'cocoon' # as the JavaScript library gem 'jquery-rails' -gem 'jquery-ui-rails', '~> 6.0.1' +gem 'jquery-ui-rails' # for languages validation gem 'iso-639' diff --git a/Gemfile.lock b/Gemfile.lock index d3cb7c04d..d2f81fea2 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -253,7 +253,7 @@ GEM rails-dom-testing (>= 1, < 3) railties (>= 4.2.0) thor (>= 0.14, < 2.0) - jquery-ui-rails (6.0.1) + jquery-ui-rails (8.0.0) railties (>= 3.2.16) json (2.9.1) json-schema (5.1.1) @@ -655,7 +655,7 @@ DEPENDENCIES iso-639 jquery-datatables-rails jquery-rails - jquery-ui-rails (~> 6.0.1) + jquery-ui-rails json-schema leaflet-rails letter_opener From ee0f174578f0c549400def5769f622c37c3238f1 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Thu, 13 Feb 2025 17:50:35 +0000 Subject: [PATCH 259/325] Update erubi to version 1.13.1 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index d2f81fea2..1ee027004 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -182,7 +182,7 @@ GEM dotenv-rails (3.1.7) dotenv (= 3.1.7) railties (>= 6.1) - erubi (1.13.0) + erubi (1.13.1) execjs (2.10.0) factory_bot (6.5.0) activesupport (>= 5.0.0) From b2b592e026522a6f28b9480f455c533aa127c9ab Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Tue, 22 Apr 2025 12:45:54 +0000 Subject: [PATCH 260/325] Update ffi to version 1.17.2 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 1ee027004..da679edf4 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -203,7 +203,7 @@ GEM net-http (>= 0.5.0) fastimage (2.3.1) feature (1.4.0) - ffi (1.17.0) + ffi (1.17.2) font-awesome-sass (6.5.2) sassc (~> 2.0) geckodriver-helper (0.24.0) From 608d008e126bba99e3628b70ab8bf275b038cac5 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Sat, 7 Jun 2025 05:46:07 +0000 Subject: [PATCH 261/325] Update bigdecimal to version 3.2.2 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 1ee027004..794ebd2ea 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -94,7 +94,7 @@ GEM activerecord (>= 4.0.0, < 8.1) base64 (0.2.0) bcrypt (3.1.20) - bigdecimal (3.1.8) + bigdecimal (3.2.2) bindex (0.8.1) bootstrap-sass (3.4.1) autoprefixer-rails (>= 5.2.1) From edf0aad0c86fbf40fab618c5bf50ef46d43cd123 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Fri, 20 Jun 2025 17:50:58 +0000 Subject: [PATCH 262/325] Update net-imap to version 0.5.9 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 1ee027004..36d39f05e 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -314,7 +314,7 @@ GEM multipart-post (2.4.1) net-http (0.6.0) uri - net-imap (0.5.6) + net-imap (0.5.9) date net-protocol net-pop (0.1.2) From 8ae366e2151e29df9ec08c1b3f1bba31fe77cc97 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Tue, 5 Aug 2025 15:50:50 +0000 Subject: [PATCH 263/325] Update rexml to version 3.4.1 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 1ee027004..cbd5d34c6 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -451,7 +451,7 @@ GEM responders (3.1.1) actionpack (>= 5.2) railties (>= 5.2) - rexml (3.3.9) + rexml (3.4.1) rolify (6.0.1) rqrcode (2.2.0) chunky_png (~> 1.0) From eb662c96ed3e488b65be47ab1a8fe19121fc2d54 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Tue, 5 Aug 2025 15:50:41 +0000 Subject: [PATCH 264/325] Update webmock to version 3.25.1 --- Gemfile.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index f3b0a3816..e58d8b8dd 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -226,7 +226,7 @@ GEM rainbow rubocop (>= 1.0) sysexits (~> 1.1) - hashdiff (1.1.2) + hashdiff (1.2.0) hashery (2.1.2) hashie (5.0.0) htmlentities (4.3.4) @@ -393,7 +393,7 @@ GEM prawn-table prawn-table (0.2.2) prawn (>= 1.3.0, < 3.0.0) - public_suffix (6.0.1) + public_suffix (6.0.2) puma (6.5.0) nio4r (~> 2.0) racc (1.8.1) @@ -598,7 +598,7 @@ GEM nokogiri (~> 1.6) rubyzip (>= 1.3.0) selenium-webdriver (~> 4.0, < 4.11) - webmock (3.24.0) + webmock (3.25.1) addressable (>= 2.8.0) crack (>= 0.3.2) hashdiff (>= 0.4.0, < 2.0.0) From 7c55ae6aa60a5142c96bc5b25619b90c47289f9b Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Tue, 5 Aug 2025 15:51:05 +0000 Subject: [PATCH 265/325] Update json-schema to version 5.2.1 --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index f3b0a3816..d4fd46874 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -256,7 +256,7 @@ GEM jquery-ui-rails (8.0.0) railties (>= 3.2.16) json (2.9.1) - json-schema (5.1.1) + json-schema (5.2.1) addressable (~> 2.8) bigdecimal (~> 3.1) jsonapi-renderer (0.2.2) @@ -393,7 +393,7 @@ GEM prawn-table prawn-table (0.2.2) prawn (>= 1.3.0, < 3.0.0) - public_suffix (6.0.1) + public_suffix (6.0.2) puma (6.5.0) nio4r (~> 2.0) racc (1.8.1) From b78b1a319856fb880b3a1e14cf0fcc69632babf7 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Tue, 5 Aug 2025 15:51:07 +0000 Subject: [PATCH 266/325] Update autoprefixer-rails to version 10.4.21.0 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index f3b0a3816..575b3d788 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -88,7 +88,7 @@ GEM archive-zip (0.12.0) io-like (~> 0.3.0) ast (2.4.2) - autoprefixer-rails (10.4.19.0) + autoprefixer-rails (10.4.21.0) execjs (~> 2) awesome_nested_set (3.8.0) activerecord (>= 4.0.0, < 8.1) From 2ca8e14fe56295555f0c9c7dce0ff58aea91f5e7 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Wed, 6 Aug 2025 14:19:10 +0000 Subject: [PATCH 267/325] Update pg to version 1.6.1 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index f3b0a3816..b02895f3f 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -378,7 +378,7 @@ GEM hashery (~> 2.0) ruby-rc4 ttfunk - pg (1.5.9) + pg (1.6.1) prawn (2.5.0) matrix (~> 0.4) pdf-core (~> 0.10.0) From 5c963d60bea2c64a23ae713d8918451a69d7da4f Mon Sep 17 00:00:00 2001 From: Henne Vogelsang Date: Tue, 12 Aug 2025 16:43:44 +0200 Subject: [PATCH 268/325] Update rubocop and plugins --- .rubocop.yml | 2 +- Gemfile.lock | 72 ++++++++++++++++++++++++++++++---------------------- 2 files changed, 42 insertions(+), 32 deletions(-) diff --git a/.rubocop.yml b/.rubocop.yml index 5f06f1290..e37f209d6 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -1,4 +1,4 @@ -require: +plugins: - rubocop-rspec - rubocop-rspec_rails - rubocop-rails diff --git a/Gemfile.lock b/Gemfile.lock index f74adc4c9..ff184a6e7 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -87,7 +87,7 @@ GEM zeitwerk archive-zip (0.12.0) io-like (~> 0.3.0) - ast (2.4.2) + ast (2.4.3) autoprefixer-rails (10.4.21.0) execjs (~> 2) awesome_nested_set (3.8.0) @@ -145,7 +145,7 @@ GEM faraday-multipart (~> 1.0, >= 1.0.4) ostruct cocoon (1.2.15) - concurrent-ruby (1.3.4) + concurrent-ruby (1.3.5) countable-rails (0.0.1) railties (>= 3.1) crack (1.0.0) @@ -230,7 +230,7 @@ GEM hashery (2.1.2) hashie (5.0.0) htmlentities (4.3.4) - i18n (1.14.6) + i18n (1.14.7) concurrent-ruby (~> 1.0) i18n_data (1.1.0) simple_po_parser (~> 1.1) @@ -255,14 +255,14 @@ GEM thor (>= 0.14, < 2.0) jquery-ui-rails (8.0.0) railties (>= 3.2.16) - json (2.9.1) + json (2.13.2) json-schema (5.2.1) addressable (~> 2.8) bigdecimal (~> 3.1) jsonapi-renderer (0.2.2) jwt (2.9.3) base64 - language_server-protocol (3.17.0.3) + language_server-protocol (3.17.0.5) launchy (3.0.1) addressable (~> 2.8) childprocess (~> 5.0) @@ -276,6 +276,7 @@ GEM letter_opener (~> 1.9) railties (>= 6.1) rexml + lint_roller (1.1.0) logger (1.6.3) lograge (0.14.0) actionpack (>= 4) @@ -298,7 +299,7 @@ GEM mini_magick (4.13.2) mini_mime (1.1.5) mini_portile2 (2.8.9) - minitest (5.25.4) + minitest (5.25.5) monetize (1.13.0) money (~> 6.12) money (6.19.0) @@ -365,8 +366,8 @@ GEM paper_trail (16.0.0) activerecord (>= 6.1) request_store (~> 1.4) - parallel (1.26.3) - parser (3.3.6.0) + parallel (1.27.0) + parser (3.3.9.0) ast (~> 2.4.1) racc pdf-core (0.10.0) @@ -393,11 +394,12 @@ GEM prawn-table prawn-table (0.2.2) prawn (>= 1.3.0, < 3.0.0) + prism (1.4.0) public_suffix (6.0.2) puma (6.5.0) nio4r (~> 2.0) racc (1.8.1) - rack (2.2.14) + rack (2.2.17) rack-openid (1.4.2) rack (>= 1.1.0) ruby-openid (>= 2.1.8) @@ -445,7 +447,7 @@ GEM rake (13.2.1) recaptcha (5.18.0) redcarpet (3.6.0) - regexp_parser (2.9.3) + regexp_parser (2.11.1) request_store (1.7.0) rack (>= 1.4) responders (3.1.1) @@ -478,35 +480,43 @@ GEM rspec-mocks (~> 3.13) rspec-support (~> 3.13) rspec-support (3.13.2) - rubocop (1.69.2) + rubocop (1.79.2) json (~> 2.3) - language_server-protocol (>= 3.17.0) + language_server-protocol (~> 3.17.0.2) + lint_roller (~> 1.1.0) parallel (~> 1.10) parser (>= 3.3.0.2) rainbow (>= 2.2.2, < 4.0) regexp_parser (>= 2.9.3, < 3.0) - rubocop-ast (>= 1.36.2, < 2.0) + rubocop-ast (>= 1.46.0, < 2.0) ruby-progressbar (~> 1.7) unicode-display_width (>= 2.4.0, < 4.0) - rubocop-ast (1.37.0) - parser (>= 3.3.1.0) - rubocop-capybara (2.21.0) - rubocop (~> 1.41) - rubocop-factory_bot (2.26.1) - rubocop (~> 1.61) - rubocop-performance (1.23.0) - rubocop (>= 1.48.1, < 2.0) - rubocop-ast (>= 1.31.1, < 2.0) - rubocop-rails (2.27.0) + rubocop-ast (1.46.0) + parser (>= 3.3.7.2) + prism (~> 1.4) + rubocop-capybara (2.22.1) + lint_roller (~> 1.1) + rubocop (~> 1.72, >= 1.72.1) + rubocop-factory_bot (2.27.1) + lint_roller (~> 1.1) + rubocop (~> 1.72, >= 1.72.1) + rubocop-performance (1.25.0) + lint_roller (~> 1.1) + rubocop (>= 1.75.0, < 2.0) + rubocop-ast (>= 1.38.0, < 2.0) + rubocop-rails (2.33.1) activesupport (>= 4.2.0) + lint_roller (~> 1.1) rack (>= 1.1) - rubocop (>= 1.52.0, < 2.0) - rubocop-ast (>= 1.31.1, < 2.0) - rubocop-rspec (3.3.0) - rubocop (~> 1.61) - rubocop-rspec_rails (2.30.0) - rubocop (~> 1.61) - rubocop-rspec (~> 3, >= 3.0.1) + rubocop (>= 1.75.0, < 2.0) + rubocop-ast (>= 1.44.0, < 2.0) + rubocop-rspec (3.6.0) + lint_roller (~> 1.1) + rubocop (~> 1.72, >= 1.72.1) + rubocop-rspec_rails (2.31.0) + lint_roller (~> 1.1) + rubocop (~> 1.72, >= 1.72.1) + rubocop-rspec (~> 3.5) ruby-oembed (0.18.1) ruby-openid (2.9.2) ruby-progressbar (1.13.0) @@ -580,7 +590,7 @@ GEM concurrent-ruby (~> 1.0) uglifier (4.2.1) execjs (>= 0.3.0, < 3) - unicode-display_width (3.1.2) + unicode-display_width (3.1.4) unicode-emoji (~> 4.0, >= 4.0.4) unicode-emoji (4.0.4) unobtrusive_flash (3.3.1) From deda3d42739f87b0a5153b9f2d2b8f9a49407986 Mon Sep 17 00:00:00 2001 From: Henne Vogelsang Date: Tue, 12 Aug 2025 16:44:06 +0200 Subject: [PATCH 269/325] Update Rubocop TODO --- .rubocop_todo.yml | 188 ++++++++++++++++++++++++++-------------------- 1 file changed, 105 insertions(+), 83 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 0d79098f0..f5ce0be76 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -1,6 +1,6 @@ # This configuration was generated by # `rubocop --auto-gen-config` -# on 2024-12-02 11:47:52 UTC using RuboCop version 1.66.1. +# on 2025-08-12 13:33:30 UTC using RuboCop version 1.79.2. # The point is for the user to remove these configuration records # one by one as the offenses are removed from the code base. # Note that changes in the inspected code, or installation of new @@ -14,13 +14,7 @@ Bundler/OrderedGems: Exclude: - 'Gemfile' -# Offense count: 151 -# Configuration parameters: EnforcedStyle. -# SupportedStyles: link_or_button, strict -Capybara/ClickLinkOrButtonStyle: - Enabled: false - -# Offense count: 280 +# Offense count: 279 # This cop supports safe autocorrection (--autocorrect). Capybara/CurrentPathExpectation: Exclude: @@ -36,7 +30,7 @@ Capybara/CurrentPathExpectation: - 'spec/features/track_organizer_ability_spec.rb' - 'spec/features/user_ability_spec.rb' -# Offense count: 13 +# Offense count: 12 # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: DefaultSelector. Capybara/RSpec/HaveSelector: @@ -49,10 +43,14 @@ Capybara/RSpec/HaveSelector: - 'spec/features/track_organizer_ability_spec.rb' - 'spec/features/voting_spec.rb' -# Offense count: 78 +# Offense count: 17 # This cop supports safe autocorrection (--autocorrect). Capybara/SpecificFinders: - Enabled: false + Exclude: + - 'spec/features/difficulty_levels_spec.rb' + - 'spec/features/email_spec.rb' + - 'spec/features/event_types_spec.rb' + - 'spec/features/program_spec.rb' # Offense count: 1 Capybara/SpecificMatcher: @@ -209,7 +207,7 @@ Layout/IndentationWidth: # Offense count: 2 # This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: AllowDoxygenCommentStyle, AllowGemfileRubyComment. +# Configuration parameters: AllowDoxygenCommentStyle, AllowGemfileRubyComment, AllowRBSInlineAnnotation, AllowSteepAnnotation. Layout/LeadingCommentSpace: Exclude: - 'app/models/comment.rb' @@ -270,14 +268,27 @@ Layout/MultilineHashBraceLayout: Layout/MultilineMethodCallBraceLayout: Enabled: false -# Offense count: 38 +# Offense count: 32 # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: EnforcedStyle, IndentationWidth. # SupportedStyles: aligned, indented, indented_relative_to_receiver Layout/MultilineMethodCallIndentation: - Enabled: false + Exclude: + - 'app/controllers/admin/conferences_controller.rb' + - 'app/controllers/admin/reports_controller.rb' + - 'app/controllers/conference_registrations_controller.rb' + - 'app/datatables/user_datatable.rb' + - 'app/helpers/application_helper.rb' + - 'app/models/cfp.rb' + - 'app/models/conference.rb' + - 'app/models/event.rb' + - 'app/models/registration_period.rb' + - 'spec/controllers/admin/conferences_controller_spec.rb' + - 'spec/controllers/schedules_controller_spec.rb' + - 'spec/models/conference_spec.rb' + - 'spec/support/external_request.rb' -# Offense count: 18 +# Offense count: 15 # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: EnforcedStyle, IndentationWidth. # SupportedStyles: aligned, indented @@ -448,7 +459,7 @@ Lint/AmbiguousBlockAssociation: - 'spec/controllers/schedules_controller_spec.rb' - 'spec/models/user_spec.rb' -# Offense count: 13 +# Offense count: 11 # This cop supports safe autocorrection (--autocorrect). Lint/AmbiguousOperatorPrecedence: Exclude: @@ -468,7 +479,7 @@ Lint/ConstantDefinitionInBlock: - 'lib/tasks/data.rake' # Offense count: 5 -# Configuration parameters: IgnoreLiteralBranches, IgnoreConstantBranches. +# Configuration parameters: IgnoreLiteralBranches, IgnoreConstantBranches, IgnoreDuplicateElseBranch. Lint/DuplicateBranch: Exclude: - 'app/helpers/format_helper.rb' @@ -501,7 +512,8 @@ Lint/UnusedBlockArgument: # Offense count: 2 # This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: AutoCorrect, AllowUnusedKeywordArguments, IgnoreEmptyMethods, IgnoreNotImplementedMethods. +# Configuration parameters: AutoCorrect, AllowUnusedKeywordArguments, IgnoreEmptyMethods, IgnoreNotImplementedMethods, NotImplementedExceptions. +# NotImplementedExceptions: NotImplementedError Lint/UnusedMethodArgument: Exclude: - 'app/helpers/application_helper.rb' @@ -514,7 +526,7 @@ Lint/UriRegexp: - 'app/models/commercial.rb' - 'app/models/contact.rb' -# Offense count: 125 +# Offense count: 124 # Configuration parameters: AllowedMethods, AllowedPatterns, CountRepeatedAttributes. Metrics/AbcSize: Max: 70 @@ -533,14 +545,14 @@ Metrics/BlockNesting: # Offense count: 14 # Configuration parameters: CountComments, CountAsOne. Metrics/ClassLength: - Max: 649 + Max: 646 -# Offense count: 25 +# Offense count: 24 # Configuration parameters: AllowedMethods, AllowedPatterns. Metrics/CyclomaticComplexity: Max: 16 -# Offense count: 151 +# Offense count: 150 # Configuration parameters: CountComments, CountAsOne, AllowedMethods, AllowedPatterns. Metrics/MethodLength: Max: 56 @@ -548,7 +560,7 @@ Metrics/MethodLength: # Offense count: 5 # Configuration parameters: CountComments, CountAsOne. Metrics/ModuleLength: - Max: 174 + Max: 166 # Offense count: 21 # Configuration parameters: AllowedMethods, AllowedPatterns. @@ -576,13 +588,23 @@ Naming/MethodParameterName: Exclude: - 'app/models/conference.rb' +# Offense count: 3 +# Configuration parameters: Mode, AllowedMethods, AllowedPatterns, AllowBangMethods, WaywardPredicates. +# AllowedMethods: call +# WaywardPredicates: nonzero? +Naming/PredicateMethod: + Exclude: + - 'app/helpers/conference_helper.rb' + - 'app/helpers/format_helper.rb' + - 'config/initializers/fuckups.rb' + # Offense count: 2 -# Configuration parameters: NamePrefix, ForbiddenPrefixes, AllowedMethods, MethodDefinitionMacros. -# NamePrefix: is_, has_, have_ -# ForbiddenPrefixes: is_, has_, have_ +# Configuration parameters: NamePrefix, ForbiddenPrefixes, AllowedMethods, MethodDefinitionMacros, UseSorbetSigs. +# NamePrefix: is_, has_, have_, does_ +# ForbiddenPrefixes: is_, has_, have_, does_ # AllowedMethods: is_a? # MethodDefinitionMacros: define_method, define_singleton_method -Naming/PredicateName: +Naming/PredicatePrefix: Exclude: - 'app/models/comment.rb' - 'app/models/contact.rb' @@ -598,7 +620,7 @@ Naming/RescuedExceptionsVariableName: # Offense count: 9 # Configuration parameters: EnforcedStyle, CheckMethodNames, CheckSymbols, AllowedIdentifiers, AllowedPatterns. # SupportedStyles: snake_case, normalcase, non_integer -# AllowedIdentifiers: capture3, iso8601, rfc1123_date, rfc822, rfc2822, rfc3339, x86_64 +# AllowedIdentifiers: TLS1_1, TLS1_2, capture3, iso8601, rfc1123_date, rfc822, rfc2822, rfc3339, x86_64 Naming/VariableNumber: Exclude: - 'app/models/program.rb' @@ -606,11 +628,12 @@ Naming/VariableNumber: - 'spec/models/payment_spec.rb' - 'spec/models/ticket_purchase_spec.rb' -# Offense count: 1 +# Offense count: 2 # Configuration parameters: MinSize. Performance/CollectionLiteralInLoop: Exclude: - 'app/models/conference.rb' + - 'db/migrate/20140730104658_migrate_roles_for_cancancan.rb' # Offense count: 4 # This cop supports unsafe autocorrection (--autocorrect-all). @@ -651,7 +674,7 @@ RSpec/BeEmpty: - 'spec/controllers/conference_registration_controller_spec.rb' - 'spec/models/conference_spec.rb' -# Offense count: 302 +# Offense count: 298 # Configuration parameters: Prefixes, AllowedPatterns. # Prefixes: when, with, without RSpec/ContextWording: @@ -735,7 +758,7 @@ RSpec/EmptyLineAfterSubject: - 'spec/models/survey_spec.rb' - 'spec/models/track_spec.rb' -# Offense count: 202 +# Offense count: 179 # Configuration parameters: CountAsOne. RSpec/ExampleLength: Max: 181 @@ -774,7 +797,7 @@ RSpec/ExpectChange: - 'spec/models/event_spec.rb' - 'spec/models/user_spec.rb' -# Offense count: 166 +# Offense count: 167 # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: EnforcedStyle. # SupportedStyles: implicit, each, example @@ -834,7 +857,7 @@ RSpec/IndexedLet: - 'spec/models/ticket_spec.rb' - 'spec/models/user_spec.rb' -# Offense count: 321 +# Offense count: 320 # Configuration parameters: AssignmentOnly. RSpec/InstanceVariable: Exclude: @@ -862,7 +885,7 @@ RSpec/LeadingSubject: - 'spec/models/conference_spec.rb' - 'spec/models/ticket_spec.rb' -# Offense count: 56 +# Offense count: 57 RSpec/LetSetup: Enabled: false @@ -880,7 +903,7 @@ RSpec/MatchArray: RSpec/MessageSpies: EnforcedStyle: receive -# Offense count: 225 +# Offense count: 138 # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: EnforcedStyle. # SupportedStyles: hash, symbol @@ -892,11 +915,11 @@ RSpec/MultipleDescribes: Exclude: - 'spec/models/conference_spec.rb' -# Offense count: 251 +# Offense count: 229 RSpec/MultipleExpectations: Max: 94 -# Offense count: 218 +# Offense count: 212 # Configuration parameters: AllowSubject. RSpec/MultipleMemoizedHelpers: Max: 31 @@ -911,7 +934,7 @@ RSpec/NamedSubject: - 'spec/models/room_spec.rb' - 'spec/models/track_spec.rb' -# Offense count: 202 +# Offense count: 198 # Configuration parameters: AllowedGroups. RSpec/NestedGroups: Max: 7 @@ -925,7 +948,7 @@ RSpec/NoExpectationExample: - 'spec/controllers/admin/registration_periods_controller_spec.rb' - 'spec/features/voting_spec.rb' -# Offense count: 78 +# Offense count: 24 # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: EnforcedStyle. # SupportedStyles: not_to, to_not @@ -936,11 +959,6 @@ RSpec/NotToNot: - 'spec/controllers/admin/registration_periods_controller_spec.rb' - 'spec/controllers/admin/ticket_scannings_controller_spec.rb' - 'spec/controllers/booths_controller_spec.rb' - - 'spec/features/cfp_ability_spec.rb' - - 'spec/features/info_desk_ability_spec.rb' - - 'spec/features/organizer_ability_spec.rb' - - 'spec/features/sponsor_spec.rb' - - 'spec/features/track_organizer_ability_spec.rb' - 'spec/features/tracks_spec.rb' - 'spec/models/program_spec.rb' - 'spec/models/track_spec.rb' @@ -996,7 +1014,7 @@ RSpec/ScatteredSetup: Exclude: - 'spec/models/payment_spec.rb' -# Offense count: 30 +# Offense count: 1 # This cop supports safe autocorrection (--autocorrect). RSpec/SortMetadata: Exclude: @@ -1082,7 +1100,7 @@ RSpecRails/InferredSpecType: # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: ExpectedOrder, Include. # ExpectedOrder: index, show, new, edit, create, update, destroy -# Include: app/controllers/**/*.rb +# Include: **/app/controllers/**/*.rb Rails/ActionOrder: Enabled: false @@ -1098,7 +1116,7 @@ Rails/ActiveRecordAliases: # Offense count: 3 # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: Include. -# Include: app/models/**/*.rb +# Include: **/app/models/**/*.rb Rails/ActiveRecordCallbacksOrder: Exclude: - 'app/models/event.rb' @@ -1117,10 +1135,15 @@ Rails/ApplicationMailer: Exclude: - 'app/mailers/mailbot.rb' -# Offense count: 129 +# Offense count: 5 # This cop supports unsafe autocorrection (--autocorrect-all). Rails/ApplicationRecord: - Enabled: false + Exclude: + - 'app/models/survey.rb' + - 'app/models/survey_question.rb' + - 'app/models/survey_reply.rb' + - 'app/models/survey_submission.rb' + - 'lib/tasks/data.rake' # Offense count: 10 # This cop supports unsafe autocorrection (--autocorrect-all). @@ -1233,7 +1256,7 @@ Rails/EagerEvaluationLogMessage: # Offense count: 3 # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: Include. -# Include: app/models/**/*.rb +# Include: **/app/models/**/*.rb Rails/EnumHash: Exclude: - 'app/models/conference.rb' @@ -1262,7 +1285,7 @@ Rails/FindEach: # Offense count: 6 # Configuration parameters: Include. -# Include: app/models/**/*.rb +# Include: **/app/models/**/*.rb Rails/HasAndBelongsToMany: Exclude: - 'app/models/conference.rb' @@ -1273,13 +1296,13 @@ Rails/HasAndBelongsToMany: # Offense count: 24 # Configuration parameters: Include. -# Include: app/models/**/*.rb +# Include: **/app/models/**/*.rb Rails/HasManyOrHasOneDependent: Enabled: false # Offense count: 5 # Configuration parameters: Include. -# Include: app/helpers/**/*.rb +# Include: **/app/helpers/**/*.rb Rails/HelperInstanceVariable: Exclude: - 'app/helpers/application_helper.rb' @@ -1305,7 +1328,7 @@ Rails/I18nLocaleTexts: # Offense count: 7 # Configuration parameters: IgnoreScopes, Include. -# Include: app/models/**/*.rb +# Include: **/app/models/**/*.rb Rails/InverseOf: Exclude: - 'app/models/booth.rb' @@ -1315,7 +1338,7 @@ Rails/InverseOf: # Offense count: 1 # Configuration parameters: Include. -# Include: app/controllers/**/*.rb, app/mailers/**/*.rb +# Include: **/app/controllers/**/*.rb, **/app/mailers/**/*.rb Rails/LexicallyScopedActionFilter: Exclude: - 'app/controllers/registrations_controller.rb' @@ -1329,7 +1352,7 @@ Rails/LinkToBlank: # Offense count: 1 # This cop supports unsafe autocorrection (--autocorrect-all). # Configuration parameters: Include. -# Include: app/mailers/**/*.rb +# Include: **/app/mailers/**/*.rb Rails/MailerName: Exclude: - 'app/mailers/mailbot.rb' @@ -1437,7 +1460,7 @@ Rails/ReversibleMigration: - 'db/migrate/20170720134353_make_track_cfp_active_not_null.rb' - 'db/migrate/20171118113113_change_visit_id_type_of_ahoy_events_to_integer.rb' -# Offense count: 48 +# Offense count: 41 # Configuration parameters: ForbiddenMethods, AllowedMethods. # ForbiddenMethods: decrement!, decrement_counter, increment!, increment_counter, insert, insert!, insert_all, insert_all!, toggle!, touch, touch_all, update_all, update_attribute, update_column, update_columns, update_counters, upsert, upsert_all Rails/SkipsModelValidations: @@ -1474,7 +1497,7 @@ Rails/TopLevelHashWithIndifferentAccess: # Offense count: 12 # Configuration parameters: Include. -# Include: app/models/**/*.rb +# Include: **/app/models/**/*.rb Rails/UniqueValidationWithoutIndex: Exclude: - 'app/models/booth.rb' @@ -1583,7 +1606,7 @@ Style/ConditionalAssignment: - 'db/migrate/20140610165551_migrate_data_person_to_user.rb' - 'db/migrate/20140820124117_undo_wrong_migration20140801080705_add_users_to_events.rb' -# Offense count: 517 +# Offense count: 518 # Configuration parameters: AllowedConstants. Style/Documentation: Enabled: false @@ -1628,7 +1651,7 @@ Style/ExpandPathArguments: Exclude: - 'spec/spec_helper.rb' -# Offense count: 38 +# Offense count: 39 # This cop supports unsafe autocorrection (--autocorrect-all). # Configuration parameters: EnforcedStyle. # SupportedStyles: always, always_true, never @@ -1671,13 +1694,17 @@ Style/HashLikeCase: Exclude: - 'app/helpers/versions_helper.rb' -# Offense count: 346 +# Offense count: 7 # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: EnforcedStyle, EnforcedShorthandSyntax, UseHashRocketsWithSymbolValues, PreferHashRocketsForNonAlnumEndingSymbols. # SupportedStyles: ruby19, hash_rockets, no_mixed_keys, ruby19_no_mixed_keys # SupportedShorthandSyntax: always, never, either, consistent, either_consistent Style/HashSyntax: - Enabled: false + Exclude: + - 'Gemfile' + - 'app/views/admin/events/events.xlsx.axlsx' + - 'app/views/admin/registrations/index.xlsx.axlsx' + - 'lib/tasks/user.rake' # Offense count: 2 # This cop supports unsafe autocorrection (--autocorrect-all). @@ -1686,7 +1713,7 @@ Style/HashTransformValues: - 'app/controllers/admin/comments_controller.rb' - 'app/helpers/chart_helper.rb' -# Offense count: 56 +# Offense count: 54 # This cop supports safe autocorrection (--autocorrect). Style/IfUnlessModifier: Enabled: false @@ -1749,7 +1776,7 @@ Style/NestedParenthesizedCalls: # Offense count: 27 # This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: EnforcedStyle, MinBodyLength. +# Configuration parameters: EnforcedStyle, MinBodyLength, AllowConsecutiveConditionals. # SupportedStyles: skip_modifier_ifs, always Style/Next: Enabled: false @@ -1768,19 +1795,18 @@ Style/NumericLiteralPrefix: - 'spec/serializers/conference_serializer_spec.rb' - 'spec/serializers/event_serializer_spec.rb' -# Offense count: 7 +# Offense count: 6 # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: Strict, AllowedNumbers, AllowedPatterns. Style/NumericLiterals: MinDigits: 15 -# Offense count: 36 +# Offense count: 27 # This cop supports unsafe autocorrection (--autocorrect-all). # Configuration parameters: EnforcedStyle, AllowedMethods, AllowedPatterns. # SupportedStyles: predicate, comparison Style/NumericPredicate: Exclude: - - 'app/controllers/admin/conferences_controller.rb' - 'app/helpers/application_helper.rb' - 'app/helpers/date_time_helper.rb' - 'app/helpers/format_helper.rb' @@ -1790,8 +1816,6 @@ Style/NumericPredicate: - 'app/models/program.rb' - 'app/models/registration.rb' - 'app/models/ticket_purchase.rb' - - 'app/models/user.rb' - - 'lib/tasks/events_registrations.rake' # Offense count: 3 Style/OptionalArguments: @@ -1813,14 +1837,13 @@ Style/OrAssignment: Exclude: - 'app/controllers/schedules_controller.rb' -# Offense count: 3 +# Offense count: 2 # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: AllowSafeAssignment, AllowInMultilineConditions. Style/ParenthesesAroundCondition: Exclude: - 'app/controllers/admin/base_controller.rb' - 'app/controllers/application_controller.rb' - - 'app/helpers/format_helper.rb' # Offense count: 17 # This cop supports safe autocorrection (--autocorrect). @@ -1849,7 +1872,7 @@ Style/PreferredHashMethods: Exclude: - 'lib/tasks/migrate_config.rake' -# Offense count: 6 +# Offense count: 7 # This cop supports unsafe autocorrection (--autocorrect-all). # Configuration parameters: AllowedCompactTypes. # SupportedStyles: compact, exploded @@ -1862,7 +1885,7 @@ Style/RandomWithOffset: Exclude: - 'spec/factories/sponsors.rb' -# Offense count: 3 +# Offense count: 2 # This cop supports safe autocorrection (--autocorrect). Style/RedundantAssignment: Exclude: @@ -1871,6 +1894,8 @@ Style/RedundantAssignment: # Offense count: 2 # This cop supports safe autocorrection (--autocorrect). +# Configuration parameters: AllowedMethods. +# AllowedMethods: nonzero? Style/RedundantCondition: Exclude: - 'app/helpers/versions_helper.rb' @@ -1896,14 +1921,13 @@ Style/RedundantFilterChain: Exclude: - 'app/models/program.rb' -# Offense count: 12 +# Offense count: 11 # This cop supports safe autocorrection (--autocorrect). Style/RedundantParentheses: Exclude: - 'app/controllers/admin/base_controller.rb' - 'app/controllers/application_controller.rb' - 'app/helpers/application_helper.rb' - - 'app/helpers/format_helper.rb' - 'app/models/admin_ability.rb' - 'app/models/conference.rb' - 'app/models/program.rb' @@ -1941,14 +1965,13 @@ Style/RescueStandardError: - 'app/controllers/users/omniauth_callbacks_controller.rb' - 'lib/tasks/migrate_config.rake' -# Offense count: 3 +# Offense count: 2 # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: EnforcedStyle. # SupportedStyles: only_raise, only_fail, semantic Style/SignalException: Exclude: - 'lib/tasks/user.rake' - - 'spec/support/flash.rb' # Offense count: 6 # This cop supports safe autocorrection (--autocorrect). @@ -2013,7 +2036,7 @@ Style/StringLiteralsInInterpolation: Style/SymbolArray: Enabled: false -# Offense count: 10 +# Offense count: 9 # This cop supports unsafe autocorrection (--autocorrect-all). # Configuration parameters: AllowMethodsWithArguments, AllowedMethods, AllowedPatterns, AllowComments. # AllowedMethods: define_method, mail, respond_to @@ -2025,7 +2048,6 @@ Style/SymbolProc: - 'app/models/admin_ability.rb' - 'db/migrate/20140730104658_migrate_roles_for_cancancan.rb' - 'spec/controllers/admin/conferences_controller_spec.rb' - - 'spec/support/flash.rb' # Offense count: 2 # This cop supports safe autocorrection (--autocorrect). @@ -2038,13 +2060,13 @@ Style/TernaryParentheses: # Offense count: 21 # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: EnforcedStyleForMultiline. -# SupportedStylesForMultiline: comma, consistent_comma, no_comma +# SupportedStylesForMultiline: comma, consistent_comma, diff_comma, no_comma Style/TrailingCommaInHashLiteral: Exclude: - 'db/migrate/20140701123203_add_events_per_week_to_conference.rb' - 'spec/models/conference_spec.rb' -# Offense count: 3 +# Offense count: 10 # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: WordRegex. # SupportedStyles: percent, brackets @@ -2052,9 +2074,9 @@ Style/WordArray: EnforcedStyle: percent MinSize: 6 -# Offense count: 497 +# Offense count: 431 # This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, AllowedPatterns. +# Configuration parameters: AllowHeredoc, AllowURI, AllowQualifiedName, URISchemes, IgnoreCopDirectives, AllowedPatterns, SplitStrings. # URISchemes: http, https Layout/LineLength: Max: 619 From 988b3bf6891e083434c1d9f17cf99e3b36bc7ff8 Mon Sep 17 00:00:00 2001 From: Henne Vogelsang Date: Tue, 12 Aug 2025 16:44:20 +0200 Subject: [PATCH 270/325] Autocorrect new rubocop offenses --- .../admin/conferences_controller.rb | 2 +- app/controllers/admin/roles_controller.rb | 2 +- .../admin/volunteers_controller.rb | 1 + app/controllers/application_controller.rb | 1 + app/controllers/conferences_controller.rb | 6 +++--- app/helpers/events_helper.rb | 2 +- app/models/admin_ability.rb | 10 +++++----- app/models/booth.rb | 1 + app/models/comment.rb | 4 ++-- app/models/conference.rb | 19 ++++++++++--------- app/models/event.rb | 1 + app/models/event_schedule.rb | 4 ++-- app/models/room.rb | 1 + app/models/survey.rb | 2 +- app/models/ticket.rb | 2 +- app/models/ticket_purchase.rb | 2 -- app/models/track.rb | 4 ++-- app/models/user.rb | 7 ++++--- ...40730104658_migrate_roles_for_cancancan.rb | 2 +- ...94819_move_conferences_to_organizations.rb | 2 +- lib/tasks/data_demo.rake | 1 + lib/tasks/events_registrations.rake | 4 ++-- spec/mailers/mailbot_spec.rb | 8 ++++---- spec/support/login_macros.rb | 1 + 24 files changed, 48 insertions(+), 41 deletions(-) diff --git a/app/controllers/admin/conferences_controller.rb b/app/controllers/admin/conferences_controller.rb index cafc2b321..1def3c5b7 100644 --- a/app/controllers/admin/conferences_controller.rb +++ b/app/controllers/admin/conferences_controller.rb @@ -8,7 +8,7 @@ class ConferencesController < Admin::BaseController def index # Redirect to new form if there is no conference - if Conference.count == 0 + if Conference.none? redirect_to new_admin_conference_path return end diff --git a/app/controllers/admin/roles_controller.rb b/app/controllers/admin/roles_controller.rb index ca455dce8..d69e1ab11 100644 --- a/app/controllers/admin/roles_controller.rb +++ b/app/controllers/admin/roles_controller.rb @@ -69,7 +69,7 @@ def toggle_user end # The conference must have at least 1 organizer - if @role.name == 'organizer' && state == 'false' && @role.users.count == 1 + if @role.name == 'organizer' && state == 'false' && @role.users.one? redirect_to admin_conference_role_path(@conference.short_title, @role.name), error: 'The conference must have at least 1 organizer!' return diff --git a/app/controllers/admin/volunteers_controller.rb b/app/controllers/admin/volunteers_controller.rb index b0b85ffcd..356293454 100644 --- a/app/controllers/admin/volunteers_controller.rb +++ b/app/controllers/admin/volunteers_controller.rb @@ -3,6 +3,7 @@ module Admin class VolunteersController < Admin::BaseController include VolunteersHelper + load_and_authorize_resource :conference, find_by: :short_title def index diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index 93105587a..315c4e307 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -3,6 +3,7 @@ class ApplicationController < ActionController::Base before_action :set_paper_trail_whodunnit include ApplicationHelper + add_flash_types :error protect_from_forgery with: :exception, prepend: true before_action :store_location diff --git a/app/controllers/conferences_controller.rb b/app/controllers/conferences_controller.rb index 8a4262f19..43809551b 100644 --- a/app/controllers/conferences_controller.rb +++ b/app/controllers/conferences_controller.rb @@ -50,14 +50,14 @@ def show ).order('tracks.name') end if splashpage.include_booths - @booths = @conference.confirmed_booths.order('title') + @booths = @conference.confirmed_booths.order(:title) end end if splashpage.include_registrations || splashpage.include_tickets - @tickets = @conference.tickets.order('price_cents') + @tickets = @conference.tickets.order(:price_cents) end if splashpage.include_lodgings - @lodgings = @conference.lodgings.order('name') + @lodgings = @conference.lodgings.order(:name) end if splashpage.include_sponsors @sponsorship_levels = @conference.sponsorship_levels.eager_load( diff --git a/app/helpers/events_helper.rb b/app/helpers/events_helper.rb index ddb16e4ca..b27683172 100644 --- a/app/helpers/events_helper.rb +++ b/app/helpers/events_helper.rb @@ -39,7 +39,7 @@ def replacement_event_notice(event_schedule) end def canceled_replacement_event_label(event, event_schedule, *label_classes) - if event.state == 'canceled' || event.state == 'withdrawn' + if ['canceled', 'withdrawn'].include?(event.state) content_tag :span, 'CANCELED', class: (['label', 'label-danger'] + label_classes) elsif event_schedule.present? && event_schedule.replacement?(@withdrawn_event_schedules) content_tag :span, 'REPLACEMENT', class: (['label', 'label-info'] + label_classes) diff --git a/app/models/admin_ability.rb b/app/models/admin_ability.rb index 67bf6cfe5..34bccc517 100644 --- a/app/models/admin_ability.rb +++ b/app/models/admin_ability.rb @@ -141,7 +141,7 @@ def signed_in_with_organizer_role(user) # Abilities for Role (Conference resource) can [:index, :show], Role do |role| - role.resource_type == 'Conference' || role.resource_type == 'Track' + ['Conference', 'Track'].include?(role.resource_type) end can [:edit, :update, :toggle_user], Role do |role| @@ -180,7 +180,7 @@ def signed_in_with_cfp_role(user) # Abilities for Role (Conference resource) can [:index, :show], Role do |role| - role.resource_type == 'Conference' || role.resource_type == 'Track' + ['Conference', 'Track'].include?(role.resource_type) end # Can add or remove users from role, when user has that same role for the conference # Eg. If you are member of the CfP team, you can add more CfP team members (add users to the role 'CfP') @@ -218,7 +218,7 @@ def signed_in_with_info_desk_role(user) # Abilities for Role (Conference resource) can [:index, :show], Role do |role| - role.resource_type == 'Conference' || role.resource_type == 'Track' + ['Conference', 'Track'].include?(role.resource_type) end # Can add or remove users from role, when user has that same role for the conference # Eg. If you are member of the CfP team, you can add more CfP team members (add users to the role 'CfP') @@ -242,7 +242,7 @@ def signed_in_with_volunteers_coordinator_role(user) # Abilities for Role (Conference resource) can [:index, :show], Role do |role| - role.resource_type == 'Conference' || role.resource_type == 'Track' + ['Conference', 'Track'].include?(role.resource_type) end # Can add or remove users from role, when user has that same role for the conference # Eg. If you are member of the CfP team, you can add more CfP team members (add users to the role 'CfP') @@ -278,7 +278,7 @@ def signed_in_with_track_organizer_role(user) # Show Roles in the admin sidebar and allow authorization of the index action can [:index, :show], Role do |role| - role.resource_type == 'Conference' || role.resource_type == 'Track' + ['Conference', 'Track'].include?(role.resource_type) end can :toggle_user, Role do |role| diff --git a/app/models/booth.rb b/app/models/booth.rb index 85c6c7a84..06357f0ef 100644 --- a/app/models/booth.rb +++ b/app/models/booth.rb @@ -2,6 +2,7 @@ class Booth < ApplicationRecord include ActiveRecord::Transitions + has_paper_trail ignore: [:updated_at], meta: { conference_id: :conference_id } belongs_to :conference diff --git a/app/models/comment.rb b/app/models/comment.rb index ee1a07a8e..0b4e68009 100644 --- a/app/models/comment.rb +++ b/app/models/comment.rb @@ -35,13 +35,13 @@ def has_children? # Helper class method to lookup all comments assigned # to all commentable types for a given user. scope :find_comments_by_user, lambda { |user| - where(user_id: user.id).order('created_at DESC') + where(user_id: user.id).order(created_at: :desc) } # Helper class method to look up all comments for # commentable class name and commentable id. scope :find_comments_for_commentable, lambda { |commentable_str, commentable_id| - where(commentable_type: commentable_str.to_s, commentable_id: commentable_id).order('created_at DESC') + where(commentable_type: commentable_str.to_s, commentable_id: commentable_id).order(created_at: :desc) } scope :find_since_last_login, lambda { |user| diff --git a/app/models/conference.rb b/app/models/conference.rb index 2e63e4ee4..465055728 100644 --- a/app/models/conference.rb +++ b/app/models/conference.rb @@ -2,13 +2,14 @@ class Conference < ApplicationRecord include RevisionCount + require 'uri' serialize :events_per_week, Hash # Needed to call 'Conference.with_role' in /models/ability.rb # Dependent destroy will fail as roles#destroy will be cancelled,hence delete_all resourcify :roles, dependent: :delete_all - default_scope { order('start_date DESC') } + default_scope { order(start_date: :desc) } scope :upcoming, (-> { where(end_date: Date.current..) }) scope :past, (-> { where(end_date: ...Date.current) }) @@ -39,7 +40,7 @@ class Conference < ApplicationRecord has_many :participants, through: :registrations, source: :user has_many :vdays, dependent: :destroy has_many :vpositions, dependent: :destroy - has_many :sponsorship_levels, -> { order('position ASC') }, dependent: :destroy + has_many :sponsorship_levels, -> { order(:position) }, dependent: :destroy has_many :sponsors, dependent: :destroy has_many :commercials, as: :commercialable, dependent: :destroy has_many :subscriptions, dependent: :destroy @@ -107,7 +108,7 @@ def after_conference # * +false+ -> If the user is registered # * +true+ - If the user isn't registered def user_registered? user - user.present? && registrations.where(user_id: user.id).count > 0 + user.present? && registrations.where(user_id: user.id).any? end ## @@ -350,7 +351,7 @@ def get_status # * +hash+ -> user: submissions def self.get_top_submitter(limit = 5) submitter = EventUser.select(:user_id).where('event_role = ?', 'submitter').limit(limit).group(:user_id) - counter = submitter.order('count_all desc').count(:all) + counter = submitter.order(count_all: :desc).count(:all) calculate_user_submission_hash(submitter, counter) end @@ -363,7 +364,7 @@ def get_top_submitter(limit = 5) submitter = EventUser.joins(:event).select(:user_id) .where('event_role = ? and program_id = ?', 'submitter', Conference.find(id).program.id) .limit(limit).group(:user_id) - counter = submitter.order('count_all desc').count(:all) + counter = submitter.order(count_all: :desc).count(:all) Conference.calculate_user_submission_hash(submitter, counter) end @@ -921,7 +922,7 @@ def calculate_setup_progress(result) # * +True+ -> One difficulty level or more # * +False+ -> No diffculty level def difficulty_levels_set? - program.difficulty_levels.count > 0 + program.difficulty_levels.any? end ## @@ -931,7 +932,7 @@ def difficulty_levels_set? # * +True+ -> One difficulty level or more # * +False+ -> No diffculty level def event_types_set? - program.event_types.count > 0 + program.event_types.any? end ## @@ -941,7 +942,7 @@ def event_types_set? # * +True+ -> One track or more # * +False+ -> No track def tracks_set? - program.tracks.count > 0 + program.tracks.any? end ## @@ -951,7 +952,7 @@ def tracks_set? # * +True+ -> One room or more # * +False+ -> No room def rooms_set? - venue.present? && venue.rooms.count > 0 + venue.present? && venue.rooms.any? end # Checks if the conference has a venue object. diff --git a/app/models/event.rb b/app/models/event.rb index dc7202c28..82f8204b3 100644 --- a/app/models/event.rb +++ b/app/models/event.rb @@ -4,6 +4,7 @@ class Event < ApplicationRecord include ActionView::Helpers::NumberHelper # for number_with_precision include ActiveRecord::Transitions include RevisionCount + has_paper_trail on: [:create, :update], ignore: [:updated_at, :guid, :week], meta: { conference_id: :conference_id } acts_as_commentable diff --git a/app/models/event_schedule.rb b/app/models/event_schedule.rb index 8c5e9753c..32ec8b4f0 100644 --- a/app/models/event_schedule.rb +++ b/app/models/event_schedule.rb @@ -82,13 +82,13 @@ def replaced_event_schedules end def start_after_end_hour - return unless event && start_time && event.program&.conference && event.program.conference.end_hour + return unless event && start_time && event.program&.conference&.end_hour errors.add(:start_time, "can't be after the conference end hour (#{event.program.conference.end_hour})") if start_time.hour >= event.program.conference.end_hour end def start_before_start_hour - return unless event && start_time && event.program&.conference && event.program.conference.start_hour + return unless event && start_time && event.program&.conference&.start_hour errors.add(:start_time, "can't be before the conference start hour (#{event.program.conference.start_hour})") if start_time.hour < event.program.conference.start_hour end diff --git a/app/models/room.rb b/app/models/room.rb index 4bd88834f..af180fb67 100644 --- a/app/models/room.rb +++ b/app/models/room.rb @@ -2,6 +2,7 @@ class Room < ApplicationRecord include RevisionCount + belongs_to :venue has_many :event_schedules, dependent: :destroy has_many :tracks diff --git a/app/models/survey.rb b/app/models/survey.rb index 933fa9f62..62ce553e8 100644 --- a/app/models/survey.rb +++ b/app/models/survey.rb @@ -25,7 +25,7 @@ def active? now = Time.current.in_time_zone(timezone) if start_date && end_date - now >= start_date && now <= end_date + now.between?(start_date, end_date) elsif start_date && !end_date now >= start_date elsif !start_date && end_date diff --git a/app/models/ticket.rb b/app/models/ticket.rb index 677ef90f6..abc014cd7 100644 --- a/app/models/ticket.rb +++ b/app/models/ticket.rb @@ -81,7 +81,7 @@ def tickets_sold def tickets_of_conference_have_same_currency tickets = Ticket.where(conference_id: conference_id) - return if tickets.count.zero? || (tickets.count == 1 && self == tickets.first) + return if tickets.none? || (tickets.one? && self == tickets.first) unless tickets.all?{|t| t.price_currency == price_currency } errors.add(:price_currency, 'is different from the existing tickets of this conference.') diff --git a/app/models/ticket_purchase.rb b/app/models/ticket_purchase.rb index f8e6c2105..6d373d3f9 100644 --- a/app/models/ticket_purchase.rb +++ b/app/models/ticket_purchase.rb @@ -97,8 +97,6 @@ def registration_ticket_already_purchased end end -private - def set_week self.week = created_at.strftime('%W') save! diff --git a/app/models/track.rb b/app/models/track.rb index d34bfbefc..b249bef33 100644 --- a/app/models/track.rb +++ b/app/models/track.rb @@ -233,8 +233,8 @@ def overlapping (program.tracks.accepted + program.tracks.confirmed - [self]).each do |existing_track| next unless existing_track.room == room && existing_track.start_date && existing_track.end_date - if start_date >= existing_track.start_date && start_date <= existing_track.end_date || - end_date >= existing_track.start_date && end_date <= existing_track.end_date || + if start_date.between?(existing_track.start_date, existing_track.end_date) || + end_date.between?(existing_track.start_date, existing_track.end_date) || start_date <= existing_track.start_date && end_date >= existing_track.end_date errors.add(:track, 'has overlapping dates with a confirmed or accepted track in the same room') break diff --git a/app/models/user.rb b/app/models/user.rb index 564384f96..4cbac281e 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -30,6 +30,7 @@ def for_registration conference :avatar_content_type, :avatar_file_size, :avatar_updated_at, :updated_at, :confirmation_sent_at, :confirmation_token, :reset_password_token] include Gravtastic + gravtastic size: 32 before_create :setup_role @@ -238,7 +239,7 @@ def get_roles end def registered - if registrations.count == 0 + if registrations.none? 'None' else registrations.map { |r| r.conference.title }.join ', ' @@ -247,7 +248,7 @@ def registered def attended registrations_attended = registrations.where(attended: true) - if registrations_attended.count == 0 + if registrations_attended.none? 'None' else registrations_attended.map { |r| r.conference.title }.join ', ' @@ -271,7 +272,7 @@ def proposal_count(conference) end def self.empty? - User.count == 1 && User.first.email == 'deleted@localhost.osem' + User.one? && User.first.email == 'deleted@localhost.osem' end private diff --git a/db/migrate/20140730104658_migrate_roles_for_cancancan.rb b/db/migrate/20140730104658_migrate_roles_for_cancancan.rb index ed76b7c02..adbe9d058 100644 --- a/db/migrate/20140730104658_migrate_roles_for_cancancan.rb +++ b/db/migrate/20140730104658_migrate_roles_for_cancancan.rb @@ -8,7 +8,7 @@ def up Role.all.each do |role| role.users.each do |user| Conference.all.each do |conference| - if role.name == 'Admin' || role.name == 'Organizer' + if ['Admin', 'Organizer'].include?(role.name) user.add_role :organizer, conference user.update_columns(is_admin: true) else diff --git a/db/migrate/20170531094819_move_conferences_to_organizations.rb b/db/migrate/20170531094819_move_conferences_to_organizations.rb index 7f7e776cb..01cfa87f9 100644 --- a/db/migrate/20170531094819_move_conferences_to_organizations.rb +++ b/db/migrate/20170531094819_move_conferences_to_organizations.rb @@ -13,7 +13,7 @@ def change add_reference :conferences, :organization, index: true TempConference.reset_column_information - if TempConference.count != 0 + if TempConference.any? organization = TempOrganization.create(name: 'organization', description: 'Default organization') TempConference.all.each do |conference| conference.organization_id = organization.id diff --git a/lib/tasks/data_demo.rake b/lib/tasks/data_demo.rake index ae57b717a..0e5450b45 100644 --- a/lib/tasks/data_demo.rake +++ b/lib/tasks/data_demo.rake @@ -5,6 +5,7 @@ namespace :data do task demo: :environment do include FactoryBot::Syntax::Methods + conference = create(:full_conference, title: 'Open Source Event Manager Demo', short_title: 'osemdemo' ,description: "This is a [Open Source Event Manager](http://osem.io/) demo instance. You can log in as **admin** with the password **password123** or just you just [sign up](/accounts/sign_up) with your own user. We hope you enjoy checking out all the functionality, if you have questions don't hesitate to [contact us](http://osem.io/#contact)!\r\n\r\n## Data will be destroyed every thirty minutes or whenever someone updates the [OSEM source code on github](https://github.com/openSUSE/osem/commits/master).") conference.contact.update(email: 'osemdemo@osem.io', sponsor_email: 'osemdemo@osem.io') create(:admin, email: 'admin@osem.io', username: 'admin', password: 'password123', password_confirmation: 'password123') diff --git a/lib/tasks/events_registrations.rake b/lib/tasks/events_registrations.rake index 171f4b256..ccab6e0cd 100644 --- a/lib/tasks/events_registrations.rake +++ b/lib/tasks/events_registrations.rake @@ -7,13 +7,13 @@ namespace :events_registrations do duplicates = EventsRegistration.all.map { |er| er.id if er.valid? == false}.compact puts "Duplicates found: #{duplicates.count}" - if duplicates.count > 0 + if duplicates.any? puts "With IDs: #{duplicates}" end EventsRegistration.all.each do |er| records = EventsRegistration.where(registration_id: er.registration_id, event_id: er.event_id) - if records.count > 1 + if records.many? # Iterate through duplicates (excluding 1st record) (1..(records.count - 1)).each do |i| puts "Deleting EventsRegistration record with ID #{records[i].id} ..." diff --git a/spec/mailers/mailbot_spec.rb b/spec/mailers/mailbot_spec.rb index 39aaf3cf6..afcdb0b0e 100644 --- a/spec/mailers/mailbot_spec.rb +++ b/spec/mailers/mailbot_spec.rb @@ -32,7 +32,7 @@ end describe '.registration_mail' do - include_examples 'mailer actions' do + it_behaves_like 'mailer actions' do let(:mail) { Mailbot.registration_mail(conference, user).deliver_now } end end @@ -44,7 +44,7 @@ accepted_body: 'Lorem ipsum dolor sit amet, consectetuer adipiscing elit') end - include_examples 'mailer actions' do + it_behaves_like 'mailer actions' do let(:mail) { Mailbot.acceptance_mail(event).deliver_now } end end @@ -56,7 +56,7 @@ rejected_body: 'Lorem ipsum dolor sit amet, consectetuer adipiscing elit') end - include_examples 'mailer actions' do + it_behaves_like 'mailer actions' do let(:mail) { Mailbot.rejection_mail(event).deliver_now } end end @@ -68,7 +68,7 @@ confirmed_without_registration_body: 'Lorem ipsum dolor sit amet, consectetuer adipiscing elit') end - include_examples 'mailer actions' do + it_behaves_like 'mailer actions' do let(:mail) { Mailbot.confirm_reminder_mail(event).deliver_now } end end diff --git a/spec/support/login_macros.rb b/spec/support/login_macros.rb index 7557c14df..962375124 100644 --- a/spec/support/login_macros.rb +++ b/spec/support/login_macros.rb @@ -2,6 +2,7 @@ module LoginMacros include Warden::Test::Helpers + Warden.test_mode! def sign_in(user) From ef1dabaca06dec97c6bdaedf20d8d5ff58dcc302 Mon Sep 17 00:00:00 2001 From: Henne Vogelsang Date: Tue, 12 Aug 2025 16:52:00 +0200 Subject: [PATCH 271/325] Temporarily pin concurrent-ruby --- Gemfile | 4 ++++ Gemfile.lock | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/Gemfile b/Gemfile index 4e39c4055..417143dd1 100644 --- a/Gemfile +++ b/Gemfile @@ -192,6 +192,10 @@ gem 'icalendar' # to tame logs gem 'lograge' +# FIXME: https://github.com/ruby-concurrency/concurrent-ruby/commit/d7ce956dacd0b772273d39b8ed31a30cff7ecf38 +# remove after updating to rails to >7.1 +gem 'concurrent-ruby', '1.3.4' + group :development do # for static code analisys gem 'rubocop', require: false diff --git a/Gemfile.lock b/Gemfile.lock index ff184a6e7..b59e71e51 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -145,7 +145,7 @@ GEM faraday-multipart (~> 1.0, >= 1.0.4) ostruct cocoon (1.2.15) - concurrent-ruby (1.3.5) + concurrent-ruby (1.3.4) countable-rails (0.0.1) railties (>= 3.1) crack (1.0.0) @@ -644,6 +644,7 @@ DEPENDENCIES climate_control cloudinary cocoon + concurrent-ruby (= 1.3.4) countable-rails daemons dalli From ddcd8dfc699cb630906748b9aa164a9b4cd8423b Mon Sep 17 00:00:00 2001 From: Henne Vogelsang Date: Tue, 12 Aug 2025 14:37:45 +0200 Subject: [PATCH 272/325] Drop Rails.application.secrets usage That feature is gone and we already use environment variables... https://github.com/rails/rails/pull/47801 --- app/helpers/users_helper.rb | 5 -- app/views/payments/_payment.html.haml | 2 +- config/initializers/devise.rb | 8 ++- config/initializers/sentry.rb | 2 +- config/initializers/stripe.rb | 2 +- config/secrets.yml.example | 73 -------------------------- spec/features/ticket_purchases_spec.rb | 6 +-- 7 files changed, 9 insertions(+), 89 deletions(-) delete mode 100644 config/secrets.yml.example diff --git a/app/helpers/users_helper.rb b/app/helpers/users_helper.rb index 906e6f3b8..0cf86258c 100644 --- a/app/helpers/users_helper.rb +++ b/app/helpers/users_helper.rb @@ -14,11 +14,6 @@ def omniauth_configured providers = [] Devise.omniauth_providers.each do |provider| - provider_key = "#{provider}_key" - provider_secret = "#{provider}_secret" - unless Rails.application.secrets.send(provider_key).blank? || Rails.application.secrets.send(provider_secret).blank? - providers << provider - end providers << provider if ENV.fetch("OSEM_#{provider.upcase}_KEY", nil).present? && ENV.fetch("OSEM_#{provider.upcase}_SECRET", nil).present? end diff --git a/app/views/payments/_payment.html.haml b/app/views/payments/_payment.html.haml index 3fa79e6b4..c84811828 100644 --- a/app/views/payments/_payment.html.haml +++ b/app/views/payments/_payment.html.haml @@ -23,5 +23,5 @@ %script.stripe-button{ src: "https://checkout.stripe.com/checkout.js", data: { amount: @total_amount_to_pay.cents, label: "Pay #{humanized_money_with_symbol @total_amount_to_pay}", email: current_user.email, currency: @total_amount_to_pay.currency, name: ENV.fetch('OSEM_NAME', 'OSEM'), - description: "book your tickets", key: Rails.application.secrets.stripe_publishable_key, locale: "auto"}} + description: "book your tickets", key: ENV.fetch('STRIPE_PUBLISHABLE_KEY'), locale: "auto"}} = link_to 'Edit Purchase', conference_tickets_path(@conference.short_title), class: 'btn btn-default' diff --git a/config/initializers/devise.rb b/config/initializers/devise.rb index 69c2d9e38..66d240fa1 100644 --- a/config/initializers/devise.rb +++ b/config/initializers/devise.rb @@ -7,11 +7,9 @@ # Pass each provider to User model in :omniauth_providers (for open_id providers use their name) config.omniauth :open_id, name: 'suse', identifier: 'http://www.opensuse.org/openid/user' - config.omniauth :google_oauth2, ENV.fetch('OSEM_GOOGLE_KEY', Rails.application.secrets.google_key), ENV.fetch('OSEM_GOOGLE_SECRET', Rails.application.secrets.google_secret), - name: 'google', - scope: 'email' - config.omniauth :facebook, ENV.fetch('OSEM_FACEBOOK_KEY', Rails.application.secrets.facebook_key), ENV.fetch('OSEM_FACEBOOK_SECRET', Rails.application.secrets.facebook_secret) - config.omniauth :github, ENV.fetch('OSEM_GITHUB_KEY', Rails.application.secrets.github_key), ENV.fetch('OSEM_GITHUB_SECRET', Rails.application.secrets.github_secret) + config.omniauth :google_oauth2, ENV.fetch('OSEM_GOOGLE_KEY', nil), ENV.fetch('OSEM_GOOGLE_SECRET', nil), name: 'google', scope: 'email' + config.omniauth :facebook, ENV.fetch('OSEM_FACEBOOK_KEY', nil), ENV.fetch('OSEM_FACEBOOK_SECRET', nil) + config.omniauth :github, ENV.fetch('OSEM_GITHUB_KEY', nil), ENV.fetch('OSEM_GITHUB_SECRET', nil) # ==> Mailer Configuration # Configure the e-mail address which will be shown in Devise::Mailer, diff --git a/config/initializers/sentry.rb b/config/initializers/sentry.rb index 06ff58746..ebee88d4e 100644 --- a/config/initializers/sentry.rb +++ b/config/initializers/sentry.rb @@ -1,5 +1,5 @@ Sentry.init do |config| - config.dsn = ENV.fetch('OSEM_SENTRY_DSN', Rails.application.secrets.sentry_dsn) + config.dsn = ENV.fetch('OSEM_SENTRY_DSN', nil) config.breadcrumbs_logger = [:active_support_logger] # To activate performance monitoring, set one of these options. diff --git a/config/initializers/stripe.rb b/config/initializers/stripe.rb index 555cc16f8..f40ad45d1 100644 --- a/config/initializers/stripe.rb +++ b/config/initializers/stripe.rb @@ -1 +1 @@ -Stripe.api_key = Rails.application.secrets.stripe_secret_key +Stripe.api_key = ENV.fetch('STRIPE_SECRET_KEY', nil) diff --git a/config/secrets.yml.example b/config/secrets.yml.example deleted file mode 100644 index c0d92bbfd..000000000 --- a/config/secrets.yml.example +++ /dev/null @@ -1,73 +0,0 @@ -development: - # Generate your own with rake secret - # secret_key_base: '12345' - - ########## OMNIAUTH Providers ########## - # This is just sample data so mocks work - google_key: 'sample' - google_secret: 'sample' - - facebook_key: 'sample' - facebook_secret: 'sample' - - suse_key: 'sample' - suse_secret: 'sample' - - # Register on stripe and add TEST keys here - # https://dashboard.stripe.com/account/apikeys - stripe_publishable_key: <%= ENV['STRIPE_PUBLISHABLE_KEY'] %> - stripe_secret_key: <%= ENV['STRIPE_SECRET_KEY'] %> - -test: - # Generate your own with rake secret - # secret_key_base: '12345' - - # Register on stripe and add TEST keys here - # https://dashboard.stripe.com/account/apikeys - stripe_publishable_key: <%= ENV['STRIPE_PUBLISHABLE_KEY'] %> - stripe_secret_key: <%= ENV['STRIPE_SECRET_KEY'] %> - -production: - # Generate your own with rake secret or use the environment - # secret_key_base: <%= ENV["SECRET_KEY_BASE"] %> - - # Your sentry.io DSN key - # sentry_dsn: '12345' - - ########## OMNIAUTH Providers ########## - # Leave the variables' names empty, unless you use the providers, in which - # case you need to register your applicaton and add the actual keys. - # - # If you add a provider, keep the format of the variables: - # *provider*_key and *provider*_secret - - # If you add a provider that does not require a key, you still have to - # create the 2 variables with sample data or they won't show up in the app. - - # Register your appllication with Google from - # https://code.google.com/apis/console#:access - google_key: '' - google_secret: '' - - # Register your application with Facebook from - # https://developers.facebook.com/ - facebook_key: '' - facebook_secret: '' - - # Developers do not need to register their application for suse account to - # work. You must, however, add some sample value to the variables, for the - # login option to appear. For example: - #suse_key: 'sample data' - #suse_secret: 'sample data' - suse_key: '' - suse_secret: '' - - # Register your application with GitHub from - # https://github.com/settings/applications - github_key: '' - github_secret: '' - - # Register on stripe and add LIVE keys here - # https://dashboard.stripe.com/account/apikeys - stripe_publishable_key: <%= ENV['STRIPE_PUBLISHABLE_KEY'] %> - stripe_secret_key: <%= ENV['STRIPE_SECRET_KEY'] %> diff --git a/spec/features/ticket_purchases_spec.rb b/spec/features/ticket_purchases_spec.rb index 22250679b..7f41dfc6f 100644 --- a/spec/features/ticket_purchases_spec.rb +++ b/spec/features/ticket_purchases_spec.rb @@ -42,7 +42,7 @@ purchase = TicketPurchase.where(user_id: participant.id, ticket_id: ticket.id).first expect(purchase.quantity).to eq(2) - if Rails.application.secrets.stripe_publishable_key + if ENV.fetch('STRIPE_PUBLISHABLE_KEY', nil) find('.stripe-button-el').click stripe_iframe = all('iframe[name=stripe_checkout_app]').last @@ -81,7 +81,7 @@ purchase = TicketPurchase.where(user_id: participant.id, ticket_id: ticket.id).first expect(purchase.quantity).to eq(2) - if Rails.application.secrets.stripe_publishable_key + if ENV.fetch('STRIPE_PUBLISHABLE_KEY', nil) find('.stripe-button-el').click stripe_iframe = all('iframe[name=stripe_checkout_app]').last @@ -172,7 +172,7 @@ purchase = TicketPurchase.where(user_id: participant.id, ticket_id: ticket.id).first expect(purchase.quantity).to eq(2) - if Rails.application.secrets.stripe_publishable_key + if ENV.fetch('STRIPE_PUBLISHABLE_KEY', nil) find('.stripe-button-el').click stripe_iframe = all('iframe[name=stripe_checkout_app]').last From 04beb397ee36a632b0ebe5598ec6ad29501a2be7 Mon Sep 17 00:00:00 2001 From: Henne Vogelsang Date: Tue, 12 Aug 2025 17:23:47 +0200 Subject: [PATCH 273/325] Put RailsVersion into autoloaded path Also configure it for the next rails version --- {lib => app/lib}/rails_version.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename {lib => app/lib}/rails_version.rb (86%) diff --git a/lib/rails_version.rb b/app/lib/rails_version.rb similarity index 86% rename from lib/rails_version.rb rename to app/lib/rails_version.rb index 813fed29c..415b141fa 100644 --- a/lib/rails_version.rb +++ b/app/lib/rails_version.rb @@ -8,7 +8,7 @@ # Methods of this module must match whatever Rails version is defined in Gemfile.next.lock. # Matching on major and minor versions should be enough for most migrations. module RailsVersion - def self.is_6? - Rails::VERSION::MAJOR == 6 + def self.next? + Rails::VERSION::MAJOR == 7 && Rails::VERSION::MINOR == 2 end end From 27062ea5c310f2f657e6807b440f92aa367b87d7 Mon Sep 17 00:00:00 2001 From: Henne Vogelsang Date: Tue, 12 Aug 2025 17:59:47 +0200 Subject: [PATCH 274/325] Move sign_in_path into the controller it's used... --- app/controllers/admin/base_controller.rb | 10 +++++++++- app/helpers/application_helper.rb | 8 -------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/app/controllers/admin/base_controller.rb b/app/controllers/admin/base_controller.rb index 9b842b71d..ed6adef3e 100644 --- a/app/controllers/admin/base_controller.rb +++ b/app/controllers/admin/base_controller.rb @@ -16,7 +16,7 @@ def current_ability end def verify_user_admin - if (current_user.nil?) + if current_user.nil? redirect_to sign_in_path return false end @@ -26,5 +26,13 @@ def verify_user_admin raise CanCan::AccessDenied.new('You are not authorized to access this page.') end end + + def sign_in_path + if ENV.fetch('OSEM_ICHAIN_ENABLED', nil) == 'true' + User.ichain_login_url + else + new_user_session_path + end + end end end diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 0be070a28..b70dbac96 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -115,14 +115,6 @@ def event_types_sentence(conference) conference.event_types.map { |et| et.title.pluralize }.to_sentence end - def sign_in_path - if ENV.fetch('OSEM_ICHAIN_ENABLED', nil) == 'true' - new_user_ichain_session_path - else - new_user_session_path - end - end - def rescheduling_hint(affected_event_count) if affected_event_count > 0 "You have #{affected_event_count} scheduled #{'event'.pluralize(affected_event_count)}. Changing the conference hours will unschedule those scheduled outside the conference hours." From 1bae545332283d868dad95a7a0927b62bd1dbfb8 Mon Sep 17 00:00:00 2001 From: Henne Vogelsang Date: Wed, 13 Aug 2025 10:58:26 +0200 Subject: [PATCH 275/325] Also clear ENV when manipulating it --- .../conference_registration_controller_spec.rb | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/spec/controllers/conference_registration_controller_spec.rb b/spec/controllers/conference_registration_controller_spec.rb index 62162e131..545e61c5e 100644 --- a/spec/controllers/conference_registration_controller_spec.rb +++ b/spec/controllers/conference_registration_controller_spec.rb @@ -16,6 +16,10 @@ get :new, params: { conference_id: conference.short_title } end + after :each do + ENV['OSEM_ICHAIN_ENABLED'] = nil + end + it 'redirects' do expect(response).to redirect_to path end @@ -32,6 +36,10 @@ get :new, params: { conference_id: conference.short_title } end + after :each do + ENV['OSEM_ICHAIN_ENABLED'] = nil + end + it 'user variable exists' do expect(assigns(:user)).not_to be_nil end From ba2b2b7fc9c8917a0b897ccce9ba9990dcd9a1de Mon Sep 17 00:00:00 2001 From: Henne Vogelsang Date: Tue, 12 Aug 2025 14:05:46 +0200 Subject: [PATCH 276/325] Update Rails to 7.2 and next Rails to 8.0 Only needed some changes to the serializing in Conference. --- .rubocop_todo.yml | 7 +- Gemfile | 8 +- Gemfile.lock | 607 +++++++++++++++++++++------------------ Gemfile.next.lock | 549 ++++++++++++++++++----------------- app/lib/rails_version.rb | 2 +- app/models/conference.rb | 6 +- config/application.rb | 2 +- 7 files changed, 621 insertions(+), 560 deletions(-) diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index f5ce0be76..400f5949e 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -1,6 +1,6 @@ # This configuration was generated by # `rubocop --auto-gen-config` -# on 2025-08-12 13:33:30 UTC using RuboCop version 1.79.2. +# on 2025-08-12 15:04:30 UTC using RuboCop version 1.79.2. # The point is for the user to remove these configuration records # one by one as the offenses are removed from the code base. # Note that changes in the inspected code, or installation of new @@ -545,7 +545,7 @@ Metrics/BlockNesting: # Offense count: 14 # Configuration parameters: CountComments, CountAsOne. Metrics/ClassLength: - Max: 646 + Max: 655 # Offense count: 24 # Configuration parameters: AllowedMethods, AllowedPatterns. @@ -1810,6 +1810,7 @@ Style/NumericPredicate: - 'app/helpers/application_helper.rb' - 'app/helpers/date_time_helper.rb' - 'app/helpers/format_helper.rb' + - 'app/lib/rails_version.rb' - 'app/models/cfp.rb' - 'app/models/conference.rb' - 'app/models/event.rb' @@ -2074,7 +2075,7 @@ Style/WordArray: EnforcedStyle: percent MinSize: 6 -# Offense count: 431 +# Offense count: 430 # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: AllowHeredoc, AllowURI, AllowQualifiedName, URISchemes, IgnoreCopDirectives, AllowedPatterns, SplitStrings. # URISchemes: http, https diff --git a/Gemfile b/Gemfile index 417143dd1..35ba4235f 100644 --- a/Gemfile +++ b/Gemfile @@ -10,9 +10,9 @@ ruby '~> 3.3' # as web framework if next? - gem 'rails', '~> 7.1' + gem 'rails', '~> 8.0' else - gem 'rails', '~> 7.0' + gem 'rails', '~> 7.2' end # Use Puma as the app server @@ -192,10 +192,6 @@ gem 'icalendar' # to tame logs gem 'lograge' -# FIXME: https://github.com/ruby-concurrency/concurrent-ruby/commit/d7ce956dacd0b772273d39b8ed31a30cff7ecf38 -# remove after updating to rails to >7.1 -gem 'concurrent-ruby', '1.3.4' - group :development do # for static code analisys gem 'rubocop', require: false diff --git a/Gemfile.lock b/Gemfile.lock index b59e71e51..feeabffe9 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,99 +1,105 @@ GEM remote: https://rubygems.org/ specs: - Ascii85 (2.0.1) - actioncable (7.0.8.4) - actionpack (= 7.0.8.4) - activesupport (= 7.0.8.4) + Ascii85 (1.1.0) + 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.4) - actionpack (= 7.0.8.4) - activejob (= 7.0.8.4) - activerecord (= 7.0.8.4) - activestorage (= 7.0.8.4) - activesupport (= 7.0.8.4) - mail (>= 2.7.1) - net-imap - net-pop - net-smtp - actionmailer (7.0.8.4) - actionpack (= 7.0.8.4) - actionview (= 7.0.8.4) - activejob (= 7.0.8.4) - activesupport (= 7.0.8.4) - mail (~> 2.5, >= 2.5.4) - net-imap - net-pop - net-smtp - rails-dom-testing (~> 2.0) - actionpack (7.0.8.4) - actionview (= 7.0.8.4) - activesupport (= 7.0.8.4) - 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.4) - actionpack (= 7.0.8.4) - activerecord (= 7.0.8.4) - activestorage (= 7.0.8.4) - activesupport (= 7.0.8.4) + 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.4) - activesupport (= 7.0.8.4) + 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) + erubi (~> 1.11) + rails-dom-testing (~> 2.2) + rails-html-sanitizer (~> 1.6) active_model_serializers (0.10.15) actionpack (>= 4.1) activemodel (>= 4.1) case_transform (>= 0.2) jsonapi-renderer (>= 0.1.1.beta1, < 0.3) - activejob (7.0.8.4) - activesupport (= 7.0.8.4) + activejob (7.2.2.1) + activesupport (= 7.2.2.1) globalid (>= 0.3.6) - activemodel (7.0.8.4) - activesupport (= 7.0.8.4) - activerecord (7.0.8.4) - activemodel (= 7.0.8.4) - activesupport (= 7.0.8.4) - activestorage (7.0.8.4) - actionpack (= 7.0.8.4) - activejob (= 7.0.8.4) - activerecord (= 7.0.8.4) - activesupport (= 7.0.8.4) + activemodel (7.2.2.1) + activesupport (= 7.2.2.1) + 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.4) - 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) - acts_as_commentable_with_threading (2.0.1) - activerecord (>= 4.0) - activesupport (>= 4.0) - awesome_nested_set (>= 3.0) - acts_as_list (1.2.4) - activerecord (>= 6.1) - activesupport (>= 6.1) + securerandom (>= 0.3) + tzinfo (~> 2.0, >= 2.0.5) + acts_as_commentable_with_threading (1.2.0) + activerecord (>= 3.0) + activesupport (>= 3.0) + awesome_nested_set (>= 2.0) + acts_as_list (1.0.4) + activerecord (>= 4.2) addressable (2.8.7) public_suffix (>= 2.0.2, < 7.0) afm (0.2.2) - ajax-datatables-rails (1.5.0) - rails (>= 6.0) + ajax-datatables-rails (1.3.1) zeitwerk archive-zip (0.12.0) io-like (~> 0.3.0) ast (2.4.3) - autoprefixer-rails (10.4.21.0) + autoprefixer-rails (10.3.1.0) execjs (~> 2) awesome_nested_set (3.8.0) activerecord (>= 4.0.0, < 8.1) - base64 (0.2.0) + aws_cf_signer (0.1.3) + base64 (0.3.0) bcrypt (3.1.20) + benchmark (0.4.1) bigdecimal (3.2.2) bindex (0.8.1) bootstrap-sass (3.4.1) @@ -102,7 +108,7 @@ GEM bootstrap-switch-rails (3.3.3) builder (3.3.0) byebug (11.1.3) - cancancan (3.6.1) + cancancan (3.3.0) capybara (3.40.0) addressable matrix @@ -112,12 +118,13 @@ GEM rack-test (>= 0.6.3) regexp_parser (>= 1.5, < 3.0) xpath (~> 3.2) - carrierwave (3.0.7) - activemodel (>= 6.0.0) - activesupport (>= 6.0.0) + carrierwave (2.2.2) + activemodel (>= 5.0.0) + activesupport (>= 5.0.0) addressable (~> 2.6) image_processing (~> 1.1) marcel (~> 1.0.0) + mini_mime (>= 0.1.3) ssrf_filter (~> 1.0) carrierwave-bombshelter (0.2.2) activesupport (>= 3.2.0) @@ -125,48 +132,44 @@ GEM fastimage case_transform (0.2) activesupport - caxlsx (4.1.0) + caxlsx (3.1.0) htmlentities (~> 4.3, >= 4.3.4) marcel (~> 1.0) nokogiri (~> 1.10, >= 1.10.4) rubyzip (>= 1.3.0, < 3) - caxlsx_rails (0.6.4) + caxlsx_rails (0.6.2) actionpack (>= 3.1) caxlsx (>= 3.0) - chartkick (5.1.2) - childprocess (5.1.0) - logger (~> 1.5) + chartkick (4.1.3) chronic (0.10.2) chunky_png (1.4.0) - climate_control (1.2.0) - cloudinary (2.2.0) - faraday (>= 2.0.1, < 3.0.0) - faraday-follow_redirects (~> 0.3.0) - faraday-multipart (~> 1.0, >= 1.0.4) - ostruct + climate_control (1.0.1) + cloudinary (1.20.0) + aws_cf_signer + rest-client (>= 2.0.0) cocoon (1.2.15) - concurrent-ruby (1.3.4) + colorize (0.8.1) + concurrent-ruby (1.3.5) + connection_pool (2.5.3) countable-rails (0.0.1) railties (>= 3.1) - crack (1.0.0) - bigdecimal + crack (0.4.5) rexml crass (1.0.6) - csv (3.3.2) - daemons (1.4.1) - dalli (3.2.8) + daemons (1.4.0) + dalli (2.7.11) dante (0.2.0) database_cleaner (2.1.0) database_cleaner-active_record (>= 2, < 3) - database_cleaner-active_record (2.2.0) + database_cleaner-active_record (2.2.2) activerecord (>= 5.a) - database_cleaner-core (~> 2.0.0) + database_cleaner-core (~> 2.0) database_cleaner-core (2.0.1) date (3.4.1) - delayed_job (4.1.13) - activesupport (>= 3.0, < 9.0) - delayed_job_active_record (4.1.11) - activerecord (>= 3.0, < 9.0) + delayed_job (4.1.10) + activesupport (>= 3.0, < 8.0) + delayed_job_active_record (4.1.7) + activerecord (>= 3.0, < 8.0) delayed_job (>= 3.0, < 5) devise (4.9.4) bcrypt (~> 3.0) @@ -176,96 +179,117 @@ GEM warden (~> 1.2.3) devise_ichain_authenticatable (0.3.2) devise (>= 2.2) - diff-lcs (1.5.1) - docile (1.4.1) - dotenv (3.1.7) - dotenv-rails (3.1.7) - dotenv (= 3.1.7) - railties (>= 6.1) + diff-lcs (1.6.2) + docile (1.4.0) + domain_name (0.5.20190701) + unf (>= 0.0.5, < 1.0.0) + dotenv (2.7.6) + dotenv-rails (2.7.6) + dotenv (= 2.7.6) + railties (>= 3.2) + drb (2.2.3) + erb (5.0.2) erubi (1.13.1) - execjs (2.10.0) - factory_bot (6.5.0) + erubis (2.7.0) + execjs (2.8.1) + factory_bot (6.2.0) activesupport (>= 5.0.0) - factory_bot_rails (6.4.4) - factory_bot (~> 6.5) + factory_bot_rails (6.2.0) + factory_bot (~> 6.2.0) railties (>= 5.0.0) - faker (3.5.1) - i18n (>= 1.8.11, < 2) - faraday (2.12.2) - faraday-net_http (>= 2.0, < 3.5) - json - logger - faraday-follow_redirects (0.3.0) - faraday (>= 1, < 3) - faraday-multipart (1.0.4) - multipart-post (~> 2) - faraday-net_http (3.4.0) - net-http (>= 0.5.0) - fastimage (2.3.1) + faker (2.18.0) + i18n (>= 1.6, < 2) + faraday (1.7.0) + faraday-em_http (~> 1.0) + faraday-em_synchrony (~> 1.0) + faraday-excon (~> 1.1) + faraday-httpclient (~> 1.0.1) + faraday-net_http (~> 1.0) + faraday-net_http_persistent (~> 1.1) + faraday-patron (~> 1.0) + faraday-rack (~> 1.0) + multipart-post (>= 1.2, < 3) + ruby2_keywords (>= 0.0.4) + faraday-em_http (1.0.0) + faraday-em_synchrony (1.0.0) + faraday-excon (1.1.0) + faraday-httpclient (1.0.1) + faraday-net_http (1.0.1) + faraday-net_http_persistent (1.2.0) + faraday-patron (1.0.0) + faraday-rack (1.0.0) + fastimage (2.2.5) feature (1.4.0) - ffi (1.17.2) - font-awesome-sass (6.5.2) + ffi (1.15.3) + font-awesome-sass (6.7.2) sassc (~> 2.0) geckodriver-helper (0.24.0) archive-zip (~> 0.7) globalid (1.2.1) activesupport (>= 6.1) gravtastic (3.2.6) - haml (6.3.0) - temple (>= 0.8.2) - thor + haml (5.2.2) + temple (>= 0.8.0) tilt - haml-rails (2.1.0) + haml-rails (2.0.1) actionpack (>= 5.1) activesupport (>= 5.1) - haml (>= 4.0.6) + haml (>= 4.0.6, < 6.0) + html2haml (>= 1.0.1) railties (>= 5.1) - haml_lint (0.59.0) - haml (>= 5.0) + haml_lint (0.37.1) + haml (>= 4.0, < 5.3) parallel (~> 1.10) rainbow - rubocop (>= 1.0) + rubocop (>= 0.50.0) sysexits (~> 1.1) - hashdiff (1.2.0) + hashdiff (1.0.1) hashery (2.1.2) - hashie (5.0.0) + hashie (4.1.0) + html2haml (2.2.0) + erubis (~> 2.7.0) + haml (>= 4.0, < 6) + nokogiri (>= 1.6.0) + ruby_parser (~> 3.5) htmlentities (4.3.4) + http-accept (1.7.0) + http-cookie (1.0.4) + domain_name (~> 0.5) i18n (1.14.7) concurrent-ruby (~> 1.0) - i18n_data (1.1.0) - simple_po_parser (~> 1.1) - icalendar (2.10.3) + i18n_data (0.13.0) + icalendar (2.7.1) ice_cube (~> 0.16) - ostruct - ice_cube (0.17.0) - image_processing (1.13.0) + ice_cube (0.16.3) + image_processing (1.12.1) mini_magick (>= 4.9.5, < 5) ruby-vips (>= 2.0.17, < 3) + io-console (0.8.1) io-like (0.3.1) - iso-639 (0.3.8) - csv + irb (1.15.2) + pp (>= 0.6.0) + rdoc (>= 4.0.0) + reline (>= 0.4.2) + iso-639 (0.3.5) jquery-datatables-rails (3.4.0) actionpack (>= 3.1) jquery-rails railties (>= 3.1) sass-rails - jquery-rails (4.6.0) + jquery-rails (4.4.0) rails-dom-testing (>= 1, < 3) railties (>= 4.2.0) thor (>= 0.14, < 2.0) - jquery-ui-rails (8.0.0) + jquery-ui-rails (6.0.1) railties (>= 3.2.16) json (2.13.2) - json-schema (5.2.1) - addressable (~> 2.8) - bigdecimal (~> 3.1) + json-schema (2.8.1) + addressable (>= 2.4) jsonapi-renderer (0.2.2) - jwt (2.9.3) - base64 + jwt (2.2.3) language_server-protocol (3.17.0.5) - launchy (3.0.1) + launchy (2.5.2) addressable (~> 2.8) - childprocess (~> 5.0) leaflet-rails (1.9.5) actionpack (>= 4.2.0) railties (>= 4.2.0) @@ -277,13 +301,13 @@ GEM railties (>= 6.1) rexml lint_roller (1.1.0) - logger (1.6.3) + logger (1.7.0) lograge (0.14.0) actionpack (>= 4) activesupport (>= 4) railties (>= 4) request_store (~> 1.0) - loofah (2.24.0) + loofah (2.24.1) crass (~> 1.0.2) nokogiri (>= 1.12.0) mail (2.8.1) @@ -293,28 +317,28 @@ GEM net-smtp marcel (1.0.4) matrix (0.4.2) - method_source (1.1.0) - mina (1.2.5) + mime-types (3.3.1) + mime-types-data (~> 3.2015) + mime-types-data (3.2021.0704) + mina (1.2.4) + open4 (~> 1.3.4) rake - mini_magick (4.13.2) + mini_magick (4.11.0) mini_mime (1.1.5) mini_portile2 (2.8.9) minitest (5.25.5) - monetize (1.13.0) + monetize (1.9.4) money (~> 6.12) - money (6.19.0) + money (6.13.8) i18n (>= 0.6.4, <= 2) - money-rails (1.15.0) + money-rails (1.14.0) activesupport (>= 3.0) - monetize (~> 1.9) - money (~> 6.13) + monetize (~> 1.9.0) + money (~> 6.13.2) railties (>= 3.0) multi_json (1.15.0) - multi_xml (0.7.1) - bigdecimal (~> 3.1) - multipart-post (2.4.1) - net-http (0.6.0) - uri + multi_xml (0.6.0) + multipart-post (2.1.1) net-imap (0.5.9) date net-protocol @@ -322,47 +346,46 @@ GEM net-protocol net-protocol (0.2.2) timeout - net-smtp (0.5.0) + net-smtp (0.5.1) net-protocol - next_rails (1.4.2) - rainbow (>= 3) + netrc (0.11.0) + next_rails (1.0.4) + colorize (>= 0.8.1) nio4r (2.7.4) nokogiri (1.18.9) mini_portile2 (~> 2.8.2) racc (~> 1.4) - oauth2 (2.0.9) - faraday (>= 0.17.3, < 3.0) + oauth2 (1.4.7) + faraday (>= 0.8, < 2.0) jwt (>= 1.0, < 3.0) + multi_json (~> 1.3) multi_xml (~> 0.5) - rack (>= 1.2, < 4) - snaky_hash (~> 2.0) - version_gem (~> 1.1) - omniauth (2.1.2) + rack (>= 1.2, < 3) + omniauth (2.0.4) hashie (>= 3.4.6) - rack (>= 2.2.3) + rack (>= 1.6.2, < 3) rack-protection - omniauth-facebook (10.0.0) - bigdecimal - omniauth-oauth2 (>= 1.2, < 3) - omniauth-github (2.0.1) - omniauth (~> 2.0) - omniauth-oauth2 (~> 1.8) - omniauth-google-oauth2 (1.2.0) - jwt (>= 2.9) - oauth2 (~> 2.0) + omniauth-facebook (8.0.0) + omniauth-oauth2 (~> 1.2) + omniauth-github (2.0.0) omniauth (~> 2.0) - omniauth-oauth2 (~> 1.8) - omniauth-oauth2 (1.8.0) - oauth2 (>= 1.4, < 3) + omniauth-oauth2 (~> 1.7.1) + omniauth-google-oauth2 (1.0.0) + jwt (>= 2.0) + oauth2 (~> 1.1) omniauth (~> 2.0) + omniauth-oauth2 (~> 1.7.1) + omniauth-oauth2 (1.7.1) + oauth2 (~> 1.4) + omniauth (>= 1.9, < 3) omniauth-openid (2.0.1) omniauth (>= 1.0, < 3.0) rack-openid (~> 1.4.0) - omniauth-rails_csrf_protection (1.0.2) + omniauth-rails_csrf_protection (1.0.0) actionpack (>= 4.2) omniauth (~> 2.0) + open4 (1.3.4) orm_adapter (0.5.0) - ostruct (0.6.1) paper_trail (16.0.0) activerecord (>= 6.1) request_store (~> 1.4) @@ -370,116 +393,136 @@ GEM parser (3.3.9.0) ast (~> 2.4.1) racc - pdf-core (0.10.0) + pdf-core (0.9.0) pdf-inspector (1.3.0) pdf-reader (>= 1.0, < 3.0.a) - pdf-reader (2.13.0) - Ascii85 (>= 1.0, < 3.0, != 2.0.0) + pdf-reader (2.5.0) + Ascii85 (~> 1.0) afm (~> 0.2.1) hashery (~> 2.0) ruby-rc4 ttfunk pg (1.6.1) - prawn (2.5.0) - matrix (~> 0.4) - pdf-core (~> 0.10.0) - ttfunk (~> 1.8) + pp (0.6.2) + prettyprint + prawn (2.4.0) + pdf-core (~> 0.9.0) + ttfunk (~> 1.7) prawn-qrcode (0.5.2) prawn (>= 1) rqrcode (>= 1.0.0) - prawn-rails (1.5.0) + prawn-rails (1.4.2) actionview (>= 3.1.0) - activesupport (>= 3.1.0) prawn prawn-table prawn-table (0.2.2) prawn (>= 1.3.0, < 3.0.0) + prettyprint (0.2.0) prism (1.4.0) + psych (5.2.6) + date + stringio public_suffix (6.0.2) - puma (6.5.0) + puma (4.3.8) nio4r (~> 2.0) racc (1.8.1) rack (2.2.17) rack-openid (1.4.2) rack (>= 1.1.0) ruby-openid (>= 2.1.8) - rack-protection (3.2.0) - base64 (>= 0.1.0) - rack (~> 2.2, >= 2.2.4) - rack-test (2.1.0) + rack-protection (2.1.0) + rack + rack-session (1.0.2) + rack (< 3) + rack-test (2.2.0) rack (>= 1.3) - rails (7.0.8.4) - actioncable (= 7.0.8.4) - actionmailbox (= 7.0.8.4) - actionmailer (= 7.0.8.4) - actionpack (= 7.0.8.4) - actiontext (= 7.0.8.4) - actionview (= 7.0.8.4) - activejob (= 7.0.8.4) - activemodel (= 7.0.8.4) - activerecord (= 7.0.8.4) - activestorage (= 7.0.8.4) - activesupport (= 7.0.8.4) + rackup (1.0.1) + rack (< 3) + webrick + 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.4) + railties (= 7.2.2.1) rails-controller-testing (1.0.5) actionpack (>= 5.0.1.rc1) actionview (>= 5.0.1.rc1) activesupport (>= 5.0.1.rc1) - rails-dom-testing (2.2.0) + rails-dom-testing (2.3.0) activesupport (>= 5.0.0) minitest nokogiri (>= 1.6) rails-html-sanitizer (1.6.2) 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-i18n (7.0.9) + rails-i18n (7.0.1) i18n (>= 0.7, < 2) railties (>= 6.0.0, < 8) - railties (7.0.8.4) - actionpack (= 7.0.8.4) - activesupport (= 7.0.8.4) - method_source + 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) - recaptcha (5.18.0) - redcarpet (3.6.0) + rake (13.3.0) + rdoc (6.14.2) + erb + psych (>= 4.0.0) + recaptcha (5.8.1) + json + redcarpet (3.5.1) regexp_parser (2.11.1) + reline (0.6.2) + io-console (~> 0.5) request_store (1.7.0) rack (>= 1.4) responders (3.1.1) actionpack (>= 5.2) railties (>= 5.2) + rest-client (2.1.0) + http-accept (>= 1.7.0, < 2.0) + http-cookie (>= 1.0.2, < 2.0) + mime-types (>= 1.16, < 4.0) + netrc (~> 0.8) rexml (3.4.1) - rolify (6.0.1) - rqrcode (2.2.0) + rolify (6.0.0) + rqrcode (2.0.0) chunky_png (~> 1.0) rqrcode_core (~> 1.0) - rqrcode_core (1.2.0) - rspec-activemodel-mocks (1.2.1) + rqrcode_core (1.1.0) + rspec-activemodel-mocks (1.1.0) activemodel (>= 3.0) activesupport (>= 3.0) rspec-mocks (>= 2.99, < 4.0) - rspec-core (3.13.2) + rspec-core (3.13.5) rspec-support (~> 3.13.0) - rspec-expectations (3.13.3) + rspec-expectations (3.13.5) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.13.0) - rspec-mocks (3.13.2) + rspec-mocks (3.13.5) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.13.0) - rspec-rails (7.1.0) - actionpack (>= 7.0) - activesupport (>= 7.0) - railties (>= 7.0) + rspec-rails (8.0.2) + actionpack (>= 7.2) + activesupport (>= 7.2) + railties (>= 7.2) rspec-core (~> 3.13) rspec-expectations (~> 3.13) rspec-mocks (~> 3.13) rspec-support (~> 3.13) - rspec-support (3.13.2) + rspec-support (3.13.4) rubocop (1.79.2) json (~> 2.3) language_server-protocol (~> 3.17.0.2) @@ -517,14 +560,16 @@ GEM lint_roller (~> 1.1) rubocop (~> 1.72, >= 1.72.1) rubocop-rspec (~> 3.5) - ruby-oembed (0.18.1) + ruby-oembed (0.15.0) ruby-openid (2.9.2) ruby-progressbar (1.13.0) ruby-rc4 (0.1.5) - ruby-vips (2.2.2) + ruby-vips (2.1.2) ffi (~> 1.12) - logger - rubyzip (2.3.2) + ruby2_keywords (0.0.5) + ruby_parser (3.17.0) + sexp_processor (~> 4.15, >= 4.15.1) + rubyzip (2.4.1) sass-rails (6.0.0) sassc-rails (~> 2.1, >= 2.1.1) sassc (2.4.0) @@ -535,71 +580,70 @@ GEM sprockets (> 3.0) sprockets-rails tilt + securerandom (0.4.1) selectize-rails (0.12.6) selenium-webdriver (4.10.0) rexml (~> 3.2, >= 3.2.5) rubyzip (>= 1.2.2, < 3.0) websocket (~> 1.0) - sentry-rails (5.22.0) + sentry-rails (4.6.5) railties (>= 5.0) - sentry-ruby (~> 5.22.0) - sentry-ruby (5.22.0) - bigdecimal - concurrent-ruby (~> 1.0, >= 1.0.2) - shoulda-matchers (6.4.0) - activesupport (>= 5.2.0) - simple_po_parser (1.1.6) - simplecov (0.22.0) + sentry-ruby-core (~> 4.6.0) + sentry-ruby-core (4.6.5) + concurrent-ruby + faraday + sexp_processor (4.15.3) + shoulda-matchers (4.5.1) + activesupport (>= 4.2.0) + simplecov (0.21.2) docile (~> 1.1) simplecov-html (~> 0.11) simplecov_json_formatter (~> 0.1) - simplecov-cobertura (2.1.0) - rexml - simplecov (~> 0.19) - simplecov-html (0.13.1) - simplecov_json_formatter (0.1.4) - snaky_hash (2.0.1) - hashie - version_gem (~> 1.1, >= 1.1.1) - sprockets (4.2.1) + simplecov-cobertura (1.4.2) + simplecov (~> 0.8) + simplecov-html (0.12.3) + simplecov_json_formatter (0.1.3) + sprockets (4.0.2) concurrent-ruby (~> 1.0) - rack (>= 2.2.4, < 4) - sprockets-rails (3.5.2) - actionpack (>= 6.1) - activesupport (>= 6.1) + rack (> 1, < 3) + sprockets-rails (3.2.2) + actionpack (>= 4.0) + activesupport (>= 4.0) sprockets (>= 3.0.0) - ssrf_filter (1.2.0) - stripe (5.55.0) - stripe-ruby-mock (3.1.0) + ssrf_filter (1.0.7) + stringio (3.1.7) + stripe (5.43.0) + stripe-ruby-mock (3.1.0.rc3) dante (>= 0.2.0) multi_json (~> 1.0) stripe (> 5, < 6) sysexits (1.2.0) - temple (0.10.3) + temple (0.8.2) thor (1.4.0) - tilt (2.4.0) - timecop (0.9.10) + tilt (2.0.10) + timecop (0.9.4) timeout (0.4.3) - transitions (1.3.0) - ttfunk (1.8.0) - bigdecimal (~> 3.1) + transitions (1.2.1) + ttfunk (1.7.0) turbolinks (5.2.1) turbolinks-source (~> 5.2) turbolinks-source (5.2.0) tzinfo (2.0.6) concurrent-ruby (~> 1.0) - uglifier (4.2.1) + uglifier (4.2.0) execjs (>= 0.3.0, < 3) + unf (0.1.4) + unf_ext + unf_ext (0.0.7.7) unicode-display_width (3.1.4) unicode-emoji (~> 4.0, >= 4.0.4) unicode-emoji (4.0.4) unobtrusive_flash (3.3.1) railties - uri (1.0.3) - version_gem (1.1.4) + useragent (0.16.11) warden (1.2.9) rack (>= 2.0.9) - web-console (4.2.1) + web-console (4.1.0) actionview (>= 6.0.0) activemodel (>= 6.0.0) bindex (>= 0.4.0) @@ -608,19 +652,21 @@ GEM nokogiri (~> 1.6) rubyzip (>= 1.3.0) selenium-webdriver (~> 4.0, < 4.11) - webmock (3.25.1) + webmock (3.14.0) addressable (>= 2.8.0) crack (>= 0.3.2) hashdiff (>= 0.4.0, < 2.0.0) + webrick (1.9.1) websocket (1.2.11) - websocket-driver (0.7.6) + websocket-driver (0.8.0) + base64 websocket-extensions (>= 0.1.0) websocket-extensions (0.1.5) whenever (1.0.0) chronic (>= 0.6.3) xpath (3.2.0) nokogiri (~> 1.8) - zeitwerk (2.7.1) + zeitwerk (2.7.3) PLATFORMS ruby @@ -644,7 +690,6 @@ DEPENDENCIES climate_control cloudinary cocoon - concurrent-ruby (= 1.3.4) countable-rails daemons dalli @@ -689,7 +734,7 @@ DEPENDENCIES prawn-qrcode prawn-rails puma - rails (~> 7.0) + rails (~> 7.2) rails-controller-testing rails-i18n recaptcha @@ -727,7 +772,7 @@ DEPENDENCIES whenever RUBY VERSION - ruby 3.3.7 + ruby 3.3.9 BUNDLED WITH - 2.5.9 + 2.5.22 diff --git a/Gemfile.next.lock b/Gemfile.next.lock index 0e8acc2e3..b56f6e82a 100644 --- a/Gemfile.next.lock +++ b/Gemfile.next.lock @@ -1,135 +1,119 @@ -GEM - remote: https://rails-assets.org/ - specs: - rails-assets-bootstrap (3.4.1) - rails-assets-jquery (>= 1.9.1, < 4) - rails-assets-bootstrap-markdown (2.10.0) - rails-assets-bootstrap (~> 3) - rails-assets-bootstrap-select (1.13.10) - rails-assets-bootstrap (>= 3.0.0) - rails-assets-jquery (>= 1.9.1, < 4) - rails-assets-date.format (1.2.3) - rails-assets-holderjs (2.9.6) - rails-assets-jquery (3.4.1) - rails-assets-jquery-smooth-scroll (2.2.0) - rails-assets-jquery (>= 1.7.0) - rails-assets-markdown (0.5.0) - rails-assets-momentjs (2.22.2) - rails-assets-spectrum (1.8.0) - rails-assets-jquery (>= 1.7.2) - rails-assets-tinycolor (1.4.1) - rails-assets-to-markdown (3.1.1) - rails-assets-trianglify (1.2.0) - rails-assets-waypoints (4.0.1) - GEM remote: https://rubygems.org/ specs: Ascii85 (1.1.0) - actioncable (7.0.1) - actionpack (= 7.0.1) - activesupport (= 7.0.1) + actioncable (8.0.2) + actionpack (= 8.0.2) + activesupport (= 8.0.2) nio4r (~> 2.0) websocket-driver (>= 0.6.1) - actionmailbox (7.0.1) - actionpack (= 7.0.1) - activejob (= 7.0.1) - activerecord (= 7.0.1) - activestorage (= 7.0.1) - activesupport (= 7.0.1) - mail (>= 2.7.1) - net-imap - net-pop - net-smtp - actionmailer (7.0.1) - actionpack (= 7.0.1) - actionview (= 7.0.1) - activejob (= 7.0.1) - activesupport (= 7.0.1) - mail (~> 2.5, >= 2.5.4) - net-imap - net-pop - net-smtp - rails-dom-testing (~> 2.0) - actionpack (7.0.1) - actionview (= 7.0.1) - activesupport (= 7.0.1) - rack (~> 2.0, >= 2.2.0) + zeitwerk (~> 2.6) + actionmailbox (8.0.2) + actionpack (= 8.0.2) + activejob (= 8.0.2) + activerecord (= 8.0.2) + activestorage (= 8.0.2) + activesupport (= 8.0.2) + mail (>= 2.8.0) + actionmailer (8.0.2) + actionpack (= 8.0.2) + actionview (= 8.0.2) + activejob (= 8.0.2) + activesupport (= 8.0.2) + mail (>= 2.8.0) + rails-dom-testing (~> 2.2) + actionpack (8.0.2) + actionview (= 8.0.2) + activesupport (= 8.0.2) + nokogiri (>= 1.8.5) + rack (>= 2.2.4) + 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.1) - actionpack (= 7.0.1) - activerecord (= 7.0.1) - activestorage (= 7.0.1) - activesupport (= 7.0.1) + rails-dom-testing (~> 2.2) + rails-html-sanitizer (~> 1.6) + useragent (~> 0.16) + actiontext (8.0.2) + actionpack (= 8.0.2) + activerecord (= 8.0.2) + activestorage (= 8.0.2) + activesupport (= 8.0.2) globalid (>= 0.6.0) nokogiri (>= 1.8.5) - actionview (7.0.1) - activesupport (= 7.0.1) + actionview (8.0.2) + activesupport (= 8.0.2) builder (~> 3.1) - erubi (~> 1.4) - rails-dom-testing (~> 2.0) - rails-html-sanitizer (~> 1.1, >= 1.2.0) - active_model_serializers (0.10.13) - actionpack (>= 4.1, < 7.1) - activemodel (>= 4.1, < 7.1) + erubi (~> 1.11) + rails-dom-testing (~> 2.2) + rails-html-sanitizer (~> 1.6) + active_model_serializers (0.10.15) + actionpack (>= 4.1) + activemodel (>= 4.1) case_transform (>= 0.2) jsonapi-renderer (>= 0.1.1.beta1, < 0.3) - activejob (7.0.1) - activesupport (= 7.0.1) + activejob (8.0.2) + activesupport (= 8.0.2) globalid (>= 0.3.6) - activemodel (7.0.1) - activesupport (= 7.0.1) - activerecord (7.0.1) - activemodel (= 7.0.1) - activesupport (= 7.0.1) - activestorage (7.0.1) - actionpack (= 7.0.1) - activejob (= 7.0.1) - activerecord (= 7.0.1) - activesupport (= 7.0.1) + activemodel (8.0.2) + activesupport (= 8.0.2) + activerecord (8.0.2) + activemodel (= 8.0.2) + activesupport (= 8.0.2) + timeout (>= 0.4.0) + activestorage (8.0.2) + actionpack (= 8.0.2) + activejob (= 8.0.2) + activerecord (= 8.0.2) + activesupport (= 8.0.2) marcel (~> 1.0) - mini_mime (>= 1.1.0) - activesupport (7.0.1) - concurrent-ruby (~> 1.0, >= 1.0.2) + activesupport (8.0.2) + 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) + uri (>= 0.13.1) acts_as_commentable_with_threading (1.2.0) activerecord (>= 3.0) activesupport (>= 3.0) awesome_nested_set (>= 2.0) acts_as_list (1.0.4) activerecord (>= 4.2) - addressable (2.8.0) - public_suffix (>= 2.0.2, < 5.0) + addressable (2.8.7) + public_suffix (>= 2.0.2, < 7.0) afm (0.2.2) ajax-datatables-rails (1.3.1) zeitwerk archive-zip (0.12.0) io-like (~> 0.3.0) - ast (2.4.2) + ast (2.4.3) autoprefixer-rails (10.3.1.0) execjs (~> 2) - awesome_nested_set (3.5.0) - activerecord (>= 4.0.0, < 7.1) + awesome_nested_set (3.8.0) + activerecord (>= 4.0.0, < 8.1) aws_cf_signer (0.1.3) - bcrypt (3.1.16) + base64 (0.3.0) + bcrypt (3.1.20) + benchmark (0.4.1) + bigdecimal (3.2.2) bindex (0.8.1) bootstrap-sass (3.4.1) autoprefixer-rails (>= 5.2.1) sassc (>= 2.0.0) - bootstrap-switch-rails (3.3.5) - bootstrap3-datetimepicker-rails (4.17.47) - momentjs-rails (>= 2.8.1) - builder (3.2.4) + bootstrap-switch-rails (3.3.3) + builder (3.3.0) byebug (11.1.3) cancancan (3.3.0) - capybara (3.35.3) + capybara (3.40.0) addressable + matrix mini_mime (>= 0.1.3) - nokogiri (~> 1.8) + nokogiri (~> 1.11) rack (>= 1.6.0) rack-test (>= 0.6.3) regexp_parser (>= 1.5, < 3.0) @@ -157,7 +141,8 @@ GEM actionpack (>= 3.1) caxlsx (>= 3.0) chartkick (4.1.3) - childprocess (3.0.0) + childprocess (5.1.0) + logger (~> 1.5) chronic (0.10.2) chunky_png (1.4.0) climate_control (1.0.1) @@ -166,33 +151,29 @@ GEM rest-client (>= 2.0.0) cocoon (1.2.15) colorize (0.8.1) - concurrent-ruby (1.1.9) + concurrent-ruby (1.3.5) + connection_pool (2.5.3) countable-rails (0.0.1) railties (>= 3.1) - countries (4.0.1) - i18n_data (~> 0.13.0) - sixarm_ruby_unaccent (~> 1.1) - country_select (6.0.0) - countries (~> 4.0) - sort_alphabetical (~> 1.1) crack (0.4.5) rexml crass (1.0.6) daemons (1.4.0) dalli (2.7.11) dante (0.2.0) - database_cleaner (2.0.1) - database_cleaner-active_record (~> 2.0.0) - database_cleaner-active_record (2.0.1) + database_cleaner (2.1.0) + database_cleaner-active_record (>= 2, < 3) + database_cleaner-active_record (2.2.2) activerecord (>= 5.a) - database_cleaner-core (~> 2.0.0) + database_cleaner-core (~> 2.0) database_cleaner-core (2.0.1) - delayed_job (4.1.10) - activesupport (>= 3.0, < 8.0) - delayed_job_active_record (4.1.7) - activerecord (>= 3.0, < 8.0) + date (3.4.1) + delayed_job (4.1.13) + activesupport (>= 3.0, < 9.0) + delayed_job_active_record (4.1.11) + activerecord (>= 3.0, < 9.0) delayed_job (>= 3.0, < 5) - devise (4.8.1) + devise (4.9.4) bcrypt (~> 3.0) orm_adapter (~> 0.1) railties (>= 4.1.0) @@ -200,8 +181,7 @@ GEM warden (~> 1.2.3) devise_ichain_authenticatable (0.3.2) devise (>= 2.2) - diff-lcs (1.4.4) - digest (3.1.0) + diff-lcs (1.6.2) docile (1.4.0) domain_name (0.5.20190701) unf (>= 0.0.5, < 1.0.0) @@ -209,7 +189,9 @@ GEM dotenv-rails (2.7.6) dotenv (= 2.7.6) railties (>= 3.2) - erubi (1.10.0) + drb (2.2.3) + erb (5.0.2) + erubi (1.13.1) erubis (2.7.0) execjs (2.8.1) factory_bot (6.2.0) @@ -241,12 +223,12 @@ GEM fastimage (2.2.5) feature (1.4.0) ffi (1.15.3) - font-awesome-rails (4.7.0.8) - railties (>= 3.2, < 8.0) + font-awesome-sass (6.7.2) + sassc (~> 2.0) geckodriver-helper (0.24.0) archive-zip (~> 0.7) - globalid (1.0.0) - activesupport (>= 5.0) + globalid (1.2.1) + activesupport (>= 6.1) gravtastic (3.2.6) haml (5.2.2) temple (>= 0.8.0) @@ -275,7 +257,7 @@ GEM http-accept (1.7.0) http-cookie (1.0.4) domain_name (~> 0.5) - i18n (1.9.1) + i18n (1.14.7) concurrent-ruby (~> 1.0) i18n_data (0.13.0) icalendar (2.7.1) @@ -284,8 +266,12 @@ GEM image_processing (1.12.1) mini_magick (>= 4.9.5, < 5) ruby-vips (>= 2.0.17, < 3) + io-console (0.8.1) io-like (0.3.1) - io-wait (0.2.1) + irb (1.15.2) + pp (>= 0.6.0) + rdoc (>= 4.0.0) + reline (>= 0.4.2) iso-639 (0.3.5) jquery-datatables-rails (3.4.0) actionpack (>= 3.1) @@ -303,25 +289,38 @@ GEM addressable (>= 2.4) jsonapi-renderer (0.2.2) jwt (2.2.3) - launchy (2.5.0) - addressable (~> 2.7) - leaflet-rails (1.7.0) - rails (>= 4.2.0) - letter_opener (1.7.0) - launchy (~> 2.2) - letter_opener_web (2.0.0) - actionmailer (>= 5.2) - letter_opener (~> 1.7) - railties (>= 5.2) + language_server-protocol (3.17.0.5) + launchy (3.1.1) + addressable (~> 2.8) + childprocess (~> 5.0) + logger (~> 1.6) + leaflet-rails (1.9.5) + actionpack (>= 4.2.0) + railties (>= 4.2.0) + letter_opener (1.10.0) + launchy (>= 2.2, < 4) + letter_opener_web (3.0.0) + actionmailer (>= 6.1) + letter_opener (~> 1.9) + railties (>= 6.1) rexml - loofah (2.13.0) + lint_roller (1.1.0) + logger (1.7.0) + lograge (0.14.0) + actionpack (>= 4) + activesupport (>= 4) + railties (>= 4) + request_store (~> 1.0) + loofah (2.24.1) crass (~> 1.0.2) - nokogiri (>= 1.5.9) - mail (2.7.1) + nokogiri (>= 1.12.0) + mail (2.8.1) mini_mime (>= 0.1.1) - marcel (1.0.1) + net-imap + net-pop + net-smtp + marcel (1.0.4) matrix (0.4.2) - method_source (1.0.0) mime-types (3.3.1) mime-types-data (~> 3.2015) mime-types-data (3.2021.0704) @@ -329,11 +328,9 @@ GEM open4 (~> 1.3.4) rake mini_magick (4.11.0) - mini_mime (1.1.2) - mini_portile2 (2.7.1) - minitest (5.15.0) - momentjs-rails (2.20.1) - railties (>= 3.1) + mini_mime (1.1.5) + mini_portile2 (2.8.9) + minitest (5.25.5) monetize (1.9.4) money (~> 6.12) money (6.13.8) @@ -346,28 +343,21 @@ GEM multi_json (1.15.0) multi_xml (0.6.0) multipart-post (2.1.1) - mysql2 (0.5.3) - net-imap (0.2.3) - digest + net-imap (0.5.9) + date net-protocol - strscan - net-pop (0.1.1) - digest + net-pop (0.1.2) net-protocol + net-protocol (0.2.2) timeout - net-protocol (0.1.2) - io-wait - timeout - net-smtp (0.3.1) - digest + net-smtp (0.5.1) net-protocol - timeout netrc (0.11.0) next_rails (1.0.4) colorize (>= 0.8.1) - nio4r (2.5.8) - nokogiri (1.13.1) - mini_portile2 (~> 2.7.0) + nio4r (2.7.4) + nokogiri (1.18.9) + mini_portile2 (~> 2.8.2) racc (~> 1.4) oauth2 (1.4.7) faraday (>= 0.8, < 2.0) @@ -400,12 +390,13 @@ GEM omniauth (~> 2.0) open4 (1.3.4) orm_adapter (0.5.0) - paper_trail (12.2.0) - activerecord (>= 5.2) - request_store (~> 1.1) - parallel (1.21.0) - parser (3.1.0.0) + paper_trail (16.0.0) + activerecord (>= 6.1) + request_store (~> 1.4) + parallel (1.27.0) + parser (3.3.9.0) ast (~> 2.4.1) + racc pdf-core (0.9.0) pdf-inspector (1.3.0) pdf-reader (>= 1.0, < 3.0.a) @@ -415,7 +406,9 @@ GEM hashery (~> 2.0) ruby-rc4 ttfunk - pg (1.2.3) + pg (1.6.1) + pp (0.6.2) + prettyprint prawn (2.4.0) pdf-core (~> 0.9.0) ttfunk (~> 1.7) @@ -428,68 +421,86 @@ GEM prawn-table prawn-table (0.2.2) prawn (>= 1.3.0, < 3.0.0) - public_suffix (4.0.6) + prettyprint (0.2.0) + prism (1.4.0) + psych (5.2.6) + date + stringio + public_suffix (6.0.2) puma (4.3.8) nio4r (~> 2.0) - racc (1.6.0) - rack (2.2.3) + racc (1.8.1) + rack (2.2.17) rack-openid (1.4.2) rack (>= 1.1.0) ruby-openid (>= 2.1.8) rack-protection (2.1.0) rack - rack-test (1.1.0) - rack (>= 1.0, < 3) - rails (7.0.1) - actioncable (= 7.0.1) - actionmailbox (= 7.0.1) - actionmailer (= 7.0.1) - actionpack (= 7.0.1) - actiontext (= 7.0.1) - actionview (= 7.0.1) - activejob (= 7.0.1) - activemodel (= 7.0.1) - activerecord (= 7.0.1) - activestorage (= 7.0.1) - activesupport (= 7.0.1) + rack-session (1.0.2) + rack (< 3) + rack-test (2.2.0) + rack (>= 1.3) + rackup (1.0.1) + rack (< 3) + webrick + rails (8.0.2) + actioncable (= 8.0.2) + actionmailbox (= 8.0.2) + actionmailer (= 8.0.2) + actionpack (= 8.0.2) + actiontext (= 8.0.2) + actionview (= 8.0.2) + activejob (= 8.0.2) + activemodel (= 8.0.2) + activerecord (= 8.0.2) + activestorage (= 8.0.2) + activesupport (= 8.0.2) bundler (>= 1.15.0) - railties (= 7.0.1) + railties (= 8.0.2) rails-controller-testing (1.0.5) actionpack (>= 5.0.1.rc1) actionview (>= 5.0.1.rc1) activesupport (>= 5.0.1.rc1) - rails-dom-testing (2.0.3) - activesupport (>= 4.2.0) + rails-dom-testing (2.3.0) + activesupport (>= 5.0.0) + minitest nokogiri (>= 1.6) - rails-html-sanitizer (1.4.2) - loofah (~> 2.3) - rails-i18n (7.0.1) + rails-html-sanitizer (1.6.2) + 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-i18n (8.0.1) i18n (>= 0.7, < 2) - railties (>= 6.0.0, < 8) - railties (7.0.1) - actionpack (= 7.0.1) - activesupport (= 7.0.1) - method_source + railties (>= 8.0.0, < 9) + railties (8.0.2) + actionpack (= 8.0.2) + activesupport (= 8.0.2) + 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.0.6) + rake (13.3.0) + rdoc (6.14.2) + erb + psych (>= 4.0.0) recaptcha (5.8.1) json redcarpet (3.5.1) - regexp_parser (2.2.0) - request_store (1.5.1) + regexp_parser (2.11.1) + reline (0.6.2) + io-console (~> 0.5) + request_store (1.7.0) rack (>= 1.4) - responders (3.0.1) - actionpack (>= 5.0) - railties (>= 5.0) + responders (3.1.1) + actionpack (>= 5.2) + railties (>= 5.2) rest-client (2.1.0) http-accept (>= 1.7.0, < 2.0) http-cookie (>= 1.0.2, < 2.0) mime-types (>= 1.16, < 4.0) netrc (~> 0.8) - rexml (3.2.5) + rexml (3.4.1) rolify (6.0.0) rqrcode (2.0.0) chunky_png (~> 1.0) @@ -499,34 +510,47 @@ GEM activemodel (>= 3.0) activesupport (>= 3.0) rspec-mocks (>= 2.99, < 4.0) - rspec-core (3.10.1) - rspec-support (~> 3.10.0) - rspec-expectations (3.10.1) + rspec-core (3.13.5) + rspec-support (~> 3.13.0) + rspec-expectations (3.13.5) diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.10.0) - rspec-mocks (3.10.2) + rspec-support (~> 3.13.0) + rspec-mocks (3.13.5) diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.10.0) - rspec-rails (5.0.2) - actionpack (>= 5.2) - activesupport (>= 5.2) - railties (>= 5.2) - rspec-core (~> 3.10) - rspec-expectations (~> 3.10) - rspec-mocks (~> 3.10) - rspec-support (~> 3.10) - rspec-support (3.10.2) - rubocop (1.25.1) + rspec-support (~> 3.13.0) + rspec-rails (8.0.2) + actionpack (>= 7.2) + activesupport (>= 7.2) + railties (>= 7.2) + rspec-core (~> 3.13) + rspec-expectations (~> 3.13) + rspec-mocks (~> 3.13) + rspec-support (~> 3.13) + rspec-support (3.13.4) + rubocop (1.79.2) + json (~> 2.3) + language_server-protocol (~> 3.17.0.2) + lint_roller (~> 1.1.0) parallel (~> 1.10) - parser (>= 3.1.0.0) + parser (>= 3.3.0.2) rainbow (>= 2.2.2, < 4.0) - regexp_parser (>= 1.8, < 3.0) - rexml - rubocop-ast (>= 1.15.1, < 2.0) + regexp_parser (>= 2.9.3, < 3.0) + rubocop-ast (>= 1.46.0, < 2.0) ruby-progressbar (~> 1.7) - unicode-display_width (>= 1.4.0, < 3.0) - rubocop-ast (1.15.1) - parser (>= 3.0.1.1) + unicode-display_width (>= 2.4.0, < 4.0) + rubocop-ast (1.46.0) + parser (>= 3.3.7.2) + prism (~> 1.4) + rubocop-capybara (2.22.1) + lint_roller (~> 1.1) + rubocop (~> 1.72, >= 1.72.1) + rubocop-factory_bot (2.27.1) + lint_roller (~> 1.1) + rubocop (~> 1.72, >= 1.72.1) + rubocop-performance (1.25.0) + lint_roller (~> 1.1) + rubocop (>= 1.75.0, < 2.0) + rubocop-ast (>= 1.38.0, < 2.0) rubocop-rails (2.11.3) activesupport (>= 4.2.0) rack (>= 1.1) @@ -534,16 +558,18 @@ GEM rubocop-rspec (2.4.0) rubocop (~> 1.0) rubocop-ast (>= 1.1.0) + rubocop-rspec_rails (2.29.1) + rubocop (~> 1.61) ruby-oembed (0.15.0) ruby-openid (2.9.2) - ruby-progressbar (1.11.0) + ruby-progressbar (1.13.0) ruby-rc4 (0.1.5) ruby-vips (2.1.2) ffi (~> 1.12) ruby2_keywords (0.0.5) ruby_parser (3.17.0) sexp_processor (~> 4.15, >= 4.15.1) - rubyzip (2.3.2) + rubyzip (2.4.1) sass-rails (6.0.0) sassc-rails (~> 2.1, >= 2.1.1) sassc (2.4.0) @@ -554,10 +580,12 @@ GEM sprockets (> 3.0) sprockets-rails tilt + securerandom (0.4.1) selectize-rails (0.12.6) - selenium-webdriver (3.142.7) - childprocess (>= 0.5, < 4.0) - rubyzip (>= 1.2.2) + selenium-webdriver (4.10.0) + rexml (~> 3.2, >= 3.2.5) + rubyzip (>= 1.2.2, < 3.0) + websocket (~> 1.0) sentry-rails (4.6.5) railties (>= 5.0) sentry-ruby-core (~> 4.6.0) @@ -575,11 +603,6 @@ GEM simplecov (~> 0.8) simplecov-html (0.12.3) simplecov_json_formatter (0.1.3) - sixarm_ruby_unaccent (1.2.0) - skylight (5.1.0) - activesupport (>= 5.2.0) - sort_alphabetical (1.1.0) - unicode_utils (>= 1.2.2) sprockets (4.0.2) concurrent-ruby (~> 1.0) rack (> 1, < 3) @@ -587,36 +610,38 @@ GEM actionpack (>= 4.0) activesupport (>= 4.0) sprockets (>= 3.0.0) - sqlite3 (1.4.2) ssrf_filter (1.0.7) + stringio (3.1.7) stripe (5.43.0) stripe-ruby-mock (3.1.0.rc3) dante (>= 0.2.0) multi_json (~> 1.0) stripe (> 5, < 6) - strscan (3.0.1) sysexits (1.2.0) temple (0.8.2) - thor (1.2.1) + thor (1.4.0) tilt (2.0.10) timecop (0.9.4) - timeout (0.2.0) + timeout (0.4.3) transitions (1.2.1) ttfunk (1.7.0) turbolinks (5.2.1) turbolinks-source (~> 5.2) turbolinks-source (5.2.0) - tzinfo (2.0.4) + tzinfo (2.0.6) concurrent-ruby (~> 1.0) uglifier (4.2.0) execjs (>= 0.3.0, < 3) unf (0.1.4) unf_ext unf_ext (0.0.7.7) - unicode-display_width (2.1.0) - unicode_utils (1.4.0) + unicode-display_width (3.1.4) + unicode-emoji (~> 4.0, >= 4.0.4) + unicode-emoji (4.0.4) unobtrusive_flash (3.3.1) railties + uri (1.0.3) + useragent (0.16.11) warden (1.2.9) rack (>= 2.0.9) web-console (4.1.0) @@ -624,22 +649,25 @@ GEM activemodel (>= 6.0.0) bindex (>= 0.4.0) railties (>= 6.0.0) - webdrivers (4.6.0) + webdrivers (5.3.1) nokogiri (~> 1.6) rubyzip (>= 1.3.0) - selenium-webdriver (>= 3.0, < 4.0) + selenium-webdriver (~> 4.0, < 4.11) webmock (3.14.0) addressable (>= 2.8.0) crack (>= 0.3.2) hashdiff (>= 0.4.0, < 2.0.0) - websocket-driver (0.7.5) + webrick (1.9.1) + websocket (1.2.11) + websocket-driver (0.8.0) + base64 websocket-extensions (>= 0.1.0) websocket-extensions (0.1.5) whenever (1.0.0) chronic (>= 0.6.3) xpath (3.2.0) nokogiri (~> 1.8) - zeitwerk (2.5.4) + zeitwerk (2.7.3) PLATFORMS ruby @@ -652,8 +680,7 @@ DEPENDENCIES autoprefixer-rails awesome_nested_set bootstrap-sass (~> 3.4.0) - bootstrap-switch-rails (~> 3.3.5) - bootstrap3-datetimepicker-rails (~> 4.17.47) + bootstrap-switch-rails (= 3.3.3) byebug cancancan capybara @@ -665,7 +692,6 @@ DEPENDENCIES cloudinary cocoon countable-rails - country_select daemons dalli database_cleaner @@ -676,27 +702,27 @@ DEPENDENCIES factory_bot_rails faker feature - font-awesome-rails + font-awesome-sass geckodriver-helper gravtastic haml-rails haml_lint + i18n_data icalendar iso-639 jquery-datatables-rails jquery-rails - jquery-ui-rails (~> 6.0.1) + jquery-ui-rails json-schema leaflet-rails letter_opener letter_opener_web + lograge matrix (~> 0.4) mina mini_magick money-rails - mysql2 next_rails - nokogiri (>= 1.8.1) omniauth omniauth-facebook omniauth-github @@ -708,41 +734,32 @@ DEPENDENCIES pg prawn-qrcode prawn-rails - puma (~> 4.3) - rails (~> 7) - rails-assets-bootstrap-markdown! - rails-assets-bootstrap-select! - rails-assets-date.format! - rails-assets-holderjs! - rails-assets-jquery-smooth-scroll! - rails-assets-markdown! - rails-assets-momentjs! - rails-assets-spectrum! - rails-assets-tinycolor! - rails-assets-to-markdown (~> 3)! - rails-assets-trianglify! - rails-assets-waypoints! + puma + rails (~> 8.0) rails-controller-testing rails-i18n recaptcha redcarpet responders (~> 3.0) + rexml rolify rqrcode rspec-activemodel-mocks rspec-rails rubocop + rubocop-capybara + rubocop-factory_bot + rubocop-performance rubocop-rails rubocop-rspec + rubocop-rspec_rails ruby-oembed sass-rails (>= 4.0.2) selectize-rails sentry-rails shoulda-matchers simplecov-cobertura - skylight sprockets-rails - sqlite3 stripe stripe-ruby-mock (~> 3.1.0.rc3) timecop @@ -756,7 +773,7 @@ DEPENDENCIES whenever RUBY VERSION - ruby 3.1.0 + ruby 3.3.9p170 BUNDLED WITH 2.3.3 diff --git a/app/lib/rails_version.rb b/app/lib/rails_version.rb index 415b141fa..167871aa9 100644 --- a/app/lib/rails_version.rb +++ b/app/lib/rails_version.rb @@ -9,6 +9,6 @@ # Matching on major and minor versions should be enough for most migrations. module RailsVersion def self.next? - Rails::VERSION::MAJOR == 7 && Rails::VERSION::MINOR == 2 + Rails::VERSION::MAJOR == 8 && Rails::VERSION::MINOR == 0 end end diff --git a/app/models/conference.rb b/app/models/conference.rb index 465055728..6efd70b0a 100644 --- a/app/models/conference.rb +++ b/app/models/conference.rb @@ -4,7 +4,9 @@ class Conference < ApplicationRecord include RevisionCount require 'uri' - serialize :events_per_week, Hash + + serialize :events_per_week, type: Hash + # Needed to call 'Conference.with_role' in /models/ability.rb # Dependent destroy will fail as roles#destroy will be cancelled,hence delete_all resourcify :roles, dependent: :delete_all @@ -826,7 +828,7 @@ def get_events_per_week_by_state unless result[state.to_s.capitalize] result[state.to_s.capitalize] = {} end - result[state.to_s.capitalize][week.strftime('%W').to_i] = value + result[state.to_s.capitalize][DateTime.parse(week).strftime('%W').to_i] = value end end end diff --git a/config/application.rb b/config/application.rb index fc72c02cc..3dee15b96 100644 --- a/config/application.rb +++ b/config/application.rb @@ -36,6 +36,6 @@ class Application < Rails::Application # This is a nightmare with our current data model, no one ever thought about this. config.active_record.belongs_to_required_by_default = false # https://discuss.rubyonrails.org/t/cve-2022-32224-possible-rce-escalation-bug-with-serialized-columns-in-active-record/81017 - config.active_record.yaml_column_permitted_classes = ['Date', 'DateTime', 'Symbol', 'Time', 'ActiveSupport::TimeWithZone', 'ActiveSupport::TimeZone'] + config.active_record.yaml_column_permitted_classes = [Date, DateTime, Symbol, Time, ActiveSupport::TimeWithZone, ActiveSupport::TimeZone] end end From 668f995aed54e0e7ba9e2d7d70bb600f1cea7f76 Mon Sep 17 00:00:00 2001 From: Henne Vogelsang Date: Wed, 13 Aug 2025 11:06:30 +0200 Subject: [PATCH 277/325] Disable factory linting in CI This flickers... --- .github/workflows/spec.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/spec.yml b/.github/workflows/spec.yml index 4a7c83406..d786eb165 100644 --- a/.github/workflows/spec.yml +++ b/.github/workflows/spec.yml @@ -38,7 +38,8 @@ jobs: run: | bundle exec rake db:setup --trace bundle exec bin/rails webdrivers:chromedriver:update - bundle exec rake factory_bot:lint RAILS_ENV=test + # FIXME: This flickers... + # bundle exec rake factory_bot:lint RAILS_ENV=test --trace - name: spec/${{ matrix.suite }} run: bundle exec rake spec:${{ matrix.suite }} - name: Upload Suite Artifacts From e28fcf7052ff8cb4b6481fce940f25995fbd7c73 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Wed, 13 Aug 2025 09:55:49 +0000 Subject: [PATCH 278/325] Update shoulda-matchers to version 6.5.0 --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index feeabffe9..0a75d2319 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -593,8 +593,8 @@ GEM concurrent-ruby faraday sexp_processor (4.15.3) - shoulda-matchers (4.5.1) - activesupport (>= 4.2.0) + shoulda-matchers (6.5.0) + activesupport (>= 5.2.0) simplecov (0.21.2) docile (~> 1.1) simplecov-html (~> 0.11) From 4f4cf8183fbbdff446acaf61cf802a80c22ba865 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Wed, 13 Aug 2025 10:00:21 +0000 Subject: [PATCH 279/325] Update omniauth-google-oauth2 to version 1.2.1 --- Gemfile.lock | 83 +++++++++++++++++++++++++--------------------------- 1 file changed, 40 insertions(+), 43 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index feeabffe9..868debc84 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -199,25 +199,12 @@ GEM railties (>= 5.0.0) faker (2.18.0) i18n (>= 1.6, < 2) - faraday (1.7.0) - faraday-em_http (~> 1.0) - faraday-em_synchrony (~> 1.0) - faraday-excon (~> 1.1) - faraday-httpclient (~> 1.0.1) - faraday-net_http (~> 1.0) - faraday-net_http_persistent (~> 1.1) - faraday-patron (~> 1.0) - faraday-rack (~> 1.0) - multipart-post (>= 1.2, < 3) - ruby2_keywords (>= 0.0.4) - faraday-em_http (1.0.0) - faraday-em_synchrony (1.0.0) - faraday-excon (1.1.0) - faraday-httpclient (1.0.1) - faraday-net_http (1.0.1) - faraday-net_http_persistent (1.2.0) - faraday-patron (1.0.0) - faraday-rack (1.0.0) + faraday (2.13.4) + faraday-net_http (>= 2.0, < 3.5) + json + logger + faraday-net_http (3.4.1) + net-http (>= 0.5.0) fastimage (2.2.5) feature (1.4.0) ffi (1.15.3) @@ -245,7 +232,7 @@ GEM sysexits (~> 1.1) hashdiff (1.0.1) hashery (2.1.2) - hashie (4.1.0) + hashie (5.0.0) html2haml (2.2.0) erubis (~> 2.7.0) haml (>= 4.0, < 6) @@ -286,7 +273,8 @@ GEM json-schema (2.8.1) addressable (>= 2.4) jsonapi-renderer (0.2.2) - jwt (2.2.3) + jwt (3.1.2) + base64 language_server-protocol (3.17.0.5) launchy (2.5.2) addressable (~> 2.8) @@ -336,9 +324,11 @@ GEM monetize (~> 1.9.0) money (~> 6.13.2) railties (>= 3.0) - multi_json (1.15.0) - multi_xml (0.6.0) - multipart-post (2.1.1) + multi_json (1.17.0) + multi_xml (0.7.2) + bigdecimal (~> 3.1) + net-http (0.6.0) + uri net-imap (0.5.9) date net-protocol @@ -355,29 +345,31 @@ GEM nokogiri (1.18.9) mini_portile2 (~> 2.8.2) racc (~> 1.4) - oauth2 (1.4.7) - faraday (>= 0.8, < 2.0) - jwt (>= 1.0, < 3.0) - multi_json (~> 1.3) + oauth2 (2.0.12) + faraday (>= 0.17.3, < 4.0) + jwt (>= 1.0, < 4.0) + logger (~> 1.2) multi_xml (~> 0.5) - rack (>= 1.2, < 3) - omniauth (2.0.4) + rack (>= 1.2, < 4) + snaky_hash (~> 2.0, >= 2.0.3) + version_gem (>= 1.1.8, < 3) + omniauth (2.1.3) hashie (>= 3.4.6) - rack (>= 1.6.2, < 3) + rack (>= 2.2.3) rack-protection omniauth-facebook (8.0.0) omniauth-oauth2 (~> 1.2) - omniauth-github (2.0.0) + omniauth-github (2.0.1) + omniauth (~> 2.0) + omniauth-oauth2 (~> 1.8) + omniauth-google-oauth2 (1.2.1) + jwt (>= 2.9.2) + oauth2 (~> 2.0) omniauth (~> 2.0) - omniauth-oauth2 (~> 1.7.1) - omniauth-google-oauth2 (1.0.0) - jwt (>= 2.0) - oauth2 (~> 1.1) + omniauth-oauth2 (~> 1.8) + omniauth-oauth2 (1.8.0) + oauth2 (>= 1.4, < 3) omniauth (~> 2.0) - omniauth-oauth2 (~> 1.7.1) - omniauth-oauth2 (1.7.1) - oauth2 (~> 1.4) - omniauth (>= 1.9, < 3) omniauth-openid (2.0.1) omniauth (>= 1.0, < 3.0) rack-openid (~> 1.4.0) @@ -430,8 +422,9 @@ GEM rack-openid (1.4.2) rack (>= 1.1.0) ruby-openid (>= 2.1.8) - rack-protection (2.1.0) - rack + rack-protection (3.2.0) + base64 (>= 0.1.0) + rack (~> 2.2, >= 2.2.4) rack-session (1.0.2) rack (< 3) rack-test (2.2.0) @@ -566,7 +559,6 @@ GEM ruby-rc4 (0.1.5) ruby-vips (2.1.2) ffi (~> 1.12) - ruby2_keywords (0.0.5) ruby_parser (3.17.0) sexp_processor (~> 4.15, >= 4.15.1) rubyzip (2.4.1) @@ -603,6 +595,9 @@ GEM simplecov (~> 0.8) simplecov-html (0.12.3) simplecov_json_formatter (0.1.3) + snaky_hash (2.0.3) + hashie (>= 0.1.0, < 6) + version_gem (>= 1.1.8, < 3) sprockets (4.0.2) concurrent-ruby (~> 1.0) rack (> 1, < 3) @@ -640,7 +635,9 @@ GEM unicode-emoji (4.0.4) unobtrusive_flash (3.3.1) railties + uri (1.0.3) useragent (0.16.11) + version_gem (1.1.8) warden (1.2.9) rack (>= 2.0.9) web-console (4.1.0) From 29a935bc01d8a75a1b9ca1e51fd8d63978530140 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Wed, 13 Aug 2025 10:05:30 +0000 Subject: [PATCH 280/325] Update redcarpet to version 3.6.1 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index feeabffe9..8d4cf14d2 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -482,7 +482,7 @@ GEM psych (>= 4.0.0) recaptcha (5.8.1) json - redcarpet (3.5.1) + redcarpet (3.6.1) regexp_parser (2.11.1) reline (0.6.2) io-console (~> 0.5) From 77fa2dab60ac03933a1ddc4cc00f23a0ac034b41 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Wed, 13 Aug 2025 09:56:55 +0000 Subject: [PATCH 281/325] Update Ruby to version 3.4.5 --- .ruby-version | 2 +- Gemfile.lock | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.ruby-version b/.ruby-version index 86fb65044..4f5e69734 100644 --- a/.ruby-version +++ b/.ruby-version @@ -1 +1 @@ -3.3.7 +3.4.5 diff --git a/Gemfile.lock b/Gemfile.lock index feeabffe9..22713f4f0 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -772,7 +772,7 @@ DEPENDENCIES whenever RUBY VERSION - ruby 3.3.9 + ruby 3.4.5 BUNDLED WITH - 2.5.22 + 2.6.9 From 8e5bc86f6c896600f4b176ecface28d5481d95d9 Mon Sep 17 00:00:00 2001 From: Henne Vogelsang Date: Wed, 13 Aug 2025 12:22:49 +0200 Subject: [PATCH 282/325] Update iso-639 to pull in csv which left the standard library --- Gemfile.lock | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 22713f4f0..92343084b 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -156,6 +156,7 @@ GEM crack (0.4.5) rexml crass (1.0.6) + csv (3.3.5) daemons (1.4.0) dalli (2.7.11) dante (0.2.0) @@ -270,7 +271,8 @@ GEM pp (>= 0.6.0) rdoc (>= 4.0.0) reline (>= 0.4.2) - iso-639 (0.3.5) + iso-639 (0.3.8) + csv jquery-datatables-rails (3.4.0) actionpack (>= 3.1) jquery-rails From 07171027db7d307b703dfe777aa45650e6fb16f2 Mon Sep 17 00:00:00 2001 From: Henne Vogelsang Date: Wed, 13 Aug 2025 12:28:37 +0200 Subject: [PATCH 283/325] Update factory_bot to drop observer that left the standard library --- Gemfile.lock | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 92343084b..755a437ac 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -193,11 +193,11 @@ GEM erubi (1.13.1) erubis (2.7.0) execjs (2.8.1) - factory_bot (6.2.0) - activesupport (>= 5.0.0) - factory_bot_rails (6.2.0) - factory_bot (~> 6.2.0) - railties (>= 5.0.0) + factory_bot (6.5.4) + activesupport (>= 6.1.0) + factory_bot_rails (6.5.0) + factory_bot (~> 6.5) + railties (>= 6.1.0) faker (2.18.0) i18n (>= 1.6, < 2) faraday (1.7.0) From 41dc4391b276827696f0daa7d17514c585f005b7 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Wed, 13 Aug 2025 11:15:39 +0000 Subject: [PATCH 284/325] Update dotenv to version 3.1.8 --- Gemfile.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index a30085ccf..dc72b8fc1 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -184,10 +184,10 @@ GEM docile (1.4.0) domain_name (0.5.20190701) unf (>= 0.0.5, < 1.0.0) - dotenv (2.7.6) - dotenv-rails (2.7.6) - dotenv (= 2.7.6) - railties (>= 3.2) + dotenv (3.1.8) + dotenv-rails (3.1.8) + dotenv (= 3.1.8) + railties (>= 6.1) drb (2.2.3) erb (5.0.2) erubi (1.13.1) From cef28364fbf774cf663923a6d497d3ea6666bfa6 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Wed, 13 Aug 2025 11:25:21 +0000 Subject: [PATCH 285/325] Update next_rails to version 1.4.6 --- Gemfile.lock | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index dc72b8fc1..075b1d34c 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -148,7 +148,6 @@ GEM aws_cf_signer rest-client (>= 2.0.0) cocoon (1.2.15) - colorize (0.8.1) concurrent-ruby (1.3.5) connection_pool (2.5.3) countable-rails (0.0.1) @@ -341,8 +340,8 @@ GEM net-smtp (0.5.1) net-protocol netrc (0.11.0) - next_rails (1.0.4) - colorize (>= 0.8.1) + next_rails (1.4.6) + rainbow (>= 3) nio4r (2.7.4) nokogiri (1.18.9) mini_portile2 (~> 2.8.2) From 6d1438472217c7cb0abd6ce8e293cd4c1ae4af14 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Wed, 13 Aug 2025 11:30:31 +0000 Subject: [PATCH 286/325] Update sprockets to version 4.2.2 --- Gemfile.lock | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index dc72b8fc1..62895fe8e 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -600,9 +600,10 @@ GEM snaky_hash (2.0.3) hashie (>= 0.1.0, < 6) version_gem (>= 1.1.8, < 3) - sprockets (4.0.2) + sprockets (4.2.2) concurrent-ruby (~> 1.0) - rack (> 1, < 3) + logger + rack (>= 2.2.4, < 4) sprockets-rails (3.2.2) actionpack (>= 4.0) activesupport (>= 4.0) From f66d23c75b1678cd2052b8ea1a1c445c88a13612 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Wed, 13 Aug 2025 11:35:26 +0000 Subject: [PATCH 287/325] Update ruby-vips to version 2.2.4 --- Gemfile.lock | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index dc72b8fc1..61a6c2d90 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -208,7 +208,7 @@ GEM net-http (>= 0.5.0) fastimage (2.2.5) feature (1.4.0) - ffi (1.15.3) + ffi (1.17.2) font-awesome-sass (6.7.2) sassc (~> 2.0) geckodriver-helper (0.24.0) @@ -559,8 +559,9 @@ GEM ruby-openid (2.9.2) ruby-progressbar (1.13.0) ruby-rc4 (0.1.5) - ruby-vips (2.1.2) + ruby-vips (2.2.4) ffi (~> 1.12) + logger ruby_parser (3.17.0) sexp_processor (~> 4.15, >= 4.15.1) rubyzip (2.4.1) From 2e0db322fdb7e7b9abe78b27dd2e518b7e163634 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Wed, 13 Aug 2025 11:40:48 +0000 Subject: [PATCH 288/325] Update omniauth-openid to version 2.0.2 --- Gemfile.lock | 31 +++++++++++++++++-------------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index dc72b8fc1..71c04de2c 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -372,9 +372,11 @@ GEM omniauth-oauth2 (1.8.0) oauth2 (>= 1.4, < 3) omniauth (~> 2.0) - omniauth-openid (2.0.1) - omniauth (>= 1.0, < 3.0) - rack-openid (~> 1.4.0) + omniauth-openid (2.0.2) + omniauth (>= 1.1) + rack-openid (~> 1.4) + ruby-openid (~> 2.1, >= 2.1.8) + version_gem (~> 1.1, >= 1.1.8) omniauth-rails_csrf_protection (1.0.0) actionpack (>= 4.2) omniauth (~> 2.0) @@ -420,20 +422,21 @@ GEM puma (4.3.8) nio4r (~> 2.0) racc (1.8.1) - rack (2.2.17) + rack (3.1.16) rack-openid (1.4.2) rack (>= 1.1.0) ruby-openid (>= 2.1.8) - rack-protection (3.2.0) + rack-protection (4.1.1) base64 (>= 0.1.0) - rack (~> 2.2, >= 2.2.4) - rack-session (1.0.2) - rack (< 3) + logger (>= 1.6.0) + rack (>= 3.0.0, < 4) + rack-session (2.1.1) + base64 (>= 0.1.0) + rack (>= 3.0.0) rack-test (2.2.0) rack (>= 1.3) - rackup (1.0.1) - rack (< 3) - webrick + rackup (2.2.1) + rack (>= 3) rails (7.2.2.1) actioncable (= 7.2.2.1) actionmailbox (= 7.2.2.1) @@ -600,9 +603,10 @@ GEM snaky_hash (2.0.3) hashie (>= 0.1.0, < 6) version_gem (>= 1.1.8, < 3) - sprockets (4.0.2) + sprockets (4.2.2) concurrent-ruby (~> 1.0) - rack (> 1, < 3) + logger + rack (>= 2.2.4, < 4) sprockets-rails (3.2.2) actionpack (>= 4.0) activesupport (>= 4.0) @@ -655,7 +659,6 @@ GEM addressable (>= 2.8.0) crack (>= 0.3.2) hashdiff (>= 0.4.0, < 2.0.0) - webrick (1.9.1) websocket (1.2.11) websocket-driver (0.8.0) base64 From 7d16a4e2cbf88b73272c6d742357ca29c0167a0e Mon Sep 17 00:00:00 2001 From: Henne Vogelsang Date: Wed, 13 Aug 2025 13:45:22 +0200 Subject: [PATCH 289/325] Update delayed_job to 4.1.10 --- Gemfile.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index dc72b8fc1..9551924b2 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -167,10 +167,10 @@ GEM database_cleaner-core (~> 2.0) database_cleaner-core (2.0.1) date (3.4.1) - delayed_job (4.1.10) - activesupport (>= 3.0, < 8.0) - delayed_job_active_record (4.1.7) - activerecord (>= 3.0, < 8.0) + delayed_job (4.1.13) + activesupport (>= 3.0, < 9.0) + delayed_job_active_record (4.1.11) + activerecord (>= 3.0, < 9.0) delayed_job (>= 3.0, < 5) devise (4.9.4) bcrypt (~> 3.0) From 0e504667de15ee33a47952a8de67eec4c8763aa5 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Wed, 13 Aug 2025 12:11:47 +0000 Subject: [PATCH 290/325] Update faker to version 3.5.2 --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index d9f557f6a..24bca924c 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -197,8 +197,8 @@ GEM factory_bot_rails (6.5.0) factory_bot (~> 6.5) railties (>= 6.1.0) - faker (2.18.0) - i18n (>= 1.6, < 2) + faker (3.5.2) + i18n (>= 1.8.11, < 2) faraday (2.13.4) faraday-net_http (>= 2.0, < 3.5) json From 2d4077e8c44f3bf79ea5a0e6f374b6130c6a74f8 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Wed, 13 Aug 2025 12:15:45 +0000 Subject: [PATCH 291/325] Update caxlsx to version 4.2.0 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index d9f557f6a..c22b034f0 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -132,7 +132,7 @@ GEM fastimage case_transform (0.2) activesupport - caxlsx (3.1.0) + caxlsx (4.2.0) htmlentities (~> 4.3, >= 4.3.4) marcel (~> 1.0) nokogiri (~> 1.10, >= 1.10.4) From 264c54b1802c71295d5d0feba4351619cced989e Mon Sep 17 00:00:00 2001 From: Henne Vogelsang Date: Wed, 13 Aug 2025 14:17:04 +0200 Subject: [PATCH 292/325] Update puma 4.3.8 -> 6.6.1 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 71c04de2c..b52cdabc3 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -419,7 +419,7 @@ GEM date stringio public_suffix (6.0.2) - puma (4.3.8) + puma (6.6.1) nio4r (~> 2.0) racc (1.8.1) rack (3.1.16) From e0ac460a3c27252d4c94d61607b3284d15c3c094 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Wed, 13 Aug 2025 12:25:27 +0000 Subject: [PATCH 293/325] Update prawn-rails to version 1.6.0 --- Gemfile.lock | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 5c2f306ea..18a6185f9 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -386,7 +386,7 @@ GEM parser (3.3.9.0) ast (~> 2.4.1) racc - pdf-core (0.9.0) + pdf-core (0.10.0) pdf-inspector (1.3.0) pdf-reader (>= 1.0, < 3.0.a) pdf-reader (2.5.0) @@ -398,14 +398,16 @@ GEM pg (1.6.1) pp (0.6.2) prettyprint - prawn (2.4.0) - pdf-core (~> 0.9.0) - ttfunk (~> 1.7) + prawn (2.5.0) + matrix (~> 0.4) + pdf-core (~> 0.10.0) + ttfunk (~> 1.8) prawn-qrcode (0.5.2) prawn (>= 1) rqrcode (>= 1.0.0) - prawn-rails (1.4.2) + prawn-rails (1.6.0) actionview (>= 3.1.0) + activesupport (>= 3.1.0) prawn prawn-table prawn-table (0.2.2) @@ -622,7 +624,8 @@ GEM timecop (0.9.4) timeout (0.4.3) transitions (1.2.1) - ttfunk (1.7.0) + ttfunk (1.8.0) + bigdecimal (~> 3.1) turbolinks (5.2.1) turbolinks-source (~> 5.2) turbolinks-source (5.2.0) From 425b0441dbacaa4b5186f217a740d06c7a39549c Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Wed, 13 Aug 2025 12:30:21 +0000 Subject: [PATCH 294/325] Update fastimage to version 2.4.0 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 725916667..f3db9b1fc 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -205,7 +205,7 @@ GEM logger faraday-net_http (3.4.1) net-http (>= 0.5.0) - fastimage (2.2.5) + fastimage (2.4.0) feature (1.4.0) ffi (1.17.2) font-awesome-sass (6.7.2) From 90f68683c198fe844be0918f77821f4b9479f7df Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Wed, 13 Aug 2025 12:33:59 +0000 Subject: [PATCH 295/325] Update mini_magick to version 5.3.0 --- Gemfile.lock | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 28550f3df..2a65ffcff 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -248,8 +248,8 @@ GEM icalendar (2.7.1) ice_cube (~> 0.16) ice_cube (0.16.3) - image_processing (1.12.1) - mini_magick (>= 4.9.5, < 5) + image_processing (1.14.0) + mini_magick (>= 4.9.5, < 6) ruby-vips (>= 2.0.17, < 3) io-console (0.8.1) io-like (0.3.1) @@ -312,7 +312,8 @@ GEM mina (1.2.4) open4 (~> 1.3.4) rake - mini_magick (4.11.0) + mini_magick (5.3.0) + logger mini_mime (1.1.5) mini_portile2 (2.8.9) minitest (5.25.5) From 5d4ce387a9ef9b7da6d572be555731979b6ba487 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Wed, 13 Aug 2025 12:34:00 +0000 Subject: [PATCH 296/325] Update all of sentry-ruby-core to version 5.26.0 --- Gemfile.lock | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 28550f3df..fbdcd4038 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -585,12 +585,15 @@ GEM rexml (~> 3.2, >= 3.2.5) rubyzip (>= 1.2.2, < 3.0) websocket (~> 1.0) - sentry-rails (4.6.5) + sentry-rails (5.26.0) railties (>= 5.0) - sentry-ruby-core (~> 4.6.0) - sentry-ruby-core (4.6.5) + sentry-ruby (~> 5.26.0) + sentry-ruby (5.26.0) + bigdecimal + concurrent-ruby (~> 1.0, >= 1.0.2) + sentry-ruby-core (5.26.0) concurrent-ruby - faraday + sentry-ruby (= 5.26.0) sexp_processor (4.15.3) shoulda-matchers (6.5.0) activesupport (>= 5.2.0) From 075007c944880d3cf1f41d9394dc0dd2ae8e88de Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Wed, 13 Aug 2025 12:34:03 +0000 Subject: [PATCH 297/325] Update simplecov-cobertura to version 3.0.0 --- Gemfile.lock | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 28550f3df..0e3c63326 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -180,7 +180,7 @@ GEM devise_ichain_authenticatable (0.3.2) devise (>= 2.2) diff-lcs (1.6.2) - docile (1.4.0) + docile (1.4.1) domain_name (0.5.20190701) unf (>= 0.0.5, < 1.0.0) dotenv (3.1.8) @@ -594,14 +594,15 @@ GEM sexp_processor (4.15.3) shoulda-matchers (6.5.0) activesupport (>= 5.2.0) - simplecov (0.21.2) + simplecov (0.22.0) docile (~> 1.1) simplecov-html (~> 0.11) simplecov_json_formatter (~> 0.1) - simplecov-cobertura (1.4.2) - simplecov (~> 0.8) - simplecov-html (0.12.3) - simplecov_json_formatter (0.1.3) + simplecov-cobertura (3.0.0) + rexml + simplecov (~> 0.19) + simplecov-html (0.13.2) + simplecov_json_formatter (0.1.4) snaky_hash (2.0.3) hashie (>= 0.1.0, < 6) version_gem (>= 1.1.8, < 3) From 1dcf55dc15fc724748129d26132f740ff061cbfe Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Wed, 13 Aug 2025 12:55:46 +0000 Subject: [PATCH 298/325] Update carrierwave to version 3.1.2 --- Gemfile.lock | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index b25ffd400..10f48619a 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -118,13 +118,12 @@ GEM rack-test (>= 0.6.3) regexp_parser (>= 1.5, < 3.0) xpath (~> 3.2) - carrierwave (2.2.2) - activemodel (>= 5.0.0) - activesupport (>= 5.0.0) + carrierwave (3.1.2) + activemodel (>= 6.0.0) + activesupport (>= 6.0.0) addressable (~> 2.6) image_processing (~> 1.1) marcel (~> 1.0.0) - mini_mime (>= 0.1.3) ssrf_filter (~> 1.0) carrierwave-bombshelter (0.2.2) activesupport (>= 3.2.0) @@ -592,9 +591,6 @@ GEM sentry-ruby (5.26.0) bigdecimal concurrent-ruby (~> 1.0, >= 1.0.2) - sentry-ruby-core (5.26.0) - concurrent-ruby - sentry-ruby (= 5.26.0) sexp_processor (4.15.3) shoulda-matchers (6.5.0) activesupport (>= 5.2.0) @@ -618,7 +614,7 @@ GEM actionpack (>= 4.0) activesupport (>= 4.0) sprockets (>= 3.0.0) - ssrf_filter (1.0.7) + ssrf_filter (1.3.0) stringio (3.1.7) stripe (5.43.0) stripe-ruby-mock (3.1.0.rc3) From e038d5e7d2068b8af450d3711663186596f1bf5b Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Wed, 13 Aug 2025 12:46:28 +0000 Subject: [PATCH 299/325] Update pdf-reader to version 2.14.1 --- Gemfile.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 10f48619a..788f9edfb 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,7 +1,7 @@ GEM remote: https://rubygems.org/ specs: - Ascii85 (1.1.0) + Ascii85 (2.0.1) actioncable (7.2.2.1) actionpack (= 7.2.2.1) activesupport (= 7.2.2.1) @@ -391,8 +391,8 @@ GEM pdf-core (0.10.0) pdf-inspector (1.3.0) pdf-reader (>= 1.0, < 3.0.a) - pdf-reader (2.5.0) - Ascii85 (~> 1.0) + pdf-reader (2.14.1) + Ascii85 (>= 1.0, < 3.0, != 2.0.0) afm (~> 0.2.1) hashery (~> 2.0) ruby-rc4 From 0bfdaa787cc01a57145e2676b47f403895315c02 Mon Sep 17 00:00:00 2001 From: Henne Vogelsang Date: Wed, 13 Aug 2025 16:49:35 +0200 Subject: [PATCH 300/325] Drop RailsVersion This is the same as `NextRails.next?`... --- app/lib/rails_version.rb | 14 -------------- 1 file changed, 14 deletions(-) delete mode 100644 app/lib/rails_version.rb diff --git a/app/lib/rails_version.rb b/app/lib/rails_version.rb deleted file mode 100644 index 167871aa9..000000000 --- a/app/lib/rails_version.rb +++ /dev/null @@ -1,14 +0,0 @@ -# Check which Rails version is used by the application -# -# This allows code to be migrated to a newer version of Rails while keeping the old code around -# until the migration to the newer Rails version is done. -# -# Use this module in combination with the gem next_rails and its Gemfile.next/Gemfile.next.lock. -# -# Methods of this module must match whatever Rails version is defined in Gemfile.next.lock. -# Matching on major and minor versions should be enough for most migrations. -module RailsVersion - def self.next? - Rails::VERSION::MAJOR == 8 && Rails::VERSION::MINOR == 0 - end -end From 9c09fae772117f6eb56ad4dba751253c7f814a6a Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Wed, 13 Aug 2025 12:50:52 +0000 Subject: [PATCH 301/325] Update launchy to version 3.1.1 --- Gemfile.lock | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 788f9edfb..75fcc8a72 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -140,6 +140,8 @@ GEM actionpack (>= 3.1) caxlsx (>= 3.0) chartkick (4.1.3) + childprocess (5.1.0) + logger (~> 1.5) chronic (0.10.2) chunky_png (1.4.0) climate_control (1.0.1) @@ -276,8 +278,10 @@ GEM jwt (3.1.2) base64 language_server-protocol (3.17.0.5) - launchy (2.5.2) + launchy (3.1.1) addressable (~> 2.8) + childprocess (~> 5.0) + logger (~> 1.6) leaflet-rails (1.9.5) actionpack (>= 4.2.0) railties (>= 4.2.0) From 8a8d38b3935b5824597ee14871ec02cdb06abd87 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Wed, 13 Aug 2025 13:11:36 +0000 Subject: [PATCH 302/325] Update cloudinary to version 2.3.1 --- Gemfile.lock | 32 +++++++++++--------------------- 1 file changed, 11 insertions(+), 21 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 788f9edfb..c9502460d 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -96,7 +96,6 @@ GEM execjs (~> 2) awesome_nested_set (3.8.0) activerecord (>= 4.0.0, < 8.1) - aws_cf_signer (0.1.3) base64 (0.3.0) bcrypt (3.1.20) benchmark (0.4.1) @@ -143,9 +142,11 @@ GEM chronic (0.10.2) chunky_png (1.4.0) climate_control (1.0.1) - cloudinary (1.20.0) - aws_cf_signer - rest-client (>= 2.0.0) + cloudinary (2.3.1) + faraday (>= 2.0.1, < 3.0.0) + faraday-follow_redirects (~> 0.3.0) + faraday-multipart (~> 1.0, >= 1.0.4) + ostruct cocoon (1.2.15) concurrent-ruby (1.3.5) connection_pool (2.5.3) @@ -180,8 +181,6 @@ GEM devise (>= 2.2) diff-lcs (1.6.2) docile (1.4.1) - domain_name (0.5.20190701) - unf (>= 0.0.5, < 1.0.0) dotenv (3.1.8) dotenv-rails (3.1.8) dotenv (= 3.1.8) @@ -202,6 +201,10 @@ GEM faraday-net_http (>= 2.0, < 3.5) json logger + faraday-follow_redirects (0.3.0) + faraday (>= 1, < 3) + faraday-multipart (1.1.1) + multipart-post (~> 2.0) faraday-net_http (3.4.1) net-http (>= 0.5.0) fastimage (2.4.0) @@ -238,9 +241,6 @@ GEM nokogiri (>= 1.6.0) ruby_parser (~> 3.5) htmlentities (4.3.4) - http-accept (1.7.0) - http-cookie (1.0.4) - domain_name (~> 0.5) i18n (1.14.7) concurrent-ruby (~> 1.0) i18n_data (0.13.0) @@ -305,9 +305,6 @@ GEM net-smtp marcel (1.0.4) matrix (0.4.2) - mime-types (3.3.1) - mime-types-data (~> 3.2015) - mime-types-data (3.2021.0704) mina (1.2.4) open4 (~> 1.3.4) rake @@ -328,6 +325,7 @@ GEM multi_json (1.17.0) multi_xml (0.7.2) bigdecimal (~> 3.1) + multipart-post (2.4.1) net-http (0.6.0) uri net-imap (0.5.9) @@ -339,7 +337,6 @@ GEM timeout net-smtp (0.5.1) net-protocol - netrc (0.11.0) next_rails (1.4.6) rainbow (>= 3) nio4r (2.7.4) @@ -381,6 +378,7 @@ GEM omniauth (~> 2.0) open4 (1.3.4) orm_adapter (0.5.0) + ostruct (0.6.3) paper_trail (16.0.0) activerecord (>= 6.1) request_store (~> 1.4) @@ -490,11 +488,6 @@ GEM responders (3.1.1) actionpack (>= 5.2) railties (>= 5.2) - rest-client (2.1.0) - http-accept (>= 1.7.0, < 2.0) - http-cookie (>= 1.0.2, < 2.0) - mime-types (>= 1.16, < 4.0) - netrc (~> 0.8) rexml (3.4.1) rolify (6.0.0) rqrcode (2.0.0) @@ -637,9 +630,6 @@ GEM concurrent-ruby (~> 1.0) uglifier (4.2.0) execjs (>= 0.3.0, < 3) - unf (0.1.4) - unf_ext - unf_ext (0.0.7.7) unicode-display_width (3.1.4) unicode-emoji (~> 4.0, >= 4.0.4) unicode-emoji (4.0.4) From 720e69651c1df4c2a906caec1168e4310a8d6182 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Wed, 13 Aug 2025 14:20:25 +0000 Subject: [PATCH 303/325] Update icalendar to version 2.11.2 --- Gemfile.lock | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 788f9edfb..cae83544e 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -244,9 +244,12 @@ GEM i18n (1.14.7) concurrent-ruby (~> 1.0) i18n_data (0.13.0) - icalendar (2.7.1) + icalendar (2.11.2) + base64 ice_cube (~> 0.16) - ice_cube (0.16.3) + logger + ostruct + ice_cube (0.17.0) image_processing (1.14.0) mini_magick (>= 4.9.5, < 6) ruby-vips (>= 2.0.17, < 3) @@ -381,6 +384,7 @@ GEM omniauth (~> 2.0) open4 (1.3.4) orm_adapter (0.5.0) + ostruct (0.6.3) paper_trail (16.0.0) activerecord (>= 6.1) request_store (~> 1.4) From 97cc0b3d6acb99f3a03fc4ffc92044349957fd42 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Wed, 13 Aug 2025 15:07:23 +0000 Subject: [PATCH 304/325] Update tilt to version 2.6.1 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 788f9edfb..04a6f56e9 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -624,7 +624,7 @@ GEM sysexits (1.2.0) temple (0.8.2) thor (1.4.0) - tilt (2.0.10) + tilt (2.6.1) timecop (0.9.4) timeout (0.4.3) transitions (1.2.1) From c5cbf38639858de17826a4bd53e9dfc657e799ea Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Wed, 13 Aug 2025 15:08:31 +0000 Subject: [PATCH 305/325] Update chartkick to version 5.2.0 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 75fcc8a72..5a4621b54 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -139,7 +139,7 @@ GEM caxlsx_rails (0.6.2) actionpack (>= 3.1) caxlsx (>= 3.0) - chartkick (4.1.3) + chartkick (5.2.0) childprocess (5.1.0) logger (~> 1.5) chronic (0.10.2) From 8336f0cce58ba564a627d7f36e4773a7699bb498 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Wed, 13 Aug 2025 15:10:02 +0000 Subject: [PATCH 306/325] Update matrix to version 0.4.3 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index d67b80054..7af207514 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -308,7 +308,7 @@ GEM net-pop net-smtp marcel (1.0.4) - matrix (0.4.2) + matrix (0.4.3) mina (1.2.4) open4 (~> 1.3.4) rake From 378ba175d5183ccdcb01125269e085d04c4c260e Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Wed, 13 Aug 2025 15:10:54 +0000 Subject: [PATCH 307/325] Update recaptcha to version 5.20.1 --- Gemfile.lock | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 034adf0d5..35ee4a0bd 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -484,8 +484,7 @@ GEM rdoc (6.14.2) erb psych (>= 4.0.0) - recaptcha (5.8.1) - json + recaptcha (5.20.1) redcarpet (3.6.1) regexp_parser (2.11.1) reline (0.6.2) From bd9fdd002cdcfd1ea6aa5b4e8b4f563404ce3992 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Wed, 13 Aug 2025 15:15:47 +0000 Subject: [PATCH 308/325] Update temple to version 0.10.4 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 034adf0d5..5039887b7 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -622,7 +622,7 @@ GEM multi_json (~> 1.0) stripe (> 5, < 6) sysexits (1.2.0) - temple (0.8.2) + temple (0.10.4) thor (1.4.0) tilt (2.0.10) timecop (0.9.4) From 59270e0691da4aa8dda41786415ec9d329f9ec3c Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Wed, 13 Aug 2025 15:20:38 +0000 Subject: [PATCH 309/325] Update byebug to version 12.0.0 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 034adf0d5..0657c87c4 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -106,7 +106,7 @@ GEM sassc (>= 2.0.0) bootstrap-switch-rails (3.3.3) builder (3.3.0) - byebug (11.1.3) + byebug (12.0.0) cancancan (3.3.0) capybara (3.40.0) addressable From d0cb4d01f93d02495d994010895d8657f009116b Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Wed, 13 Aug 2025 15:30:26 +0000 Subject: [PATCH 310/325] Update rqrcode_core to version 2.0.0 --- Gemfile.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index fe8b52c88..6dacd6148 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -496,10 +496,10 @@ GEM railties (>= 5.2) rexml (3.4.1) rolify (6.0.0) - rqrcode (2.0.0) + rqrcode (3.1.0) chunky_png (~> 1.0) - rqrcode_core (~> 1.0) - rqrcode_core (1.1.0) + rqrcode_core (~> 2.0) + rqrcode_core (2.0.0) rspec-activemodel-mocks (1.1.0) activemodel (>= 3.0) activesupport (>= 3.0) From ebf972a69b3bd0e2083d54269df249657bf983da Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Wed, 13 Aug 2025 15:35:37 +0000 Subject: [PATCH 311/325] Update rqrcode to version 3.1.0 --- Gemfile.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index fe8b52c88..6dacd6148 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -496,10 +496,10 @@ GEM railties (>= 5.2) rexml (3.4.1) rolify (6.0.0) - rqrcode (2.0.0) + rqrcode (3.1.0) chunky_png (~> 1.0) - rqrcode_core (~> 1.0) - rqrcode_core (1.1.0) + rqrcode_core (~> 2.0) + rqrcode_core (2.0.0) rspec-activemodel-mocks (1.1.0) activemodel (>= 3.0) activesupport (>= 3.0) From 3351030c84a81159364d923bffed39cd6e9b4052 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Wed, 13 Aug 2025 15:41:08 +0000 Subject: [PATCH 312/325] Update io-like to version 0.4.0 --- Gemfile.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index fe8b52c88..a00135274 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -89,8 +89,8 @@ GEM afm (0.2.2) ajax-datatables-rails (1.3.1) zeitwerk - archive-zip (0.12.0) - io-like (~> 0.3.0) + archive-zip (0.13.1) + io-like (~> 0.4.0) ast (2.4.3) autoprefixer-rails (10.3.1.0) execjs (~> 2) @@ -256,7 +256,7 @@ GEM mini_magick (>= 4.9.5, < 6) ruby-vips (>= 2.0.17, < 3) io-console (0.8.1) - io-like (0.3.1) + io-like (0.4.0) irb (1.15.2) pp (>= 0.6.0) rdoc (>= 4.0.0) From 326640662664f6655fe7e52f6c3dff24261a16e1 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Wed, 13 Aug 2025 15:45:59 +0000 Subject: [PATCH 313/325] Update afm to version 1.0.0 --- Gemfile.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index fe8b52c88..d963ce718 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -86,7 +86,7 @@ GEM activerecord (>= 4.2) addressable (2.8.7) public_suffix (>= 2.0.2, < 7.0) - afm (0.2.2) + afm (1.0.0) ajax-datatables-rails (1.3.1) zeitwerk archive-zip (0.12.0) @@ -396,9 +396,9 @@ GEM pdf-core (0.10.0) pdf-inspector (1.3.0) pdf-reader (>= 1.0, < 3.0.a) - pdf-reader (2.14.1) + pdf-reader (2.15.0) Ascii85 (>= 1.0, < 3.0, != 2.0.0) - afm (~> 0.2.1) + afm (>= 0.2.1, < 2) hashery (~> 2.0) ruby-rc4 ttfunk From 3c7ec664c1a85958d424bf5b210fbe521185a0b1 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Wed, 13 Aug 2025 15:50:30 +0000 Subject: [PATCH 314/325] Update archive-zip to version 0.13.1 --- Gemfile.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index fe8b52c88..a00135274 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -89,8 +89,8 @@ GEM afm (0.2.2) ajax-datatables-rails (1.3.1) zeitwerk - archive-zip (0.12.0) - io-like (~> 0.3.0) + archive-zip (0.13.1) + io-like (~> 0.4.0) ast (2.4.3) autoprefixer-rails (10.3.1.0) execjs (~> 2) @@ -256,7 +256,7 @@ GEM mini_magick (>= 4.9.5, < 6) ruby-vips (>= 2.0.17, < 3) io-console (0.8.1) - io-like (0.3.1) + io-like (0.4.0) irb (1.15.2) pp (>= 0.6.0) rdoc (>= 4.0.0) From aaff07e48b56b047fe92db4af02c11e6fa2d4eb4 Mon Sep 17 00:00:00 2001 From: Henne Vogelsang Date: Tue, 10 Jun 2025 12:21:56 +0200 Subject: [PATCH 315/325] Put the ticket token into the registration export --- app/views/admin/registrations/index.xlsx.axlsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/views/admin/registrations/index.xlsx.axlsx b/app/views/admin/registrations/index.xlsx.axlsx index a95c163e5..596d9fd27 100644 --- a/app/views/admin/registrations/index.xlsx.axlsx +++ b/app/views/admin/registrations/index.xlsx.axlsx @@ -3,7 +3,7 @@ wb = xlsx_package.workbook wb.add_worksheet(name: 'registrations') do |sheet| bold_style = wb.styles.add_style(b: true) - row = ['Attended', 'Name', 'Nickname', 'Affilιation', 'Email'] + row = ['Attended', 'Name', 'Nickname', 'Affilιation', 'Email', 'Ticket Token'] @conference.questions.each do |question| row << question.title @@ -18,6 +18,7 @@ wb.add_worksheet(name: 'registrations') do |sheet| row << registration.nickname row << registration.affiliation row << registration.email + row << registration.user.physical_tickets.by_conference(@conference).first&.token @conference.questions.each do |question| qa = registration.qanswers.find_by(question: question) answer = ( qa ? qa.answer.title : '' ) From 6668f90910f1421290b10127964cdf03484e9214 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Thu, 14 Aug 2025 10:16:04 +0000 Subject: [PATCH 316/325] Update rspec-activemodel-mocks to version 1.3.0 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 345cd3e7d..f2653ff52 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -500,7 +500,7 @@ GEM chunky_png (~> 1.0) rqrcode_core (~> 2.0) rqrcode_core (2.0.0) - rspec-activemodel-mocks (1.1.0) + rspec-activemodel-mocks (1.3.0) activemodel (>= 3.0) activesupport (>= 3.0) rspec-mocks (>= 2.99, < 4.0) From d8faa3afc3858442204d859cdd8fcace7c8c62f4 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Wed, 13 Aug 2025 15:55:26 +0000 Subject: [PATCH 317/325] Update haml_lint to version 0.65.1 --- Gemfile.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 345cd3e7d..8bd725bd9 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -228,11 +228,11 @@ GEM haml (>= 4.0.6, < 6.0) html2haml (>= 1.0.1) railties (>= 5.1) - haml_lint (0.37.1) - haml (>= 4.0, < 5.3) + haml_lint (0.65.1) + haml (>= 5.0) parallel (~> 1.10) rainbow - rubocop (>= 0.50.0) + rubocop (>= 1.0) sysexits (~> 1.1) hashdiff (1.0.1) hashery (2.1.2) @@ -486,7 +486,7 @@ GEM psych (>= 4.0.0) recaptcha (5.20.1) redcarpet (3.6.1) - regexp_parser (2.11.1) + regexp_parser (2.11.2) reline (0.6.2) io-console (~> 0.5) request_store (1.7.0) From 762809b03101946f4f5a6cf52a0769e52e32ba4e Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Tue, 19 Aug 2025 13:45:59 +0000 Subject: [PATCH 318/325] Update json-schema to version 6.0.0 --- Gemfile.lock | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 3e0774eef..4bcc1c734 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -275,8 +275,9 @@ GEM jquery-ui-rails (6.0.1) railties (>= 3.2.16) json (2.13.2) - json-schema (2.8.1) - addressable (>= 2.4) + json-schema (6.0.0) + addressable (~> 2.8) + bigdecimal (~> 3.1) jsonapi-renderer (0.2.2) jwt (3.1.2) base64 From 2756a9e84b20df11e17b6bde9540c011b76c8e31 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Wed, 20 Aug 2025 09:29:36 +0000 Subject: [PATCH 319/325] Update rubocop-rails to version 2.33.3 --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 3e0774eef..0cbf8c42c 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -545,7 +545,7 @@ GEM lint_roller (~> 1.1) rubocop (>= 1.75.0, < 2.0) rubocop-ast (>= 1.38.0, < 2.0) - rubocop-rails (2.33.1) + rubocop-rails (2.33.3) activesupport (>= 4.2.0) lint_roller (~> 1.1) rack (>= 1.1) @@ -636,7 +636,7 @@ GEM concurrent-ruby (~> 1.0) uglifier (4.2.0) execjs (>= 0.3.0, < 3) - unicode-display_width (3.1.4) + unicode-display_width (3.1.5) unicode-emoji (~> 4.0, >= 4.0.4) unicode-emoji (4.0.4) unobtrusive_flash (3.3.1) From 0af86f55c32a399b344a2096b4d817c3a06b5bd1 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Wed, 20 Aug 2025 09:32:18 +0000 Subject: [PATCH 320/325] Update haml-rails to version 2.1.0 --- Gemfile.lock | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 3e0774eef..ad4d53d95 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -190,7 +190,6 @@ GEM drb (2.2.3) erb (5.0.2) erubi (1.13.1) - erubis (2.7.0) execjs (2.8.1) factory_bot (6.5.4) activesupport (>= 6.1.0) @@ -219,14 +218,14 @@ GEM globalid (1.2.1) activesupport (>= 6.1) gravtastic (3.2.6) - haml (5.2.2) - temple (>= 0.8.0) + haml (6.3.0) + temple (>= 0.8.2) + thor tilt - haml-rails (2.0.1) + haml-rails (2.1.0) actionpack (>= 5.1) activesupport (>= 5.1) - haml (>= 4.0.6, < 6.0) - html2haml (>= 1.0.1) + haml (>= 4.0.6) railties (>= 5.1) haml_lint (0.65.1) haml (>= 5.0) @@ -237,11 +236,6 @@ GEM hashdiff (1.0.1) hashery (2.1.2) hashie (5.0.0) - html2haml (2.2.0) - erubis (~> 2.7.0) - haml (>= 4.0, < 6) - nokogiri (>= 1.6.0) - ruby_parser (~> 3.5) htmlentities (4.3.4) i18n (1.14.7) concurrent-ruby (~> 1.0) @@ -565,8 +559,6 @@ GEM ruby-vips (2.2.4) ffi (~> 1.12) logger - ruby_parser (3.17.0) - sexp_processor (~> 4.15, >= 4.15.1) rubyzip (2.4.1) sass-rails (6.0.0) sassc-rails (~> 2.1, >= 2.1.1) @@ -590,7 +582,6 @@ GEM sentry-ruby (5.26.0) bigdecimal concurrent-ruby (~> 1.0, >= 1.0.2) - sexp_processor (4.15.3) shoulda-matchers (6.5.0) activesupport (>= 5.2.0) simplecov (0.22.0) From d45e6797cf137114783624473952388722b6558a Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Thu, 21 Aug 2025 00:46:05 +0000 Subject: [PATCH 321/325] Update haml_lint to version 0.66.0 --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index ad4d53d95..7c4fb9bc1 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -227,7 +227,7 @@ GEM activesupport (>= 5.1) haml (>= 4.0.6) railties (>= 5.1) - haml_lint (0.65.1) + haml_lint (0.66.0) haml (>= 5.0) parallel (~> 1.10) rainbow @@ -627,7 +627,7 @@ GEM concurrent-ruby (~> 1.0) uglifier (4.2.0) execjs (>= 0.3.0, < 3) - unicode-display_width (3.1.4) + unicode-display_width (3.1.5) unicode-emoji (~> 4.0, >= 4.0.4) unicode-emoji (4.0.4) unobtrusive_flash (3.3.1) From ff140c1969b11b1e1c022c0ad65fd4195959447d Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Sat, 23 Aug 2025 07:15:48 +0000 Subject: [PATCH 322/325] Update caxlsx to version 4.3.0 --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index ad4d53d95..99187a5ea 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -130,11 +130,11 @@ GEM fastimage case_transform (0.2) activesupport - caxlsx (4.2.0) + caxlsx (4.3.0) htmlentities (~> 4.3, >= 4.3.4) marcel (~> 1.0) nokogiri (~> 1.10, >= 1.10.4) - rubyzip (>= 1.3.0, < 3) + rubyzip (>= 2.4, < 4) caxlsx_rails (0.6.2) actionpack (>= 3.1) caxlsx (>= 3.0) From 9d4cf0799eeca7174bec00b4fa3d4aac1eec4973 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Tue, 26 Aug 2025 20:16:22 +0000 Subject: [PATCH 323/325] Update mini_magick to version 5.3.1 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 01d4ff39c..0dc2255a6 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -310,7 +310,7 @@ GEM mina (1.2.4) open4 (~> 1.3.4) rake - mini_magick (5.3.0) + mini_magick (5.3.1) logger mini_mime (1.1.5) mini_portile2 (2.8.9) From 1ab2b3b276e48274fa1a9ea87df85d4e77aefdcc Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Wed, 27 Aug 2025 13:16:00 +0000 Subject: [PATCH 324/325] Update ruby-vips to version 2.2.5 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 0dc2255a6..1bbb7002b 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -557,7 +557,7 @@ GEM ruby-openid (2.9.2) ruby-progressbar (1.13.0) ruby-rc4 (0.1.5) - ruby-vips (2.2.4) + ruby-vips (2.2.5) ffi (~> 1.12) logger rubyzip (2.4.1) From 1c42acb15897c4ba93eb82d8b7f08d305ee02dac Mon Sep 17 00:00:00 2001 From: Michael Ball Date: Tue, 16 Sep 2025 21:28:18 -0700 Subject: [PATCH 325/325] use ruby 3.4 --- .tool-versions | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.tool-versions b/.tool-versions index c47fe8b0d..d77f783f8 100644 --- a/.tool-versions +++ b/.tool-versions @@ -1,2 +1,2 @@ -ruby 3.3.8 +ruby 3.4.5 nodejs 16.20.2