new.html.haml 6.5 KB
- @breadcrumb_link = dashboard_projects_path
- breadcrumb_title "Projects"
- @hide_top_links = true
- page_title    'New Project'
- header_title  "Projects", dashboard_projects_path
- visibility_level = params.dig(:project, :visibility_level) || default_project_visibility
- active_tab = local_assigns.fetch(:active_tab, 'blank')

.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
        - among_other_things_link = link_to _('among other things'), help_page_path("user/project/index.md", anchor: "projects-features"), target: '_blank'
        = _('A project is where you house your files (repository), plan your work (issues), and publish your documentation (wiki), %{among_other_things_link}.').html_safe % { among_other_things_link: among_other_things_link }
      %p
        = _('All features are enabled for blank projects, from templates, or when importing, but you can disable them afterward in the project settings.')
      .md
        = brand_new_project_guidelines
      %p
        %strong= _("Tip:")
        = _("You can also create a project from the command line.")
        %a.push-new-project-tip{ data: { title: _("Push to create a project") }, href: help_page_path('gitlab-basics/create-project', anchor: 'push-to-create-a-new-project'), target: "_blank", rel: "noopener noreferrer" }
          = _("Show command")
        %template.push-new-project-tip-template= render partial: "new_project_push_tip"

    .col-lg-9.js-toggle-container
      %ul.nav-links.gitlab-tabs{ role: 'tablist' }
        %li{ class: active_when(active_tab == 'blank'), role: 'presentation' }
          %a{ href: '#blank-project-pane', id: 'blank-project-tab', data: { toggle: 'tab' }, role: 'tab' }
            %span.d-none.d-sm-block Blank project
            %span.d-block.d-sm-none Blank
        %li{ class: active_when(active_tab == 'template'), role: 'presentation' }
          %a{ href: '#create-from-template-pane', id: 'create-from-template-tab', data: { toggle: 'tab' }, role: 'tab' }
            %span.d-none.d-sm-block Create from template
            %span.d-block.d-sm-none Template
        %li{ class: active_when(active_tab == 'import'), role: 'presentation' }
          %a{ href: '#import-project-pane', id: 'import-project-tab', data: { toggle: 'tab' }, role: 'tab' }
            %span.d-none.d-sm-block Import project
            %span.d-block.d-sm-none Import

      .tab-content.gitlab-tab-content
        .tab-pane{ id: 'blank-project-pane', class: active_when(active_tab == 'blank'), role: 'tabpanel' }
          = form_for @project, html: { class: 'new_project' } do |f|
            = render 'new_project_fields', f: f, project_name_id: "blank-project-name"

        .tab-pane.no-padding{ id: 'create-from-template-pane', class: active_when(active_tab == 'template'), role: 'tabpanel' }
          = form_for @project, html: { class: 'new_project' } do |f|
            .project-template
              .form-group
                %div
                  = render 'project_templates', f: f

        .tab-pane.import-project-pane.js-toggle-container{ id: 'import-project-pane', class: active_when(active_tab == 'import'), role: 'tabpanel' }
          = form_for @project, html: { class: 'new_project' } do |f|
            - if import_sources_enabled?
              .project-import.row
                .col-lg-12
                  .form-group.import-btn-container.clearfix
                    = f.label :visibility_level, class: 'label-light' do #the label here seems wrong
                      Import project from
                    .import-buttons
                      - if gitlab_project_import_enabled?
                        .import_gitlab_project.has-tooltip{ data: { container: 'body' } }
                          = link_to new_import_gitlab_project_path, class: 'btn btn_import_gitlab_project project-submit' do
                            = icon('gitlab', text: 'GitLab export')
                      %div
                        - if github_import_enabled?
                          = link_to new_import_github_path, class: 'btn js-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_path, class: 'btn import_gitea' do
                            = custom_icon('go_logo')
                            Gitea
                      %div
                        - if git_import_enabled?
                          %button.btn.js-toggle-button.js-import-git-toggle-button{ type: "button", data: { toggle_open_class: 'active' } }
                            = icon('git', text: 'Repo by URL')
                .col-lg-12
                  .js-toggle-content.toggle-import-form{ class: ('hide' if active_tab != 'import') }
                    %hr
                      = render "shared/import_form", f: f
                      = render 'new_project_fields', f: f, project_name_id: "import-url-name"

.save-project-loader.d-none
  .center
    %h2
      %i.fa.fa-spinner.fa-spin
      Creating project & repository.
    %p Please wait a moment, this page will automatically refresh when ready.