2019-09-04 21:01:54 +05:30
- visibility_level = selected_visibility_level(@project, params.dig(:project, :visibility_level))
2018-03-27 19:54:05 +05:30
- ci_cd_only = local_assigns.fetch(:ci_cd_only, false)
2018-12-05 23:21:45 +05:30
- hide_init_with_readme = local_assigns.fetch(:hide_init_with_readme, false)
- track_label = local_assigns.fetch(:track_label, 'blank_project')
2018-03-17 18:26:18 +05:30
.row{ id: project_name_id }
2018-03-27 19:54:05 +05:30
= f.hidden_field :ci_cd_only, value: ci_cd_only
2018-11-20 20:47:30 +05:30
.form-group.project-name.col-sm-12
= f.label :name, class: 'label-bold' do
%span= _("Project name")
2021-11-11 11:23:49 +05:30
= f.text_field :name, placeholder: "My awesome project", class: "form-control gl-form-input input-lg", data: { track_label: "#{track_label}", track_action: "activate_form_input", track_property: "project_name", track_value: "" }, required: true, aria: { required: true }
2018-03-17 18:26:18 +05:30
.form-group.project-path.col-sm-6
2018-11-18 11:00:15 +05:30
= f.label :namespace_id, class: 'label-bold' do
2021-11-11 11:23:49 +05:30
%span= _('Project URL')
2021-04-29 21:17:54 +05:30
.input-group.gl-flex-nowrap
2018-03-17 18:26:18 +05:30
- if current_user.can_select_namespace?
2018-11-18 11:00:15 +05:30
- namespace_id = namespace_id_from(params)
2022-03-02 08:16:31 +05:30
.js-vue-new-project-url-select{ data: { namespace_full_path: GroupFinder.new(current_user).execute(id: namespace_id)&.full_path,
namespace_id: namespace_id,
root_url: root_url,
track_label: track_label,
user_namespace_full_path: current_user.namespace.full_path,
user_namespace_id: current_user.namespace.id } }
2018-03-17 18:26:18 +05:30
- else
2019-07-07 11:18:12 +05:30
.input-group-prepend.static-namespace.flex-shrink-0.has-tooltip{ title: user_url(current_user.username) + '/' }
2018-11-08 19:23:39 +05:30
.input-group-text.border-0
#{user_url(current_user.username)}/
2018-03-17 18:26:18 +05:30
= f.hidden_field :namespace_id, value: current_user.namespace_id
.form-group.project-path.col-sm-6
2018-11-18 11:00:15 +05:30
= f.label :path, class: 'label-bold' do
2018-11-20 20:47:30 +05:30
%span= _("Project slug")
2021-12-11 22:18:48 +05:30
= f.text_field :path, placeholder: "my-awesome-project", class: "form-control gl-form-input", required: true, aria: { required: true }, data: { username: current_user.username }
2018-03-17 18:26:18 +05:30
- if current_user.can_create_group?
2018-11-08 19:23:39 +05:30
.form-text.text-muted
2019-09-30 21:07:59 +05:30
- link_start_group_path = '<a href="%{path}">' % { path: new_group_path }
- project_tip = s_('ProjectsNew|Want to house 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
2021-12-11 22:18:48 +05:30
.gl-alert.gl-alert-success.gl-mb-4.gl-display-none.js-user-readme-repo
= sprite_icon('check-circle', size: 16, css_class: 'gl-icon gl-alert-icon gl-alert-icon-no-title')
.gl-alert-body
2022-01-26 12:08:38 +05:30
- 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') }
2021-12-11 22:18:48 +05:30
= 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 }
2018-03-17 18:26:18 +05:30
.form-group
2018-11-18 11:00:15 +05:30
= f.label :description, class: 'label-bold' do
2019-09-30 21:07:59 +05:30
= s_('ProjectsNew|Project description %{tag_start}(optional)%{tag_end}').html_safe % { tag_start: '<span>'.html_safe, tag_end: '</span>'.html_safe }
2021-11-11 11:23:49 +05:30
= f.text_area :description, placeholder: s_('ProjectsNew|Description format'), class: "form-control gl-form-input", rows: 3, maxlength: 250, data: { track_label: "#{track_label}", track_action: "activate_form_input", track_property: "project_description", track_value: "" }
2018-03-17 18:26:18 +05:30
2018-11-18 11:00:15 +05:30
= f.label :visibility_level, class: 'label-bold' do
2019-09-30 21:07:59 +05:30
= s_('ProjectsNew|Visibility Level')
2020-11-24 15:15:51 +05:30
= link_to sprite_icon('question-o'), help_page_path('public_access/public_access'), aria: { label: 'Documentation for Visibility Level' }, target: '_blank', rel: 'noopener noreferrer'
2018-11-08 19:23:39 +05:30
= render 'shared/visibility_level', f: f, visibility_level: visibility_level.to_i, can_change_visibility_level: true, form_model: @project, with_label: false
2018-12-05 23:21:45 +05:30
- if !hide_init_with_readme
2021-11-18 22:05:49 +05:30
= f.label :project_configuration, class: 'label-bold' do
= s_('ProjectsNew|Project Configuration')
.form-group
.form-check.gl-mb-3
= check_box_tag 'project[initialize_with_readme]', '1', true, class: 'form-check-input', data: { qa_selector: 'initialize_with_readme_checkbox', track_label: track_label, track_action: 'activate_form_input', track_property: 'init_with_readme' }
= label_tag 'project[initialize_with_readme]', s_('ProjectsNew|Initialize repository with a README'), class: 'form-check-label'
.form-text.text-muted
= s_('ProjectsNew|Allows you to immediately clone this project’ s repository. Skip this if you plan to push up an existing repository.')
- experiment(:new_project_sast_enabled, user: current_user) do |e|
2022-01-26 12:08:38 +05:30
- e.try(:candidate) do
2021-11-18 22:05:49 +05:30
.form-group
.form-check.gl-mb-3
2021-12-11 22:18:48 +05:30
= check_box_tag 'project[initialize_with_sast]', '1', true, class: 'form-check-input', data: { qa_selector: 'initialize_with_sast_checkbox', track_experiment: e.name, track_label: track_label, track_action: 'activate_form_input', track_property: 'init_with_sast' }
2021-11-18 22:05:49 +05:30
= label_tag 'project[initialize_with_sast]', class: 'form-check-label' do
= s_('ProjectsNew|Enable Static Application Security Testing (SAST)')
.form-text.text-muted
= 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', track_experiment: e.name }
2022-01-26 12:08:38 +05:30
- e.try(:unchecked_candidate) do
.form-group
.form-check.gl-mb-3
= check_box_tag 'project[initialize_with_sast]', '1', false, class: 'form-check-input', data: { qa_selector: 'initialize_with_sast_checkbox', track_experiment: e.name, track_label: track_label, track_action: 'activate_form_input', track_property: 'init_with_sast' }
= label_tag 'project[initialize_with_sast]', class: 'form-check-label' do
= s_('ProjectsNew|Enable Static Application Security Testing (SAST)')
.form-text.text-muted
= 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', track_experiment: e.name }
2021-11-18 22:05:49 +05:30
- e.try(:free_indicator) do
.form-group
.form-check.gl-mb-3
2021-12-11 22:18:48 +05:30
= check_box_tag 'project[initialize_with_sast]', '1', true, class: 'form-check-input', data: { qa_selector: 'initialize_with_sast_checkbox', track_experiment: e.name, track_label: track_label, track_action: 'activate_form_input', track_property: 'init_with_sast' }
2022-01-26 12:08:38 +05:30
= label_tag 'project[initialize_with_sast]', class: 'form-check-label' do
= s_('ProjectsNew|Enable Static Application Security Testing (SAST)')
2022-03-02 08:16:31 +05:30
= gl_badge_tag _('Free'), variant: :info, size: :sm
2022-01-26 12:08:38 +05:30
.form-text.text-muted
= 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', track_experiment: e.name }
- e.try(:unchecked_free_indicator) do
.form-group
.form-check.gl-mb-3
= check_box_tag 'project[initialize_with_sast]', '1', false, class: 'form-check-input', data: { qa_selector: 'initialize_with_sast_checkbox', track_experiment: e.name, track_label: track_label, track_action: 'activate_form_input', track_property: 'init_with_sast' }
2021-11-18 22:05:49 +05:30
= label_tag 'project[initialize_with_sast]', class: 'form-check-label' do
= s_('ProjectsNew|Enable Static Application Security Testing (SAST)')
2022-03-02 08:16:31 +05:30
= gl_badge_tag _('Free'), variant: :info, size: :sm
2021-11-18 22:05:49 +05:30
.form-text.text-muted
= 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', track_experiment: e.name }
2018-03-17 18:26:18 +05:30
2021-11-11 11:23:49 +05:30
= f.submit _('Create project'), class: "btn gl-button btn-confirm", data: { track_label: "#{track_label}", track_action: "click_button", track_property: "create_project", track_value: "" }
= link_to _('Cancel'), dashboard_projects_path, class: 'btn gl-button btn-default btn-cancel', data: { track_label: "#{track_label}", track_action: "click_button", track_property: "cancel", track_value: "" }