diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-04-02 15:08:18 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-04-02 15:08:18 +0300 |
commit | 684d65316ac77c62f47d68b9926eea8af30db227 (patch) | |
tree | d1f4c4eec399d7772ab4ad6294f98e7505c1cee5 /app | |
parent | ade18c9d68d5a2e6c6e28ef7e9d3add3b3491ace (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app')
12 files changed, 81 insertions, 18 deletions
diff --git a/app/assets/javascripts/blob/blob_file_dropzone.js b/app/assets/javascripts/blob/blob_file_dropzone.js index 8acf0827c44..e8772b7240a 100644 --- a/app/assets/javascripts/blob/blob_file_dropzone.js +++ b/app/assets/javascripts/blob/blob_file_dropzone.js @@ -43,6 +43,10 @@ export default class BlobFileDropzone { previewsContainer: '.dropzone-previews', headers: csrf.headers, init() { + this.on('processing', function() { + this.options.url = form.attr('action'); + }); + this.on('addedfile', () => { toggleLoading(submitButton, submitButtonLoadingIcon, false); dropzoneMessage.addClass(HIDDEN_CLASS); diff --git a/app/controllers/groups/group_members_controller.rb b/app/controllers/groups/group_members_controller.rb index d1eed85fde6..664c58e8b7a 100644 --- a/app/controllers/groups/group_members_controller.rb +++ b/app/controllers/groups/group_members_controller.rb @@ -57,7 +57,7 @@ class Groups::GroupMembersController < Groups::ApplicationController def find_members filter_params = params.slice(:two_factor, :search).merge(sort: @sort) - GroupMembersFinder.new(@group, current_user).execute(include_relations: requested_relations, params: filter_params) + GroupMembersFinder.new(@group, current_user, params: filter_params).execute(include_relations: requested_relations) end def can_manage_members diff --git a/app/controllers/projects/issues_controller.rb b/app/controllers/projects/issues_controller.rb index a50d516f75e..f552c471eb2 100644 --- a/app/controllers/projects/issues_controller.rb +++ b/app/controllers/projects/issues_controller.rb @@ -186,7 +186,7 @@ class Projects::IssuesController < Projects::ApplicationController if result[:status] == :success render json: MergeRequestCreateSerializer.new.represent(result[:merge_request]) else - render json: result[:messsage], status: :unprocessable_entity + render json: result[:message], status: :unprocessable_entity end end diff --git a/app/finders/group_members_finder.rb b/app/finders/group_members_finder.rb index bee18017cf3..a56d4ebb368 100644 --- a/app/finders/group_members_finder.rb +++ b/app/finders/group_members_finder.rb @@ -10,13 +10,16 @@ class GroupMembersFinder < UnionFinder # created_after: datetime # created_before: datetime - def initialize(group, user = nil) + attr_reader :params + + def initialize(group, user = nil, params: {}) @group = group @user = user + @params = params end # rubocop: disable CodeReuse/ActiveRecord - def execute(include_relations: [:inherited, :direct], params: {}) + def execute(include_relations: [:inherited, :direct]) group_members = group.members relations = [] @params = params @@ -50,7 +53,7 @@ class GroupMembersFinder < UnionFinder private - attr_reader :user, :group, :params + attr_reader :user, :group def filter_members(members) members = members.search(params[:search]) if params[:search].present? diff --git a/app/serializers/diffs_entity.rb b/app/serializers/diffs_entity.rb index b709fc7228b..1d0b4183f96 100644 --- a/app/serializers/diffs_entity.rb +++ b/app/serializers/diffs_entity.rb @@ -16,12 +16,7 @@ class DiffsEntity < Grape::Entity end expose :commit do |diffs, options| - CommitEntity.represent options[:commit], options.merge( - type: :full, - commit_url_params: { merge_request_iid: merge_request&.iid }, - pipeline_ref: merge_request&.source_branch, - pipeline_project: merge_request&.source_project - ) + CommitEntity.represent(options[:commit], commit_options(options)) end expose :context_commits, using: API::Entities::Commit, if: -> (diffs, options) { merge_request&.project&.context_commits_enabled? } do |diffs| @@ -88,4 +83,31 @@ class DiffsEntity < Grape::Entity def merge_request options[:merge_request] end + + private + + def commit_ids + @commit_ids ||= merge_request.recent_commits.map(&:id) + end + + def commit_neighbors(commit_id) + index = commit_ids.index(commit_id) + + return [] unless index + + [(index > 0 ? commit_ids[index - 1] : nil), commit_ids[index + 1]] + end + + def commit_options(options) + prev_commit_id, next_commit_id = *commit_neighbors(options[:commit]&.id) + + options.merge( + type: :full, + commit_url_params: { merge_request_iid: merge_request&.iid }, + pipeline_ref: merge_request&.source_branch, + pipeline_project: merge_request&.source_project, + prev_commit_id: prev_commit_id, + next_commit_id: next_commit_id + ) + end end diff --git a/app/services/concerns/deploy_token_methods.rb b/app/services/concerns/deploy_token_methods.rb index c0208b16623..c875342a07c 100644 --- a/app/services/concerns/deploy_token_methods.rb +++ b/app/services/concerns/deploy_token_methods.rb @@ -8,4 +8,10 @@ module DeployTokenMethods deploy_token.username = params[:username].presence end end + + def destroy_deploy_token(entity, params) + deploy_token = entity.deploy_tokens.find_by_id!(params[:token_id]) + + deploy_token.destroy + end end diff --git a/app/services/groups/deploy_tokens/destroy_service.rb b/app/services/groups/deploy_tokens/destroy_service.rb new file mode 100644 index 00000000000..6dae22f29d2 --- /dev/null +++ b/app/services/groups/deploy_tokens/destroy_service.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Groups + module DeployTokens + class DestroyService < BaseService + include DeployTokenMethods + + def execute + destroy_deploy_token(@group, params) + end + end + end +end diff --git a/app/services/projects/deploy_tokens/destroy_service.rb b/app/services/projects/deploy_tokens/destroy_service.rb new file mode 100644 index 00000000000..e063f86a65c --- /dev/null +++ b/app/services/projects/deploy_tokens/destroy_service.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +module Projects + module DeployTokens + class DestroyService < BaseService + include DeployTokenMethods + + def execute + destroy_deploy_token(@project, params) + end + end + end +end diff --git a/app/services/resource_events/synthetic_milestone_notes_builder_service.rb b/app/services/resource_events/synthetic_milestone_notes_builder_service.rb index ad58417834e..cc6383d7083 100644 --- a/app/services/resource_events/synthetic_milestone_notes_builder_service.rb +++ b/app/services/resource_events/synthetic_milestone_notes_builder_service.rb @@ -10,8 +10,6 @@ module ResourceEvents private def synthetic_notes - return [] unless tracking_enabled? - milestone_change_events.map do |event| MilestoneNote.from_event(event, resource: resource, resource_parent: resource_parent) end @@ -23,9 +21,5 @@ module ResourceEvents events = resource.resource_milestone_events.includes(user: :status) # rubocop: disable CodeReuse/ActiveRecord since_fetch_at(events) end - - def tracking_enabled? - ::Feature.enabled?(:track_resource_milestone_change_events, resource.project) - end end end diff --git a/app/workers/gitlab/github_import/advance_stage_worker.rb b/app/workers/gitlab/github_import/advance_stage_worker.rb index 8bbfb10ed6e..21e478f935b 100644 --- a/app/workers/gitlab/github_import/advance_stage_worker.rb +++ b/app/workers/gitlab/github_import/advance_stage_worker.rb @@ -21,6 +21,10 @@ module Gitlab finish: Stage::FinishImportWorker }.freeze + def find_import_state(project_id) + ProjectImportState.jid_by(project_id: project_id, status: :started) + end + private def next_stage_worker(next_stage) diff --git a/app/workers/gitlab/import/advance_stage.rb b/app/workers/gitlab/import/advance_stage.rb index 5c836413ae3..3f34437294e 100644 --- a/app/workers/gitlab/import/advance_stage.rb +++ b/app/workers/gitlab/import/advance_stage.rb @@ -48,7 +48,7 @@ module Gitlab end def find_import_state(project_id) - ProjectImportState.jid_by(project_id: project_id, status: :started) + raise NotImplementedError end private diff --git a/app/workers/gitlab/jira_import/advance_stage_worker.rb b/app/workers/gitlab/jira_import/advance_stage_worker.rb index 1b6fc54151e..c83a57bcd83 100644 --- a/app/workers/gitlab/jira_import/advance_stage_worker.rb +++ b/app/workers/gitlab/jira_import/advance_stage_worker.rb @@ -16,6 +16,10 @@ module Gitlab finish: Gitlab::JiraImport::Stage::FinishImportWorker }.freeze + def find_import_state(project_id) + ProjectImportState.jid_by(project_id: project_id, status: :started) + end + private def next_stage_worker(next_stage) |