diff options
Diffstat (limited to 'app/services')
-rw-r--r-- | app/services/issuable/import_csv/base_service.rb | 8 | ||||
-rw-r--r-- | app/services/projects/update_pages_service.rb | 2 | ||||
-rw-r--r-- | app/services/releases/base_service.rb | 20 | ||||
-rw-r--r-- | app/services/releases/create_service.rb | 22 | ||||
-rw-r--r-- | app/services/users/approve_service.rb | 9 |
5 files changed, 19 insertions, 42 deletions
diff --git a/app/services/issuable/import_csv/base_service.rb b/app/services/issuable/import_csv/base_service.rb index bf5f643a51b..77a096e7586 100644 --- a/app/services/issuable/import_csv/base_service.rb +++ b/app/services/issuable/import_csv/base_service.rb @@ -38,7 +38,7 @@ module Issuable def with_csv_lines csv_data = @csv_io.open(&:read).force_encoding(Encoding::UTF_8) - verify_headers!(csv_data) + validate_headers_presence!(csv_data.lines.first) csv_parsing_params = { col_sep: detect_col_sep(csv_data.lines.first), @@ -49,9 +49,9 @@ module Issuable CSV.new(csv_data, csv_parsing_params).each.with_index(2) end - def verify_headers!(data) - headers = data.lines.first.downcase - return if headers.include?('title') && headers.include?('description') + def validate_headers_presence!(headers) + headers.downcase! if headers + return if headers && headers.include?('title') && headers.include?('description') raise CSV::MalformedCSVError end diff --git a/app/services/projects/update_pages_service.rb b/app/services/projects/update_pages_service.rb index b9c579a130f..f4a08169af7 100644 --- a/app/services/projects/update_pages_service.rb +++ b/app/services/projects/update_pages_service.rb @@ -125,8 +125,6 @@ module Projects end def create_pages_deployment(artifacts_path, build) - return unless Feature.enabled?(:zip_pages_deployments, project, default_enabled: true) - # we're using the full archive and pages daemon needs to read it # so we want the total count from entries, not only "public/" directory # because it better approximates work we need to do before we can serve the site diff --git a/app/services/releases/base_service.rb b/app/services/releases/base_service.rb index 38ef80ced56..d0e1577bd8d 100644 --- a/app/services/releases/base_service.rb +++ b/app/services/releases/base_service.rb @@ -11,8 +11,6 @@ module Releases @project, @current_user, @params = project, user, params.dup end - delegate :repository, to: :project - def tag_name params[:tag] end @@ -39,22 +37,18 @@ module Releases end end - def existing_tag - strong_memoize(:existing_tag) do - repository.find_tag(tag_name) - end - end - - def tag_exist? - existing_tag.present? - end - def repository strong_memoize(:repository) do project.repository end end + def existing_tag + strong_memoize(:existing_tag) do + repository.find_tag(tag_name) + end + end + def milestones return [] unless param_for_milestone_titles_provided? @@ -78,7 +72,7 @@ module Releases end def param_for_milestone_titles_provided? - params.key?(:milestones) + !!params[:milestones] end def execute_hooks(release, action = 'create') diff --git a/app/services/releases/create_service.rb b/app/services/releases/create_service.rb index deefe559d5d..11fdbaf3169 100644 --- a/app/services/releases/create_service.rb +++ b/app/services/releases/create_service.rb @@ -10,7 +10,7 @@ module Releases # should be found before the creation of new tag # because tag creation can spawn new pipeline # which won't have any data for evidence yet - evidence_pipeline = find_evidence_pipeline + evidence_pipeline = Releases::EvidencePipelineFinder.new(project, params).execute tag = ensure_tag @@ -78,26 +78,10 @@ module Releases ) end - def find_evidence_pipeline - # TODO: remove this with the release creation moved to it's own form https://gitlab.com/gitlab-org/gitlab/-/issues/214245 - return params[:evidence_pipeline] if params[:evidence_pipeline] - - sha = existing_tag&.dereferenced_target&.sha - sha ||= repository.commit(ref)&.sha - - return unless sha - - project.ci_pipelines.for_sha(sha).last - end - def create_evidence!(release, pipeline) - return if release.historical_release? + return if release.historical_release? || release.upcoming_release? - if release.upcoming_release? - CreateEvidenceWorker.perform_at(release.released_at, release.id, pipeline&.id) - else - CreateEvidenceWorker.perform_async(release.id, pipeline&.id) - end + ::Releases::CreateEvidenceWorker.perform_async(release.id, pipeline&.id) end end end diff --git a/app/services/users/approve_service.rb b/app/services/users/approve_service.rb index 27668e9430e..debd1e8cd17 100644 --- a/app/services/users/approve_service.rb +++ b/app/services/users/approve_service.rb @@ -7,8 +7,9 @@ module Users end def execute(user) - return error(_('You are not allowed to approve a user')) unless allowed? - return error(_('The user you are trying to approve is not pending an approval')) unless approval_required?(user) + return error(_('You are not allowed to approve a user'), :forbidden) unless allowed? + return error(_('The user you are trying to approve is not pending an approval'), :conflict) if user.active? + return error(_('The user you are trying to approve is not pending an approval'), :conflict) unless approval_required?(user) if user.activate # Resends confirmation email if the user isn't confirmed yet. @@ -18,9 +19,9 @@ module Users DeviseMailer.user_admin_approval(user).deliver_later after_approve_hook(user) - success + success(message: 'Success', http_status: :created) else - error(user.errors.full_messages.uniq.join('. ')) + error(user.errors.full_messages.uniq.join('. '), :unprocessable_entity) end end |