Backport from gitlab-org/gitlab-ee!6878
This commit is contained in:
parent
eceb873c7e
commit
55f6eadc1d
6 changed files with 15 additions and 12 deletions
|
@ -5,6 +5,7 @@ import axios from './lib/utils/axios_utils';
|
|||
const Api = {
|
||||
groupsPath: '/api/:version/groups.json',
|
||||
groupPath: '/api/:version/groups/:id',
|
||||
subgroupsPath: '/api/:version/groups/:id/subgroups',
|
||||
namespacesPath: '/api/:version/namespaces.json',
|
||||
groupProjectsPath: '/api/:version/groups/:id/projects.json',
|
||||
projectsPath: '/api/:version/projects.json',
|
||||
|
|
|
@ -9,7 +9,7 @@ module Projects
|
|||
end
|
||||
|
||||
def execute
|
||||
if @params[:template_name]&.present?
|
||||
if @params[:template_name].present?
|
||||
return ::Projects::CreateFromTemplateService.new(current_user, params).execute
|
||||
end
|
||||
|
||||
|
|
|
@ -37,6 +37,7 @@
|
|||
.settings-content
|
||||
= render 'shared/badges/badge_settings'
|
||||
|
||||
= render_if_exists 'groups/custom_project_templates_setting'
|
||||
= render_if_exists 'groups/templates_setting', expanded: expanded
|
||||
|
||||
%section.settings.gs-advanced.no-animate#js-advanced-settings{ class: ('expanded' if expanded) }
|
||||
|
|
|
@ -50,7 +50,7 @@
|
|||
.project-template
|
||||
.form-group
|
||||
%div
|
||||
= render 'project_templates', f: f
|
||||
= render 'project_templates', f: f, project: @project
|
||||
|
||||
.tab-pane.import-project-pane.js-toggle-container{ id: 'import-project-pane', class: active_when(active_tab == 'import'), role: 'tabpanel' }
|
||||
- if import_sources_enabled?
|
||||
|
|
|
@ -9,9 +9,9 @@
|
|||
.text-muted
|
||||
= template.description
|
||||
.controls.d-flex.align-items-center
|
||||
%label.btn.btn-success.template-button.choose-template.append-right-10.append-bottom-0{ for: template.name }
|
||||
%a.btn.btn-default.append-right-10{ href: template.preview, rel: 'noopener noreferrer', target: '_blank', data: { track_label: "create_from_template", track_property: "template_preview", track_event: "click_button", track_value: template.name } }
|
||||
= _("Preview")
|
||||
%label.btn.btn-success.template-button.choose-template.append-bottom-0{ for: template.name }
|
||||
%input{ type: "radio", autocomplete: "off", name: "project[template_name]", id: template.name, value: template.name, data: { track_label: "create_from_template", track_property: "template_use", track_event: "click_button" } }
|
||||
%span
|
||||
= _("Use template")
|
||||
%a.btn.btn-default{ href: template.preview, rel: 'noopener noreferrer', target: '_blank', data: { track_label: "create_from_template", track_property: "template_preview", track_event: "click_button", track_value: template.name } }
|
||||
= _("Preview")
|
||||
|
|
|
@ -94,17 +94,18 @@ describe DeleteInconsistentInternalIdRecords, :migration do
|
|||
end
|
||||
|
||||
context 'for milestones (by group)' do
|
||||
# milestones (by group) is a little different than all of the other models
|
||||
let!(:group1) { create(:group) }
|
||||
let!(:group2) { create(:group) }
|
||||
let!(:group3) { create(:group) }
|
||||
# milestones (by group) is a little different than most of the other models
|
||||
let(:groups) { table(:namespaces) }
|
||||
let(:group1) { groups.create(name: 'Group 1', type: 'Group', path: 'group_1') }
|
||||
let(:group2) { groups.create(name: 'Group 2', type: 'Group', path: 'group_2') }
|
||||
let(:group3) { groups.create(name: 'Group 2', type: 'Group', path: 'group_3') }
|
||||
|
||||
let(:internal_id_query) { ->(group) { InternalId.where(usage: InternalId.usages['milestones'], namespace: group) } }
|
||||
|
||||
before do
|
||||
3.times { create(:milestone, group: group1) }
|
||||
3.times { create(:milestone, group: group2) }
|
||||
3.times { create(:milestone, group: group3) }
|
||||
3.times { create(:milestone, group_id: group1.id) }
|
||||
3.times { create(:milestone, group_id: group2.id) }
|
||||
3.times { create(:milestone, group_id: group3.id) }
|
||||
|
||||
internal_id_query.call(group1).first.tap do |iid|
|
||||
iid.last_value = iid.last_value - 2
|
||||
|
|
Loading…
Reference in a new issue