88 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			88 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
- content_for :page_title do
 | 
						|
  = t('auth.register')
 | 
						|
 | 
						|
- content_for :header_tags do
 | 
						|
  = render partial: 'shared/og', locals: { description: description_for_sign_up(@invite) }
 | 
						|
 | 
						|
= simple_form_for(resource, as: resource_name, url: registration_path(resource_name), html: { novalidate: false }) do |f|
 | 
						|
  = render 'auth/shared/progress', stage: 'details'
 | 
						|
 | 
						|
  %h1.title= t('auth.sign_up.title', domain: site_hostname)
 | 
						|
  %p.lead= t('auth.sign_up.preamble')
 | 
						|
 | 
						|
  = render 'shared/error_messages', object: resource
 | 
						|
 | 
						|
  - if @invite.present? && @invite.autofollow?
 | 
						|
    .fields-group.invited-by
 | 
						|
      %p.hint= t('invites.invited_by')
 | 
						|
      = render 'application/card', account: @invite.user.account
 | 
						|
 | 
						|
  .fields-group
 | 
						|
    = f.simple_fields_for :account do |ff|
 | 
						|
      = ff.input :username,
 | 
						|
                 append: "@#{site_hostname}",
 | 
						|
                 input_html: { autocomplete: 'off', pattern: '[a-zA-Z0-9_]+', maxlength: Account::USERNAME_LENGTH_LIMIT, placeholder: ' ' },
 | 
						|
                 required: true,
 | 
						|
                 wrapper: :with_label
 | 
						|
    = f.input :email,
 | 
						|
              hint: false,
 | 
						|
              input_html: { autocomplete: 'username', placeholder: ' ' },
 | 
						|
              required: true,
 | 
						|
              wrapper: :with_label
 | 
						|
    = f.input :password,
 | 
						|
              hint: false,
 | 
						|
              input_html: { autocomplete: 'new-password', minlength: User.password_length.first, maxlength: User.password_length.last, placeholder: ' ' },
 | 
						|
              required: true,
 | 
						|
              wrapper: :with_label
 | 
						|
    = f.input :password_confirmation,
 | 
						|
              hint: false,
 | 
						|
              input_html: { 'aria-label': t('simple_form.labels.defaults.confirm_password'), autocomplete: 'new-password', maxlength: User.password_length.last },
 | 
						|
              placeholder: t('simple_form.labels.defaults.confirm_password'),
 | 
						|
              required: true
 | 
						|
    = f.input :confirm_password,
 | 
						|
              as: :string,
 | 
						|
              hint: false,
 | 
						|
              input_html: { 'aria-label': t('simple_form.labels.defaults.honeypot', label: t('simple_form.labels.defaults.password')), autocomplete: 'off' },
 | 
						|
              placeholder: t('simple_form.labels.defaults.honeypot', label: t('simple_form.labels.defaults.password')),
 | 
						|
              required: false
 | 
						|
    = f.input :website,
 | 
						|
              as: :url,
 | 
						|
              input_html: { 'aria-label': t('simple_form.labels.defaults.honeypot', label: 'Website'), autocomplete: 'off' },
 | 
						|
              label: t('simple_form.labels.defaults.honeypot', label: 'Website'),
 | 
						|
              required: false,
 | 
						|
              wrapper: :with_label
 | 
						|
 | 
						|
  - if Setting.min_age.present?
 | 
						|
    .fields-group
 | 
						|
      = f.input :date_of_birth,
 | 
						|
                as: :date_of_birth,
 | 
						|
                hint: t('simple_form.hints.user.date_of_birth', age: Setting.min_age.to_i),
 | 
						|
                required: true,
 | 
						|
                wrapper: :with_block_label
 | 
						|
 | 
						|
  - if approved_registrations? && @invite.blank?
 | 
						|
    %p.lead= t('auth.sign_up.manual_review', domain: site_hostname)
 | 
						|
 | 
						|
    .fields-group
 | 
						|
      = f.simple_fields_for :invite_request, resource.invite_request || resource.build_invite_request do |invite_request_fields|
 | 
						|
        = invite_request_fields.input :text,
 | 
						|
                                      as: :text,
 | 
						|
                                      hint: false,
 | 
						|
                                      label: false,
 | 
						|
                                      input_html: { maxlength: UserInviteRequest::TEXT_SIZE_LIMIT },
 | 
						|
                                      required: Setting.require_invite_text,
 | 
						|
                                      wrapper: :with_block_label
 | 
						|
 | 
						|
  = hidden_field_tag :accept, params[:accept]
 | 
						|
  = f.input :invite_code, as: :hidden
 | 
						|
 | 
						|
  .fields-group
 | 
						|
    = f.input :agreement,
 | 
						|
              as: :boolean,
 | 
						|
              label: TermsOfService.live.exists? ? t('auth.user_agreement_html', privacy_policy_path: privacy_policy_path, terms_of_service_path: terms_of_service_path) : t('auth.user_privacy_agreement_html', privacy_policy_path: privacy_policy_path),
 | 
						|
              required: false,
 | 
						|
              wrapper: :with_label
 | 
						|
 | 
						|
  .actions
 | 
						|
    = f.button :button, @invite.present? ? t('auth.register') : sign_up_message, type: :submit
 |