summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2020-06-29 21:09:07 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2020-06-29 21:09:07 +0000
commit777f6da99ae8dd4111bb880893cee9c8cfefa132 (patch)
tree06f28423a1a8277c1f5ed6e2216bed391b0ecf47 /app
parentaa99514d5c37e08c0fa49d03212ccdc943b8d31e (diff)
downloadgitlab-ce-777f6da99ae8dd4111bb880893cee9c8cfefa132.tar.gz
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app')
-rw-r--r--app/assets/stylesheets/framework/common.scss1
-rw-r--r--app/controllers/projects/refs_controller.rb11
-rw-r--r--app/graphql/mutations/jira_import/start.rb9
-rw-r--r--app/graphql/types/jira_users_mapping_input_type.rb18
-rw-r--r--app/services/jira_import/start_import_service.rb20
-rw-r--r--app/views/projects/refs/logs_tree.js.haml23
-rw-r--r--app/views/projects/tree/_tree_commit_column.html.haml3
7 files changed, 43 insertions, 42 deletions
diff --git a/app/assets/stylesheets/framework/common.scss b/app/assets/stylesheets/framework/common.scss
index cfeb4e71c56..068612c4c92 100644
--- a/app/assets/stylesheets/framework/common.scss
+++ b/app/assets/stylesheets/framework/common.scss
@@ -411,7 +411,6 @@ img.emoji {
.append-right-15 { margin-right: 15px; }
.append-right-default { margin-right: $gl-padding; }
.append-right-20 { margin-right: 20px; }
-.append-right-48 { margin-right: 48px; }
.append-bottom-5 { margin-bottom: 5px; }
.append-bottom-10 { margin-bottom: 10px; }
.append-bottom-15 { margin-bottom: 15px; }
diff --git a/app/controllers/projects/refs_controller.rb b/app/controllers/projects/refs_controller.rb
index a2581e72257..0d1583e05e5 100644
--- a/app/controllers/projects/refs_controller.rb
+++ b/app/controllers/projects/refs_controller.rb
@@ -57,22 +57,11 @@ class Projects::RefsController < Projects::ApplicationController
render json: logs
end
-
- # Deprecated due to https://gitlab.com/gitlab-org/gitlab/-/issues/36863
- # Will be removed soon https://gitlab.com/gitlab-org/gitlab/-/merge_requests/29895
- format.js do
- @logs, _ = tree_summary.summarize
- @more_log_url = more_url(tree_summary.next_offset) if tree_summary.more?
- end
end
end
private
- def more_url(offset)
- logs_file_project_ref_path(@project, @ref, @path, offset: offset)
- end
-
def validate_ref_id
return not_found! if params[:id].present? && params[:id] !~ Gitlab::PathRegex.git_reference_regex
end
diff --git a/app/graphql/mutations/jira_import/start.rb b/app/graphql/mutations/jira_import/start.rb
index 3df26d33711..eda28059272 100644
--- a/app/graphql/mutations/jira_import/start.rb
+++ b/app/graphql/mutations/jira_import/start.rb
@@ -21,12 +21,17 @@ module Mutations
argument :jira_project_name, GraphQL::STRING_TYPE,
required: false,
description: 'Project name of the importer Jira project'
+ argument :users_mapping,
+ [Types::JiraUsersMappingInputType],
+ required: false,
+ description: 'The mapping of Jira to GitLab users'
- def resolve(project_path:, jira_project_key:)
+ def resolve(project_path:, jira_project_key:, users_mapping:)
project = authorized_find!(full_path: project_path)
+ mapping = users_mapping.to_ary.map { |map| map.to_hash }
service_response = ::JiraImport::StartImportService
- .new(context[:current_user], project, jira_project_key)
+ .new(context[:current_user], project, jira_project_key, mapping)
.execute
jira_import = service_response.success? ? service_response.payload[:import_data] : nil
diff --git a/app/graphql/types/jira_users_mapping_input_type.rb b/app/graphql/types/jira_users_mapping_input_type.rb
new file mode 100644
index 00000000000..61cf1474493
--- /dev/null
+++ b/app/graphql/types/jira_users_mapping_input_type.rb
@@ -0,0 +1,18 @@
+# frozen_string_literal: true
+
+module Types
+ # rubocop: disable Graphql/AuthorizeTypes
+ class JiraUsersMappingInputType < BaseInputObject
+ graphql_name 'JiraUsersMappingInputType'
+
+ argument :jira_account_id,
+ GraphQL::STRING_TYPE,
+ required: true,
+ description: 'Jira account id of the user'
+ argument :gitlab_id,
+ GraphQL::INT_TYPE,
+ required: false,
+ description: 'Id of the GitLab user'
+ end
+ # rubocop: enable Graphql/AuthorizeTypes
+end
diff --git a/app/services/jira_import/start_import_service.rb b/app/services/jira_import/start_import_service.rb
index a06cc6df719..f85f686c61a 100644
--- a/app/services/jira_import/start_import_service.rb
+++ b/app/services/jira_import/start_import_service.rb
@@ -2,23 +2,39 @@
module JiraImport
class StartImportService
- attr_reader :user, :project, :jira_project_key
+ attr_reader :user, :project, :jira_project_key, :users_mapping
- def initialize(user, project, jira_project_key)
+ def initialize(user, project, jira_project_key, users_mapping)
@user = user
@project = project
@jira_project_key = jira_project_key
+ @users_mapping = users_mapping
end
def execute
validation_response = validate
return validation_response if validation_response&.error?
+ store_users_mapping
create_and_schedule_import
end
private
+ def store_users_mapping
+ return if users_mapping.blank?
+
+ mapping = users_mapping.map do |map|
+ next if !map[:jira_account_id] || !map[:gitlab_id]
+
+ [map[:jira_account_id], map[:gitlab_id]]
+ end.compact.to_h
+
+ return if mapping.blank?
+
+ Gitlab::JiraImport.cache_users_mapping(project.id, mapping)
+ end
+
def create_and_schedule_import
jira_import = build_jira_import
project.import_type = 'jira'
diff --git a/app/views/projects/refs/logs_tree.js.haml b/app/views/projects/refs/logs_tree.js.haml
deleted file mode 100644
index 506bf54b3f8..00000000000
--- a/app/views/projects/refs/logs_tree.js.haml
+++ /dev/null
@@ -1,23 +0,0 @@
-- @logs.each do |content_data|
- - file_name = content_data[:file_name]
- - commit = content_data[:commit]
- - next unless commit
-
- :plain
- var row = $("table.table_#{@hex_path} tr.file_#{hexdigest(file_name)}");
- row.find("td.tree-time-ago").html('#{escape_javascript time_ago_with_tooltip(commit.committed_date)}');
- row.find("td.tree-commit").html('#{escape_javascript render("projects/tree/tree_commit_column", commit: commit)}');
-
- = render_if_exists 'projects/refs/logs_tree_lock_label', lock_label: content_data[:lock_label]
-
-- if @more_log_url
- :plain
- if($('#tree-slider').length) {
- // Load more commit logs for each file in tree
- // if we still on the same page
- var url = "#{escape_javascript(@more_log_url)}";
- gl.utils.ajaxGet(url);
- }
-
-:plain
- gl.utils.localTimeAgo($('.js-timeago', 'table.table_#{@hex_path} tbody'));
diff --git a/app/views/projects/tree/_tree_commit_column.html.haml b/app/views/projects/tree/_tree_commit_column.html.haml
deleted file mode 100644
index 065fef606d5..00000000000
--- a/app/views/projects/tree/_tree_commit_column.html.haml
+++ /dev/null
@@ -1,3 +0,0 @@
-- full_title = markdown_field(commit, :full_title)
-%span.str-truncated
- = link_to_html full_title, project_commit_path(@project, commit.id), title: full_title, class: 'tree-commit-link'