Add latest changes from gitlab-org/gitlab@master
This commit is contained in:
parent
448ff1fb83
commit
6c7fe15312
15 changed files with 41 additions and 39 deletions
|
@ -495,6 +495,10 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// The .btn-svg class is available for legacy icon buttons to
|
||||||
|
// preserve a 34px height and have 16x16 icons at the same time.
|
||||||
|
// Once a button is migrated (to the current 32px height)
|
||||||
|
// please remove this class from the new button.
|
||||||
.btn-svg svg {
|
.btn-svg svg {
|
||||||
@include btn-svg;
|
@include btn-svg;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
.nav-block.activities
|
.nav-block.activities
|
||||||
= render 'shared/event_filter'
|
= render 'shared/event_filter'
|
||||||
.controls
|
.controls
|
||||||
= link_to dashboard_projects_path(rss_url_options), class: 'btn d-none d-sm-inline-block has-tooltip', title: 'Subscribe' do
|
= link_to dashboard_projects_path(rss_url_options), class: 'btn gl-button btn-default btn-icon d-none d-sm-inline-flex has-tooltip', title: 'Subscribe' do
|
||||||
%i.fa.fa-rss
|
= sprite_icon('rss', css_class: 'qa-rss-icon gl-icon', size: 16)
|
||||||
|
|
||||||
.content_list
|
.content_list
|
||||||
.loading
|
.loading
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
.nav-block.activities
|
.nav-block.activities
|
||||||
= render 'shared/event_filter', show_group_events: @group.supports_events?
|
= render 'shared/event_filter', show_group_events: @group.supports_events?
|
||||||
.controls
|
.controls
|
||||||
= link_to group_path(@group, rss_url_options), class: 'btn d-none d-sm-inline-block has-tooltip' , title: 'Subscribe' do
|
= link_to group_path(@group, rss_url_options), class: 'btn gl-button btn-default btn-icon d-none d-sm-inline-flex has-tooltip' , title: 'Subscribe' do
|
||||||
%i.fa.fa-rss
|
= sprite_icon('rss', css_class: 'qa-rss-icon gl-icon', size: 16)
|
||||||
|
|
||||||
.content_list
|
.content_list
|
||||||
.loading
|
.loading
|
||||||
|
|
|
@ -69,8 +69,8 @@
|
||||||
= render layout: 'users/cover_controls' do
|
= render layout: 'users/cover_controls' do
|
||||||
= link_to '#', class: link_classes + 'btn btn-default' do
|
= link_to '#', class: link_classes + 'btn btn-default' do
|
||||||
= sprite_icon('pencil')
|
= sprite_icon('pencil')
|
||||||
= link_to '#', class: link_classes + 'btn btn-default' do
|
= link_to '#', class: link_classes + 'btn btn-svg btn-default' do
|
||||||
= icon('rss')
|
= sprite_icon('rss', css_class: 'qa-rss-icon', size: 16)
|
||||||
.avatar-holder
|
.avatar-holder
|
||||||
= image_tag avatar_icon_for_email('admin@example.com', 90), class: "avatar s90", alt: ''
|
= image_tag avatar_icon_for_email('admin@example.com', 90), class: "avatar s90", alt: ''
|
||||||
.cover-title
|
.cover-title
|
||||||
|
|
|
@ -4,8 +4,8 @@
|
||||||
.nav-block.d-none.d-sm-flex.activities.gl-static
|
.nav-block.d-none.d-sm-flex.activities.gl-static
|
||||||
= render 'shared/event_filter'
|
= render 'shared/event_filter'
|
||||||
.controls.gl-display-flex
|
.controls.gl-display-flex
|
||||||
= link_to project_path(@project, rss_url_options), title: s_("ProjectActivityRSS|Subscribe"), class: 'btn d-none d-sm-inline-block has-tooltip' do
|
= link_to project_path(@project, rss_url_options), title: s_("ProjectActivityRSS|Subscribe"), class: 'btn gl-button btn-default btn-icon d-none d-sm-inline-flex has-tooltip' do
|
||||||
= icon('rss')
|
= sprite_icon('rss', css_class: 'qa-rss-icon gl-icon', size: 16)
|
||||||
- if is_project_overview && can?(current_user, :download_code, @project)
|
- if is_project_overview && can?(current_user, :download_code, @project)
|
||||||
.project-clone-holder.d-none.d-md-inline-flex.gl-ml-2
|
.project-clone-holder.d-none.d-md-inline-flex.gl-ml-2
|
||||||
= render "projects/buttons/clone", dropdown_class: 'dropdown-menu-right'
|
= render "projects/buttons/clone", dropdown_class: 'dropdown-menu-right'
|
||||||
|
|
|
@ -26,8 +26,8 @@
|
||||||
= form_tag(project_commits_path(@project, @id), method: :get, class: 'commits-search-form js-signature-container', data: { 'signatures-path' => namespace_project_signatures_path }) do
|
= form_tag(project_commits_path(@project, @id), method: :get, class: 'commits-search-form js-signature-container', data: { 'signatures-path' => namespace_project_signatures_path }) do
|
||||||
= search_field_tag :search, params[:search], { placeholder: _('Search by message'), id: 'commits-search', class: 'form-control search-text-input input-short gl-mt-3 gl-sm-mt-0 gl-min-w-full', spellcheck: false }
|
= search_field_tag :search, params[:search], { placeholder: _('Search by message'), id: 'commits-search', class: 'form-control search-text-input input-short gl-mt-3 gl-sm-mt-0 gl-min-w-full', spellcheck: false }
|
||||||
.control.d-none.d-md-block
|
.control.d-none.d-md-block
|
||||||
= link_to project_commits_path(@project, @ref, rss_url_options), title: _("Commits feed"), class: 'btn' do
|
= link_to project_commits_path(@project, @ref, rss_url_options), title: _("Commits feed"), class: 'btn btn-svg' do
|
||||||
= icon("rss")
|
= sprite_icon('rss', css_class: 'qa-rss-icon', size: 16)
|
||||||
|
|
||||||
= render_if_exists 'projects/commits/mirror_status'
|
= render_if_exists 'projects/commits/mirror_status'
|
||||||
|
|
||||||
|
|
|
@ -26,8 +26,8 @@
|
||||||
- if can?(current_user, :admin_tag, @project)
|
- if can?(current_user, :admin_tag, @project)
|
||||||
= link_to new_project_tag_path(@project), class: 'btn btn-success new-tag-btn', data: { qa_selector: "new_tag_button" } do
|
= link_to new_project_tag_path(@project), class: 'btn btn-success new-tag-btn', data: { qa_selector: "new_tag_button" } do
|
||||||
= s_('TagsPage|New tag')
|
= s_('TagsPage|New tag')
|
||||||
= link_to project_tags_path(@project, rss_url_options), title: _("Tags feed"), class: 'btn d-none d-sm-inline-block has-tooltip' do
|
= link_to project_tags_path(@project, rss_url_options), title: _("Tags feed"), class: 'btn btn-svg d-none d-sm-inline-block has-tooltip' do
|
||||||
= icon("rss")
|
= sprite_icon('rss', css_class: 'qa-rss-icon', size: 16)
|
||||||
|
|
||||||
= render_if_exists 'projects/commits/mirror_status'
|
= render_if_exists 'projects/commits/mirror_status'
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
= link_to safe_params.merge(rss_url_options), class: 'btn has-tooltip js-rss-button', data: { container: 'body' }, title: _('Subscribe to RSS feed') do
|
= link_to safe_params.merge(rss_url_options), class: 'btn btn-svg has-tooltip', data: { container: 'body' }, title: _('Subscribe to RSS feed') do
|
||||||
= sprite_icon('rss')
|
= sprite_icon('rss', css_class: 'qa-rss-icon', size: 16)
|
||||||
= link_to safe_params.merge(calendar_url_options), class: 'btn has-tooltip', data: { container: 'body' }, title: _('Subscribe to calendar') do
|
= link_to safe_params.merge(calendar_url_options), class: 'btn has-tooltip', data: { container: 'body' }, title: _('Subscribe to calendar') do
|
||||||
= sprite_icon('calendar')
|
= sprite_icon('calendar')
|
||||||
|
|
|
@ -25,8 +25,8 @@
|
||||||
title: s_('UserProfile|Report abuse'), data: { toggle: 'tooltip', placement: 'bottom', container: 'body' } do
|
title: s_('UserProfile|Report abuse'), data: { toggle: 'tooltip', placement: 'bottom', container: 'body' } do
|
||||||
= icon('exclamation-circle')
|
= icon('exclamation-circle')
|
||||||
- if can?(current_user, :read_user_profile, @user)
|
- if can?(current_user, :read_user_profile, @user)
|
||||||
= link_to user_path(@user, rss_url_options), class: link_classes + 'btn btn-default has-tooltip', title: s_('UserProfile|Subscribe'), 'aria-label': 'Subscribe' do
|
= link_to user_path(@user, rss_url_options), class: link_classes + 'btn btn-svg btn-default has-tooltip', title: s_('UserProfile|Subscribe'), 'aria-label': 'Subscribe' do
|
||||||
= icon('rss')
|
= sprite_icon('rss', css_class: 'qa-rss-icon', size: 16)
|
||||||
- if current_user && current_user.admin?
|
- if current_user && current_user.admin?
|
||||||
= link_to [:admin, @user], class: link_classes + 'btn btn-default', title: s_('UserProfile|View user in admin area'),
|
= link_to [:admin, @user], class: link_classes + 'btn btn-default', title: s_('UserProfile|View user in admin area'),
|
||||||
data: {toggle: 'tooltip', placement: 'bottom', container: 'body'} do
|
data: {toggle: 'tooltip', placement: 'bottom', container: 'body'} do
|
||||||
|
|
5
changelogs/unreleased/225947-replace-fa-rss.yml
Normal file
5
changelogs/unreleased/225947-replace-fa-rss.yml
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
title: Replace fa-rss with GitLab SVG icon
|
||||||
|
merge_request: 36553
|
||||||
|
author:
|
||||||
|
type: other
|
|
@ -1031,11 +1031,11 @@ also be logged with an accompanying replication job ID.
|
||||||
If your GitLab instance already has repositories, these won't be migrated
|
If your GitLab instance already has repositories, these won't be migrated
|
||||||
automatically.
|
automatically.
|
||||||
|
|
||||||
Repositories may be moved from one storage location using the [Repository
|
Repositories may be moved from one storage location using the [Project repository storage moves API](../../api/project_repository_storage_moves.md):
|
||||||
API](../../api/projects.html#edit-project):
|
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
curl --request PUT --header "PRIVATE-TOKEN: <your_access_token>" --data "repository_storage=praefect" https://example.gitlab.com/api/v4/projects/123
|
curl --request POST --header "PRIVATE_TOKEN: <your_access_token>" --header "Content-Type: application/json" \
|
||||||
|
--data '{"destination_storage_name":"praefect"}' "https://gitlab.example.com/api/v4/projects/123/repository_storage_moves"
|
||||||
```
|
```
|
||||||
|
|
||||||
## Debugging Praefect
|
## Debugging Praefect
|
||||||
|
|
|
@ -3,17 +3,18 @@
|
||||||
module QA
|
module QA
|
||||||
RSpec.describe 'Plan', :smoke, :reliable do
|
RSpec.describe 'Plan', :smoke, :reliable do
|
||||||
describe 'mention' do
|
describe 'mention' do
|
||||||
before do
|
let(:user) { Resource::User.fabricate_or_use(Runtime::Env.gitlab_qa_username_1, Runtime::Env.gitlab_qa_password_1) }
|
||||||
Flow::Login.sign_in
|
let(:project) do
|
||||||
|
Resource::Project.fabricate_via_api! do |project|
|
||||||
@user = Resource::User.fabricate_or_use(Runtime::Env.gitlab_qa_username_1, Runtime::Env.gitlab_qa_password_1)
|
|
||||||
|
|
||||||
project = Resource::Project.fabricate_via_api! do |project|
|
|
||||||
project.name = 'project-to-test-mention'
|
project.name = 'project-to-test-mention'
|
||||||
project.visibility = 'private'
|
project.visibility = 'private'
|
||||||
end
|
end
|
||||||
|
end
|
||||||
|
|
||||||
project.add_member(@user)
|
before do
|
||||||
|
Flow::Login.sign_in
|
||||||
|
|
||||||
|
project.add_member(user)
|
||||||
|
|
||||||
Resource::Issue.fabricate_via_api! do |issue|
|
Resource::Issue.fabricate_via_api! do |issue|
|
||||||
issue.project = project
|
issue.project = project
|
||||||
|
@ -22,7 +23,7 @@ module QA
|
||||||
|
|
||||||
it 'mentions another user in an issue' do
|
it 'mentions another user in an issue' do
|
||||||
Page::Project::Issue::Show.perform do |show|
|
Page::Project::Issue::Show.perform do |show|
|
||||||
at_username = "@#{@user.username}"
|
at_username = "@#{user.username}"
|
||||||
|
|
||||||
show.select_all_activities_filter
|
show.select_all_activities_filter
|
||||||
show.comment(at_username)
|
show.comment(at_username)
|
||||||
|
|
|
@ -2,13 +2,11 @@
|
||||||
|
|
||||||
require 'spec_helper'
|
require 'spec_helper'
|
||||||
|
|
||||||
RSpec.describe 'User filters issues' do
|
RSpec.describe 'User filters issues', :js do
|
||||||
let_it_be(:user) { create(:user) }
|
let_it_be(:user) { create(:user) }
|
||||||
let_it_be(:project) { create(:project_empty_repo, :public) }
|
let_it_be(:project) { create(:project_empty_repo, :public) }
|
||||||
|
|
||||||
before do
|
before do
|
||||||
stub_feature_flags(vue_issuables_list: false)
|
|
||||||
|
|
||||||
%w[foobar barbaz].each do |title|
|
%w[foobar barbaz].each do |title|
|
||||||
create(:issue,
|
create(:issue,
|
||||||
author: user,
|
author: user,
|
||||||
|
|
|
@ -2,14 +2,10 @@
|
||||||
|
|
||||||
require 'spec_helper'
|
require 'spec_helper'
|
||||||
|
|
||||||
RSpec.describe 'Issues > User sees empty state' do
|
RSpec.describe 'Issues > User sees empty state', :js do
|
||||||
let_it_be(:project) { create(:project, :public) }
|
let_it_be(:project) { create(:project, :public) }
|
||||||
let_it_be(:user) { project.creator }
|
let_it_be(:user) { project.creator }
|
||||||
|
|
||||||
before do
|
|
||||||
stub_feature_flags(vue_issuables_list: false)
|
|
||||||
end
|
|
||||||
|
|
||||||
shared_examples_for 'empty state with filters' do
|
shared_examples_for 'empty state with filters' do
|
||||||
it 'user sees empty state with filters' do
|
it 'user sees empty state with filters' do
|
||||||
create(:issue, author: user, project: project)
|
create(:issue, author: user, project: project)
|
||||||
|
|
|
@ -9,8 +9,7 @@ end
|
||||||
RSpec.shared_examples "it has an RSS button with current_user's feed token" do
|
RSpec.shared_examples "it has an RSS button with current_user's feed token" do
|
||||||
it "shows the RSS button with current_user's feed token" do
|
it "shows the RSS button with current_user's feed token" do
|
||||||
expect(page)
|
expect(page)
|
||||||
.to have_css("a:has(.fa-rss)[href*='feed_token=#{user.feed_token}']")
|
.to have_css("a:has(.qa-rss-icon)[href*='feed_token=#{user.feed_token}']")
|
||||||
.or have_css("a.js-rss-button[href*='feed_token=#{user.feed_token}']")
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -23,7 +22,6 @@ end
|
||||||
RSpec.shared_examples "it has an RSS button without a feed token" do
|
RSpec.shared_examples "it has an RSS button without a feed token" do
|
||||||
it "shows the RSS button without a feed token" do
|
it "shows the RSS button without a feed token" do
|
||||||
expect(page)
|
expect(page)
|
||||||
.to have_css("a:has(.fa-rss):not([href*='feed_token'])")
|
.to have_css("a:has(.qa-rss-icon):not([href*='feed_token'])")
|
||||||
.or have_css("a.js-rss-button:not([href*='feed_token'])")
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue