Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2020-03-23 12:09:42 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2020-03-23 12:09:42 +0300
commite4bf776a8829e5186a0f63603c0be627b891d80e (patch)
tree537fe714bd336bfee9f30b101a5072950a04a62a /app
parent1635eacd2a9293cd04d21e82def6e2c14ed01242 (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app')
-rw-r--r--app/assets/javascripts/pages/search/show/highlight_blob_search_result.js15
-rw-r--r--app/assets/javascripts/pages/search/show/search.js2
-rw-r--r--app/controllers/admin/serverless/domains_controller.rb4
-rw-r--r--app/services/labels/promote_service.rb21
-rw-r--r--app/views/shared/notes/_hints.html.haml2
5 files changed, 33 insertions, 11 deletions
diff --git a/app/assets/javascripts/pages/search/show/highlight_blob_search_result.js b/app/assets/javascripts/pages/search/show/highlight_blob_search_result.js
new file mode 100644
index 00000000000..e17c87735b4
--- /dev/null
+++ b/app/assets/javascripts/pages/search/show/highlight_blob_search_result.js
@@ -0,0 +1,15 @@
+export default () => {
+ const highlightLineClass = 'hll';
+ const contentBody = document.getElementById('content-body');
+ const searchTerm = contentBody.querySelector('.js-search-input').value.toLowerCase();
+ const blobs = contentBody.querySelectorAll('.blob-result');
+
+ blobs.forEach(blob => {
+ const lines = blob.querySelectorAll('.line');
+ lines.forEach(line => {
+ if (line.textContent.toLowerCase().includes(searchTerm)) {
+ line.classList.add(highlightLineClass);
+ }
+ });
+ });
+};
diff --git a/app/assets/javascripts/pages/search/show/search.js b/app/assets/javascripts/pages/search/show/search.js
index dff9d855b67..4050f2f13f1 100644
--- a/app/assets/javascripts/pages/search/show/search.js
+++ b/app/assets/javascripts/pages/search/show/search.js
@@ -5,9 +5,11 @@ import Api from '~/api';
import { __ } from '~/locale';
import Project from '~/pages/projects/project';
import refreshCounts from './refresh_counts';
+import setHighlightClass from './highlight_blob_search_result';
export default class Search {
constructor() {
+ setHighlightClass();
const $groupDropdown = $('.js-search-group-dropdown');
const $projectDropdown = $('.js-search-project-dropdown');
diff --git a/app/controllers/admin/serverless/domains_controller.rb b/app/controllers/admin/serverless/domains_controller.rb
index 9741a0716f2..1d4f10e033f 100644
--- a/app/controllers/admin/serverless/domains_controller.rb
+++ b/app/controllers/admin/serverless/domains_controller.rb
@@ -9,7 +9,7 @@ class Admin::Serverless::DomainsController < Admin::ApplicationController
end
def create
- if PagesDomain.instance_serverless.count > 0
+ if PagesDomain.instance_serverless.exists?
return redirect_to admin_serverless_domains_path, notice: _('An instance-level serverless domain already exists.')
end
@@ -31,7 +31,7 @@ class Admin::Serverless::DomainsController < Admin::ApplicationController
end
def destroy
- if domain.serverless_domain_clusters.count > 0
+ if domain.serverless_domain_clusters.exists?
return redirect_to admin_serverless_domains_path,
status: :conflict,
notice: _('Domain cannot be deleted while associated to one or more clusters.')
diff --git a/app/services/labels/promote_service.rb b/app/services/labels/promote_service.rb
index e73e6476c12..cc91fd4b4d2 100644
--- a/app/services/labels/promote_service.rb
+++ b/app/services/labels/promote_service.rb
@@ -13,13 +13,8 @@ module Labels
new_label = clone_label_to_group_label(label)
label_ids_for_merge(new_label).find_in_batches(batch_size: BATCH_SIZE) do |batched_ids|
- update_issuables(new_label, batched_ids)
- update_resource_label_events(new_label, batched_ids)
- update_issue_board_lists(new_label, batched_ids)
- update_priorities(new_label, batched_ids)
- subscribe_users(new_label, batched_ids)
- # Order is important, project labels need to be last
- update_project_labels(batched_ids)
+ update_old_label_relations(new_label, batched_ids)
+ destroy_project_labels(batched_ids)
end
# We skipped validations during creation. Let's run them now, after deleting conflicting labels
@@ -32,6 +27,14 @@ module Labels
private
+ def update_old_label_relations(new_label, old_label_ids)
+ update_issuables(new_label, old_label_ids)
+ update_resource_label_events(new_label, old_label_ids)
+ update_issue_board_lists(new_label, old_label_ids)
+ update_priorities(new_label, old_label_ids)
+ subscribe_users(new_label, old_label_ids)
+ end
+
# rubocop: disable CodeReuse/ActiveRecord
def subscribe_users(new_label, label_ids)
# users can be subscribed to multiple labels that will be merged into the group one
@@ -86,7 +89,7 @@ module Labels
# rubocop: enable CodeReuse/ActiveRecord
# rubocop: disable CodeReuse/ActiveRecord
- def update_project_labels(label_ids)
+ def destroy_project_labels(label_ids)
Label.where(id: label_ids).destroy_all # rubocop: disable DestroyAll
end
# rubocop: enable CodeReuse/ActiveRecord
@@ -105,3 +108,5 @@ module Labels
end
end
end
+
+Labels::PromoteService.prepend_if_ee('EE::Labels::PromoteService')
diff --git a/app/views/shared/notes/_hints.html.haml b/app/views/shared/notes/_hints.html.haml
index fae7d6526e8..902a6e9b363 100644
--- a/app/views/shared/notes/_hints.html.haml
+++ b/app/views/shared/notes/_hints.html.haml
@@ -17,7 +17,7 @@
-# Populated by app/assets/javascripts/dropzone_input.js
%span.uploading-progress 0%
%span.uploading-spinner
- = icon('spinner spin', class: 'toolbar-button-icon')
+ .toolbar-button-icon.spinner.align-text-top
%span.uploading-error-container.hide
%span.uploading-error-icon