From 67cdfd2683b89bce260600fa8925eefdcdf9e3e5 Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Fri, 28 Feb 2020 09:09:01 +0000 Subject: [PATCH] Add latest changes from gitlab-org/gitlab@master --- app/assets/javascripts/labels_select.js | 34 ++++++-- .../broadcast_messages/broadcast_message.js | 4 +- .../index/components/delete_project_modal.vue | 8 +- .../users/components/delete_user_modal.vue | 6 +- .../pages/groups/new/group_path_validator.js | 4 +- .../labels/components/promote_label_modal.vue | 4 +- .../components/interval_pattern_input.vue | 4 +- .../wikis/components/delete_wiki_modal.vue | 4 +- .../pages/sessions/new/username_validator.js | 4 +- .../pages/users/activity_calendar.js | 6 +- .../vue_shared/components/loading_button.vue | 21 ++--- .../196718-remove-filter-epic-counts.yml | 5 ++ ...3-migrate-snippet-mentions-to-db-table.yml | 6 ++ ...in-non-vue-js-with-gitlab-ui-component.yml | 5 ++ .../jlouw-improve-audit-log-header-layout.yml | 5 ++ .../unreleased/migrate-security-scans.yml | 5 ++ ...953_cleanup_empty_snippet_user_mentions.rb | 28 +++++++ ...27131953_migrate_snippet_mentions_to_db.rb | 35 +++++++++ ...orary_snippet_notes_with_mentions_index.rb | 20 +++++ ...53_migrate_snippet_notes_mentions_to_db.rb | 38 +++++++++ ...dd_index_to_job_artifact_secure_reports.rb | 24 ++++++ ...7225719_schedule_migrate_security_scans.rb | 31 ++++++++ db/schema.rb | 2 + doc/user/clusters/applications.md | 57 ++++++++------ .../migrate_security_scans.rb | 13 ++++ .../user_mentions/models/snippet.rb | 43 +++++++++++ .../models/snippet_user_mention.rb | 18 +++++ locale/gitlab.pot | 6 -- spec/frontend/labels_select_spec.js | 30 ++++---- .../create_resource_user_mention_spec.rb | 77 +++++++++++++++++++ ...leanup_empty_snippet_user_mentions_spec.rb | 42 ++++++++++ .../migrate_snippet_mentions_to_db_spec.rb | 28 +++++++ ...grate_snippet_notes_mentions_to_db_spec.rb | 31 ++++++++ .../schedule_migrate_security_scans_spec.rb | 68 ++++++++++++++++ .../mentions_migration_shared_examples.rb | 2 +- 35 files changed, 628 insertions(+), 90 deletions(-) create mode 100644 changelogs/unreleased/196718-remove-filter-epic-counts.yml create mode 100644 changelogs/unreleased/198323-migrate-snippet-mentions-to-db-table.yml create mode 100644 changelogs/unreleased/38145-replace-labels-in-non-vue-js-with-gitlab-ui-component.yml create mode 100644 changelogs/unreleased/jlouw-improve-audit-log-header-layout.yml create mode 100644 changelogs/unreleased/migrate-security-scans.yml create mode 100644 db/post_migrate/20200127111953_cleanup_empty_snippet_user_mentions.rb create mode 100644 db/post_migrate/20200127131953_migrate_snippet_mentions_to_db.rb create mode 100644 db/post_migrate/20200127141953_add_temporary_snippet_notes_with_mentions_index.rb create mode 100644 db/post_migrate/20200127151953_migrate_snippet_notes_mentions_to_db.rb create mode 100644 db/post_migrate/20200217223651_add_index_to_job_artifact_secure_reports.rb create mode 100644 db/post_migrate/20200217225719_schedule_migrate_security_scans.rb create mode 100644 lib/gitlab/background_migration/migrate_security_scans.rb create mode 100644 lib/gitlab/background_migration/user_mentions/models/snippet.rb create mode 100644 lib/gitlab/background_migration/user_mentions/models/snippet_user_mention.rb create mode 100644 spec/lib/gitlab/background_migration/user_mentions/create_resource_user_mention_spec.rb create mode 100644 spec/migrations/cleanup_empty_snippet_user_mentions_spec.rb create mode 100644 spec/migrations/migrate_snippet_mentions_to_db_spec.rb create mode 100644 spec/migrations/migrate_snippet_notes_mentions_to_db_spec.rb create mode 100644 spec/migrations/schedule_migrate_security_scans_spec.rb diff --git a/app/assets/javascripts/labels_select.js b/app/assets/javascripts/labels_select.js index f57febbda37..b8c8cc91f53 100644 --- a/app/assets/javascripts/labels_select.js +++ b/app/assets/javascripts/labels_select.js @@ -479,24 +479,46 @@ export default class LabelsSelect { // concatenation // see: http://2ality.com/2016/05/template-literal-whitespace.html#joining-arrays + const linkOpenTag = + '?label_name[]=<%- encodeURIComponent(label.title) %>" class="gl-link gl-label-link has-tooltip" <%= linkAttrs %> title="<%= tooltipTitleTemplate({ label, isScopedLabel, enableScopedLabels, escapeStr }) %>">'; + const spanOpenTag = + ''; const labelTemplate = _.template( [ - '?label_name[]=<%- encodeURIComponent(label.title) %>">', - ' title="<%= tooltipTitleTemplate({ label, isScopedLabel, enableScopedLabels, escapeStr }) %>" style="background-color: <%= escapeStr(label.color) %>; color: <%= escapeStr(label.text_color) %>;">', + '', + linkOpenTag, + spanOpenTag, '<%- label.title %>', '', '', + '', ].join(''), ); const infoIconTemplate = _.template( [ - '', - '', + '', + '', '', ].join(''), ); + const scopedLabelTemplate = _.template( + [ + '', + linkOpenTag, + spanOpenTag, + '<%- label.title.slice(0, label.title.lastIndexOf("::")) %>', + '', + '', + '<%- label.title.slice(label.title.lastIndexOf("::") + 2) %>', + '', + '', + '<%= infoIconTemplate({ label, scopedLabelsDocumentationLink, escapeStr }) %>', + '', + ].join(''), + ); + const tooltipTitleTemplate = _.template( [ '<% if (isScopedLabel(label) && enableScopedLabels) { %>', @@ -514,8 +536,7 @@ export default class LabelsSelect { '<% _.each(labels, function(label){ %>', '<% if (isScopedLabel(label) && enableScopedLabels) { %>', '', - '<%= labelTemplate({ label, issueUpdateURL, isScopedLabel, enableScopedLabels, tooltipTitleTemplate, escapeStr, linkAttrs: \'data-html="true"\' }) %>', - '<%= infoIconTemplate({ label, scopedLabelsDocumentationLink, escapeStr }) %>', + '<%= scopedLabelTemplate({ label, issueUpdateURL, isScopedLabel, enableScopedLabels, infoIconTemplate, scopedLabelsDocumentationLink, tooltipTitleTemplate, escapeStr, linkAttrs: \'data-html="true"\' }) %>', '', '<% } else { %>', '<%= labelTemplate({ label, issueUpdateURL, isScopedLabel, enableScopedLabels, tooltipTitleTemplate, escapeStr, linkAttrs: "" }) %>', @@ -528,6 +549,7 @@ export default class LabelsSelect { ...tplData, labelTemplate, infoIconTemplate, + scopedLabelTemplate, tooltipTitleTemplate, isScopedLabel, escapeStr: _.escape, diff --git a/app/assets/javascripts/pages/admin/broadcast_messages/broadcast_message.js b/app/assets/javascripts/pages/admin/broadcast_messages/broadcast_message.js index 7c2008d9edc..d191479b1b4 100644 --- a/app/assets/javascripts/pages/admin/broadcast_messages/broadcast_message.js +++ b/app/assets/javascripts/pages/admin/broadcast_messages/broadcast_message.js @@ -1,5 +1,5 @@ import $ from 'jquery'; -import _ from 'underscore'; +import { debounce } from 'lodash'; import axios from '~/lib/utils/axios_utils'; import flash from '~/flash'; import { __ } from '~/locale'; @@ -34,7 +34,7 @@ export default () => { $broadcastMessage.on( 'input', - _.debounce(function onMessageInput() { + debounce(function onMessageInput() { const message = $(this).val(); if (message === '') { $jsBroadcastMessagePreview.text(__('Your message here')); diff --git a/app/assets/javascripts/pages/admin/projects/index/components/delete_project_modal.vue b/app/assets/javascripts/pages/admin/projects/index/components/delete_project_modal.vue index 527c16860c0..a99fde54981 100644 --- a/app/assets/javascripts/pages/admin/projects/index/components/delete_project_modal.vue +++ b/app/assets/javascripts/pages/admin/projects/index/components/delete_project_modal.vue @@ -1,5 +1,5 @@