Welcome to mirror list, hosted at ThFree Co, Russian Federation.

_new_project_fields.html.haml « projects « views « app - gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 6049d1cc11071276e3bc05ab1e79f2c8fd64e03a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
- visibility_level = selected_visibility_level(@project, params.dig(:project, :visibility_level))
- ci_cd_only = local_assigns.fetch(:ci_cd_only, false)
- hide_init_with_readme = local_assigns.fetch(:hide_init_with_readme, false)
- include_description = local_assigns.fetch(:include_description, true)
- track_label = local_assigns.fetch(:track_label, 'blank_project')

.row{ id: project_name_id }
  = f.hidden_field :ci_cd_only, value: ci_cd_only
  .form-group.gl-form-group.project-name.col-sm-12
    = f.label :name, class: 'label-bold' do
      %span= _("Project name")
    = f.text_field :name, placeholder: "My awesome project", class: "form-control gl-form-input input-lg", data: { qa_selector: 'project_name', track_label: "#{track_label}", track_action: "activate_form_input", track_property: "project_name", track_value: "" }, required: true, aria: { required: true }
    %small#js-project-name-description.form-text.text-gl-muted
      = s_("ProjectsNew|Must start with a lowercase or uppercase letter, digit, emoji, or underscore. Can also contain dots, pluses, dashes, or spaces.")
    #js-project-name-error.gl-field-error.gl-mt-2.gl-display-none
  .form-group.project-path.col-sm-6.gl-pr-0
    = f.label :namespace_id, class: 'label-bold' do
      %span= _('Project URL')
    .input-group.gl-flex-nowrap
      - if current_user.can_select_namespace?
        - namespace_id = namespace_id_from(params)
        .js-vue-new-project-url-select{ data: { namespace_full_path: GroupFinder.new(current_user).execute(id: namespace_id)&.full_path || @current_user_group&.full_path,
          namespace_id: namespace_id || @current_user_group&.id,
          input_id: 'project_namespace_id',
          input_name: 'project[namespace_id]',
          root_url: root_url,
          track_label: track_label,
          user_namespace_id: current_user.namespace.id } }
      - else
        .input-group-prepend.static-namespace.flex-shrink-0.has-tooltip{ title: user_url(current_user.username) + '/' }
          .input-group-text.border-0
            #{user_url(current_user.username)}/
        = f.hidden_field :namespace_id, value: current_user.namespace_id
      .gl-align-self-center.gl-pl-5 /
  .form-group.project-path.col-sm-6
    = f.label :path, class: 'label-bold' do
      %span= _("Project slug")
    = f.text_field :path, placeholder: "my-awesome-project", class: "form-control gl-form-input", required: true, aria: { required: true }, data: { qa_selector: 'project_path', username: current_user.username }
.js-group-namespace-error.form-text.gl-text-red-500.gl-display-none
  = s_('ProjectsNew|Pick a group or namespace where you want to create this project.')
- if current_user.can_create_group?
  .form-text.text-muted
    - link_start_group_path = '<a href="%{path}">' % { path: new_group_path }
    - project_tip = s_('ProjectsNew|Want to organize several dependent projects under the same namespace? %{link_start}Create a group.%{link_end}') % { link_start: link_start_group_path, link_end: '</a>' }
    = project_tip.html_safe
= render Pajamas::AlertComponent.new(alert_options: { class: "gl-mb-4 gl-display-none js-user-readme-repo" },
  dismissible: false,
  variant: :success) do |c|
  - c.with_body do
    - help_link_start = '<a href="%{url}" target="_blank" rel="noopener noreferrer">'.html_safe % { url: help_page_path('user/profile/index', anchor: 'add-details-to-your-profile-with-a-readme') }
    = html_escape(_('%{project_path} is a project that you can use to add a README to your GitLab profile. Create a public project and initialize the repository with a README to get started. %{help_link_start}Learn more%{help_link_end}.')) % { project_path: "<strong>#{current_user.username} / #{current_user.username}</strong>".html_safe, help_link_start: help_link_start, help_link_end: '</a>'.html_safe }

- if include_description
  .form-group
    = f.label :description, class: 'label-bold' do
      = s_('ProjectsNew|Project description %{tag_start}(optional)%{tag_end}').html_safe % { tag_start: '<span>'.html_safe, tag_end: '</span>'.html_safe }
    = f.text_area :description,
      placeholder: s_('ProjectsNew|Description format'),
      class: "form-control gl-form-input",
      rows: 3,
      maxlength: 250,
      data: { qa_selector: 'project_description',
              track_label: track_label,
              track_action: "activate_form_input",
              track_property: "project_description" }

- unless Gitlab::CurrentSettings.current_application_settings.hide_third_party_offers? || !Gitlab.com?
  .js-deployment-target-select

.form-group.gl-form-group
  = f.label :visibility_level, class: 'label-bold' do
    = s_('ProjectsNew|Visibility Level')
    = link_to sprite_icon('question-o'), help_page_path('user/public_access'), aria: { label: 'Documentation for Visibility Level' }, target: '_blank', rel: 'noopener noreferrer'
  = render 'shared/visibility_level', f: f, visibility_level: visibility_level.to_i, can_change_visibility_level: true, form_model: @project, with_label: false, data: { qa_selector: 'visibility_radios'}

- if !hide_init_with_readme
  = f.label :project_configuration, class: 'label-bold' do
    = s_('ProjectsNew|Project Configuration')

  .form-group
    = render Pajamas::CheckboxTagComponent.new(name: 'project[initialize_with_readme]',
      checked: true,
      checkbox_options: { data: { qa_selector: 'initialize_with_readme_checkbox', track_label: track_label, track_action: 'activate_form_input', track_property: 'init_with_readme' } }) do |c|
      - c.with_label do
        = s_('ProjectsNew|Initialize repository with a README')
      - c.with_help_text do
        = s_('ProjectsNew|Allows you to immediately clone this project’s repository. Skip this if you plan to push up an existing repository.')

  .form-group
    = render Pajamas::CheckboxTagComponent.new(name: 'project[initialize_with_sast]',
      checkbox_options: { data: { qa_selector: 'initialize_with_sast_checkbox', track_label: track_label, track_action: 'activate_form_input', track_property: 'init_with_sast' } }) do |c|
      - c.with_label do
        = s_('ProjectsNew|Enable Static Application Security Testing (SAST)')
      - c.with_help_text do
        = s_('ProjectsNew|Analyze your source code for known security vulnerabilities.')
        = link_to _('Learn more.'), help_page_path('user/application_security/sast/index'), target: '_blank', rel: 'noopener noreferrer', data: { track_action: 'followed' }

-# this partial is from JiHu, see details in https://jihulab.com/gitlab-cn/gitlab/-/merge_requests/675
= render_if_exists 'shared/other_project_options', f: f, visibility_level: visibility_level, track_label: track_label
= f.submit _('Create project'), class: "js-create-project-button", data: { qa_selector: 'project_create_button', track_label: "#{track_label}", track_action: "click_button", track_property: "create_project", track_value: "" }, pajamas_button: true
= link_to _('Cancel'), @parent_group || dashboard_groups_path, class: 'btn gl-button btn-default btn-cancel', data: { track_label: "#{track_label}", track_action: "click_button", track_property: "cancel", track_value: "" }