Skip to content

Commit 3c821ff

Browse files
committed
Only set the scmsync package for selected actions
1 parent cefbb90 commit 3c821ff

File tree

8 files changed

+30
-7
lines changed

8 files changed

+30
-7
lines changed

src/api/app/controllers/webui/package_controller.rb

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,11 @@ class Webui::PackageController < Webui::WebuiController
2222
before_action :set_package, only: %i[edit update show requests statistics revisions
2323
branch_diff_info rdiff remove
2424
save_person save_group remove_role view_file
25-
buildresult rpmlint_result rpmlint_log rpmlint_summary files users]
25+
buildresult rpmlint_result rpmlint_log rpmlint_summary files users],
26+
unless: -> { Flipper.enabled?(:scmsync, User.session) }
27+
before_action :set_package_with_scmsync, only: %i[show revisions branch_diff_info rdiff view_file buildresult
28+
rpmlint_result rpmlint_log rpmlint_summary files users],
29+
if: -> { Flipper.enabled?(:scmsync, User.session) }
2630
# rubocop:enable Rails/LexicallyScopedActionFilter
2731
before_action :lints_list, only: %i[rpmlint_summary]
2832

src/api/app/controllers/webui/packages/binaries_controller.rb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@ class BinariesController < Webui::WebuiController
1414
before_action :require_login, except: [:index]
1515
before_action :set_project
1616
before_action :check_scmsync, unless: -> { Flipper.enabled?(:scmsync, User.session) }
17-
before_action :set_package
17+
before_action :set_package, unless: -> { Flipper.enabled?(:scmsync, User.session) }
18+
before_action :set_package_with_scmsync, if: -> { Flipper.enabled?(:scmsync, User.session) }
1819
before_action :set_multibuild_flavor
1920
before_action :set_repository
2021
before_action :set_architecture, only: %i[show dependency filelist]

src/api/app/controllers/webui/packages/build_reason_controller.rb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@ class BuildReasonController < Webui::WebuiController
55

66
before_action :set_project
77
before_action :check_scmsync, unless: -> { Flipper.enabled?(:scmsync, User.session) }
8-
before_action :set_package
8+
before_action :set_package, unless: -> { Flipper.enabled?(:scmsync, User.session) }
9+
before_action :set_package_with_scmsync, if: -> { Flipper.enabled?(:scmsync, User.session) }
910
before_action :set_repository
1011
before_action :set_architecture
1112

src/api/app/controllers/webui/packages/files_controller.rb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@ class FilesController < Webui::WebuiController
66

77
before_action :set_project
88
before_action :check_scmsync, only: :show, unless: -> { Flipper.enabled?(:scmsync, User.session) }
9-
before_action :set_package
9+
before_action :set_package, unless: -> { Flipper.enabled?(:scmsync, User.session) }
10+
before_action :set_package_with_scmsync, if: -> { Flipper.enabled?(:scmsync, User.session) }
1011
before_action :set_filename, only: %i[show update destroy blame]
1112
before_action :ensure_existence, only: %i[show blame]
1213
before_action :ensure_viewable, only: %i[show blame]

src/api/app/controllers/webui/packages/job_history_controller.rb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@ class JobHistoryController < Webui::WebuiController
55

66
before_action :set_project
77
before_action :check_scmsync, unless: -> { Flipper.enabled?(:scmsync, User.session) }
8-
before_action :set_package
8+
before_action :set_package, unless: -> { Flipper.enabled?(:scmsync, User.session) }
9+
before_action :set_package_with_scmsync, if: -> { Flipper.enabled?(:scmsync, User.session) }
910
before_action :set_repository
1011
before_action :set_architecture
1112

src/api/app/controllers/webui/packages/meta_controller.rb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@ class MetaController < Webui::WebuiController
44
include ScmsyncChecker
55

66
before_action :set_project
7-
before_action :set_package
7+
before_action :set_package, unless: -> { Flipper.enabled?(:scmsync, User.session) }
8+
before_action :set_package_with_scmsync, if: -> { Flipper.enabled?(:scmsync, User.session) }
89

910
before_action :check_scmsync, unless: -> { Flipper.enabled?(:scmsync, User.session) }
1011
before_action :validate_xml, only: :update

src/api/app/controllers/webui/repositories_controller.rb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@ class Webui::RepositoriesController < Webui::WebuiController
55
before_action :check_scmsync, if: -> { params[:package] && !Flipper.enabled?(:scmsync, User.session) }
66
before_action :set_repository, only: [:state]
77
before_action :set_architectures, only: %i[index change_flag]
8-
before_action :set_package, only: %i[index change_flag], if: -> { params[:package] }
8+
before_action :set_package, only: %i[index change_flag], if: -> { params[:package] && !Flipper.enabled?(:scmsync, User.session) }
9+
before_action :set_package_with_scmsync, only: %i[index change_flag], if: -> { params[:package] && Flipper.enabled?(:scmsync, User.session) }
910
before_action :set_main_object, only: %i[index change_flag]
1011
before_action :check_ajax, only: :change_flag
1112
after_action :verify_authorized, except: %i[index state]

src/api/app/controllers/webui/webui_controller.rb

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,19 @@ def set_package
100100

101101
return if @package_name.blank?
102102

103+
begin
104+
@package = Package.get_by_project_and_name(@project.name, @package_name, follow_multibuild: true)
105+
# why it's not found is of no concern
106+
rescue APIError
107+
raise Package::UnknownObjectError, "Package not found: #{@project.name}/#{@package_name}"
108+
end
109+
end
110+
111+
def set_package_with_scmsync
112+
@package_name = params[:package] || params[:package_name]
113+
114+
return if @package_name.blank?
115+
103116
begin
104117
@package = Package.get_by_project_and_name(@project.name, @package_name,
105118
follow_multibuild: true,

0 commit comments

Comments
 (0)