summaryrefslogtreecommitdiff
path: root/app/views/devise/shared/_experimental_separate_sign_up_flow_box.html.haml
blob: 621bbb32a1394d53443e63e5c613e475503e00f2 (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
- max_first_name_length = max_last_name_length = 127
- max_username_length = 255
- min_username_length = 2
.signup-box.p-3.mb-2
  .signup-body
    = form_for(resource, as: "new_#{resource_name}", url: registration_path(resource_name), html: { class: "new_new_user gl-show-field-errors", "aria-live" => "assertive" }) do |f|
      .devise-errors.mt-0
        = render "devise/shared/error_messages", resource: resource
      - if Feature.enabled?(:invisible_captcha)
        = invisible_captcha
      .name.form-row
        .col.form-group
          = f.label :first_name, _('First name'), for: 'new_user_first_name', class: 'label-bold'
          = f.text_field :first_name, class: 'form-control top js-block-emoji js-validate-length', :data => { :max_length => max_first_name_length, :max_length_message => _("First name is too long (maximum is %{max_length} characters).") % { max_length: max_first_name_length }, :qa_selector => 'new_user_firstname_field' }, required: true, title: _("This field is required.")
        .col.form-group
          = f.label :last_name, _('Last name'), for: 'new_user_last_name', class: 'label-bold'
          = f.text_field :last_name, class: "form-control top js-block-emoji js-validate-length", :data => { :max_length => max_last_name_length, :max_length_message => _("Last name is too long (maximum is %{max_length} characters).") % { max_length: max_last_name_length }, :qa_selector => 'new_user_lastname_field' }, required: true, title: _("This field is required.")
      .username.form-group
        = f.label :username, class: 'label-bold'
        = f.text_field :username, class: "form-control middle js-block-emoji js-validate-length js-validate-username", :data => { :min_length => min_username_length, :min_length_message => s_("SignUp|Username is too short (minimum is %{min_length} characters).") % { min_length: min_username_length }, :max_length => max_username_length, :max_length_message => _("Username is too long (maximum is %{max_length} characters).") % { max_length: max_username_length }, :qa_selector => 'new_user_username_field' }, pattern: Gitlab::PathRegex::NAMESPACE_FORMAT_REGEX_JS, required: true, title: _("Please create a username with only alphanumeric characters.")
        %p.validation-error.gl-field-error-ignore.field-validation.mt-1.hide.cred= _('Username is already taken.')
        %p.validation-success.gl-field-error-ignore.field-validation.mt-1.hide.cgreen= _('Username is available.')
        %p.validation-pending.gl-field-error-ignore.field-validation.mt-1.hide= _('Checking username availability...')
      .form-group
        = f.label :email, class: 'label-bold'
        = f.email_field :email, class: "form-control middle", data: { qa_selector: 'new_user_email_field' }, required: true, title: _("Please provide a valid email address.")
      .form-group.append-bottom-20#password-strength
        = f.label :password, class: 'label-bold'
        = f.password_field :password, class: "form-control bottom", data: { qa_selector: 'new_user_password_field' }, required: true, pattern: ".{#{@minimum_password_length},}", title: _("Minimum length is %{minimum_password_length} characters.") % { minimum_password_length: @minimum_password_length }
        %p.gl-field-hint.text-secondary= _('Minimum length is %{minimum_password_length} characters') % { minimum_password_length: @minimum_password_length }
      = render_if_exists 'devise/shared/email_opted_in', f: f
      %div
      - if show_recaptcha_sign_up?
        = recaptcha_tags
      .submit-container.mt-3
        = f.submit _("Register"), class: "btn-register btn btn-block btn-success mb-0 p-2", data: { qa_selector: 'new_user_register_button' }
      = render 'devise/shared/terms_of_service_notice'
      - if omniauth_enabled? && button_based_providers_enabled?
        = render 'devise/shared/experimental_separate_sign_up_flow_omniauth_box'