152 lines
6.7 KiB
Text
152 lines
6.7 KiB
Text
- page_title 'New Project'
|
|
- header_title "Projects", dashboard_projects_path
|
|
- visibility_level = params.dig(:project, :visibility_level) || default_project_visibility
|
|
|
|
.project-edit-container
|
|
.project-edit-errors
|
|
= render 'projects/errors'
|
|
.row.prepend-top-default
|
|
.col-lg-3.profile-settings-sidebar
|
|
%h4.prepend-top-0
|
|
New project
|
|
%p
|
|
Create or Import your project from popular Git services
|
|
.col-lg-9
|
|
= form_for @project, html: { class: 'new_project' } do |f|
|
|
.row
|
|
.form-group.col-xs-12.col-sm-6
|
|
= f.label :namespace_id, class: 'label-light' do
|
|
%span
|
|
Project path
|
|
.form-group
|
|
.input-group
|
|
- if current_user.can_select_namespace?
|
|
.input-group-addon
|
|
= root_url
|
|
= f.select :namespace_id, namespaces_options(namespace_id_from(params) || :current_user, display_path: true, extra_group: namespace_id_from(params)), {}, { class: 'select2 js-select-namespace', tabindex: 1}
|
|
|
|
- else
|
|
.input-group-addon.static-namespace
|
|
#{root_url}#{current_user.username}/
|
|
= f.hidden_field :namespace_id, value: current_user.namespace_id
|
|
.form-group.col-xs-12.col-sm-6.project-path
|
|
= f.label :path, class: 'label-light' do
|
|
%span
|
|
Project name
|
|
= f.text_field :path, placeholder: "my-awesome-project", class: "form-control", tabindex: 2, autofocus: true, required: true
|
|
- if current_user.can_create_group?
|
|
.help-block
|
|
Want to house several dependent projects under the same namespace?
|
|
= link_to "Create a group", new_group_path
|
|
|
|
- if import_sources_enabled?
|
|
.project-import.js-toggle-container
|
|
.form-group.clearfix
|
|
= f.label :visibility_level, class: 'label-light' do
|
|
Import project from
|
|
.col-sm-12.import-buttons
|
|
%div
|
|
- if github_import_enabled?
|
|
= link_to new_import_github_path, class: 'btn import_github' do
|
|
= icon('github', text: 'GitHub')
|
|
%div
|
|
- if bitbucket_import_enabled?
|
|
= link_to status_import_bitbucket_path, class: "btn import_bitbucket #{'how_to_import_link' unless bitbucket_import_configured?}" do
|
|
= icon('bitbucket', text: 'Bitbucket')
|
|
- unless bitbucket_import_configured?
|
|
= render 'bitbucket_import_modal'
|
|
%div
|
|
- if gitlab_import_enabled?
|
|
= link_to status_import_gitlab_path, class: "btn import_gitlab #{'how_to_import_link' unless gitlab_import_configured?}" do
|
|
= icon('gitlab', text: 'GitLab.com')
|
|
- unless gitlab_import_configured?
|
|
= render 'gitlab_import_modal'
|
|
%div
|
|
- if google_code_import_enabled?
|
|
= link_to new_import_google_code_path, class: 'btn import_google_code' do
|
|
= icon('google', text: 'Google Code')
|
|
%div
|
|
- if fogbugz_import_enabled?
|
|
= link_to new_import_fogbugz_path, class: 'btn import_fogbugz' do
|
|
= icon('bug', text: 'Fogbugz')
|
|
%div
|
|
- if gitea_import_enabled?
|
|
= link_to new_import_gitea_url, class: 'btn import_gitea' do
|
|
= custom_icon('go_logo')
|
|
Gitea
|
|
%div
|
|
- if git_import_enabled?
|
|
%button.btn.js-toggle-button.import_git{ type: "button" }
|
|
= icon('git', text: 'Repo by URL')
|
|
.import_gitlab_project.has-tooltip{ data: { container: 'body' } }
|
|
- if gitlab_project_import_enabled?
|
|
= link_to new_import_gitlab_project_path, class: 'btn btn_import_gitlab_project project-submit' do
|
|
= icon('gitlab', text: 'GitLab export')
|
|
|
|
.js-toggle-content.hide
|
|
= render "shared/import_form", f: f
|
|
|
|
.form-group
|
|
= f.label :description, class: 'label-light' do
|
|
Project description
|
|
%span.light (optional)
|
|
= f.text_area :description, placeholder: 'Description format', class: "form-control", rows: 3, maxlength: 250
|
|
|
|
.form-group.project-visibility-level-holder
|
|
= f.label :visibility_level, class: 'label-light' do
|
|
Visibility Level
|
|
= link_to icon('question-circle'), help_page_path("public_access/public_access")
|
|
= render 'shared/visibility_level', f: f, visibility_level: visibility_level.to_i, can_change_visibility_level: true, form_model: @project, with_label: false
|
|
|
|
= f.submit 'Create project', class: "btn btn-create project-submit", tabindex: 4
|
|
= link_to 'Cancel', dashboard_projects_path, class: 'btn btn-cancel'
|
|
|
|
.save-project-loader.hide
|
|
.center
|
|
%h2
|
|
%i.fa.fa-spinner.fa-spin
|
|
Creating project & repository.
|
|
%p Please wait a moment, this page will automatically refresh when ready.
|
|
|
|
:javascript
|
|
var importBtnTooltip = "Please enter a valid project name.";
|
|
var $importBtnWrapper = $('.import_gitlab_project');
|
|
|
|
$('.how_to_import_link').bind('click', function (e) {
|
|
e.preventDefault();
|
|
var import_modal = $(this).next(".modal").show();
|
|
});
|
|
|
|
$('.modal-header .close').bind('click', function() {
|
|
$(".modal").hide();
|
|
});
|
|
|
|
$('.btn_import_gitlab_project').bind('click', function() {
|
|
var _href = $("a.btn_import_gitlab_project").attr("href");
|
|
$(".btn_import_gitlab_project").attr("href", _href + '?namespace_id=' + $("#project_namespace_id").val() + '&path=' + $("#project_path").val());
|
|
});
|
|
|
|
$('.btn_import_gitlab_project').attr('disabled', $('#project_path').val().trim().length === 0);
|
|
$importBtnWrapper.attr('title', importBtnTooltip);
|
|
|
|
$('#new_project').submit(function(){
|
|
var $path = $('#project_path');
|
|
$path.val($path.val().trim());
|
|
});
|
|
|
|
$('#project_path').keyup(function(){
|
|
if($(this).val().trim().length !== 0) {
|
|
$('.btn_import_gitlab_project').attr('disabled', false);
|
|
$importBtnWrapper.attr('title','');
|
|
$importBtnWrapper.removeClass('has-tooltip');
|
|
} else {
|
|
$('.btn_import_gitlab_project').attr('disabled',true);
|
|
$importBtnWrapper.addClass('has-tooltip');
|
|
}
|
|
});
|
|
|
|
$('#project_import_url').disable();
|
|
$('.import_git').click(function( event ) {
|
|
$projectImportUrl = $('#project_import_url');
|
|
$projectImportUrl.attr('disabled', !$projectImportUrl.attr('disabled'));
|
|
});
|