a8da0de528
With a time treshold of 4 seconds and a firstname and lastname honeypot input fields when signing up
41 lines
3.6 KiB
Text
41 lines
3.6 KiB
Text
- max_name_length = 128
|
|
- max_username_length = 255
|
|
#register-pane.tab-pane.login-box{ role: 'tabpanel' }
|
|
.login-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
|
|
= render "devise/shared/error_messages", resource: resource
|
|
- if Feature.enabled?(:invisible_captcha)
|
|
= invisible_captcha
|
|
.name.form-group
|
|
= f.label :name, _('Full name'), class: 'label-bold'
|
|
= f.text_field :name, class: "form-control top js-block-emoji js-validate-length", :data => { :max_length => max_name_length, :max_length_message => s_("SignUp|Name is too long (maximum is %{max_length} characters).") % { max_length: max_name_length }, :qa_selector => 'new_user_name_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 => { :max_length => max_username_length, :max_length_message => s_("SignUp|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.hide= _('Username is already taken.')
|
|
%p.validation-success.gl-field-error-ignore.field-validation.hide= _('Username is available.')
|
|
%p.validation-pending.gl-field-error-ignore.field-validation.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
|
|
= f.label :email_confirmation, class: 'label-bold'
|
|
= f.email_field :email_confirmation, class: "form-control middle", data: { qa_selector: 'new_user_email_confirmation_field' }, required: true, title: _("Please retype the 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 }
|
|
- if Gitlab::CurrentSettings.current_application_settings.enforce_terms?
|
|
.form-group
|
|
= check_box_tag :terms_opt_in, '1', false, required: true, data: { qa_selector: 'new_user_accept_terms_checkbox' }
|
|
= label_tag :terms_opt_in do
|
|
- terms_link = link_to s_("I accept the|Terms of Service and Privacy Policy"), terms_path, target: "_blank"
|
|
- accept_terms_label = _("I accept the %{terms_link}") % { terms_link: terms_link }
|
|
= accept_terms_label.html_safe
|
|
= render_if_exists 'devise/shared/email_opted_in', f: f
|
|
%div
|
|
- if show_recaptcha_sign_up?
|
|
= recaptcha_tags
|
|
.submit-container
|
|
= f.submit _("Register"), class: "btn-register btn", data: { qa_selector: 'new_user_register_button' }
|