If the “Why do you want to join?” textarea is left empty and the entered params do not validate, the textarea isn't shown again, unlike other fields. This commit fixes that by populating an empty `UserInviteRequest` when needed.
		
			
				
	
	
		
			42 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
		
			2.3 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 }
 | 
						|
 | 
						|
= simple_form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f|
 | 
						|
  = render 'shared/error_messages', object: resource
 | 
						|
 | 
						|
  - if @invite.present? && @invite.autofollow?
 | 
						|
    .fields-group{ style: 'margin-bottom: 30px' }
 | 
						|
      %p.hint{ style: 'text-align: center' }= t('invites.invited_by')
 | 
						|
      = render 'application/card', account: @invite.user.account
 | 
						|
 | 
						|
  = f.simple_fields_for :account do |ff|
 | 
						|
    .fields-group
 | 
						|
      = ff.input :username, wrapper: :with_label, autofocus: true, label: t('simple_form.labels.defaults.username'), required: true, input_html: { 'aria-label' => t('simple_form.labels.defaults.username'), :autocomplete => 'off' }, append: "@#{site_hostname}", hint: t('simple_form.hints.defaults.username', domain: site_hostname)
 | 
						|
 | 
						|
  .fields-group
 | 
						|
    = f.input :email, wrapper: :with_label, label: t('simple_form.labels.defaults.email'), required: true, input_html: { 'aria-label' => t('simple_form.labels.defaults.email'), :autocomplete => 'off' }
 | 
						|
 | 
						|
  .fields-group
 | 
						|
    = f.input :password, wrapper: :with_label, label: t('simple_form.labels.defaults.password'), required: true, input_html: { 'aria-label' => t('simple_form.labels.defaults.password'), :autocomplete => 'off' }
 | 
						|
 | 
						|
  .fields-group
 | 
						|
    = f.input :password_confirmation, wrapper: :with_label, label: t('simple_form.labels.defaults.confirm_password'), required: true, input_html: { 'aria-label' => t('simple_form.labels.defaults.confirm_password'), :autocomplete => 'off' }
 | 
						|
 | 
						|
  - if approved_registrations? && !@invite.present?
 | 
						|
    .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, wrapper: :with_block_label, required: false
 | 
						|
 | 
						|
  = f.input :invite_code, as: :hidden
 | 
						|
 | 
						|
  .fields-group
 | 
						|
    = f.input :agreement, as: :boolean, wrapper: :with_label, label: whitelist_mode? ? t('auth.checkbox_agreement_without_rules_html', terms_path: terms_path) : t('auth.checkbox_agreement_html', rules_path: about_more_path, terms_path: terms_path)
 | 
						|
 | 
						|
  .actions
 | 
						|
    = f.button :button, @invite.present? ? t('auth.register') : sign_up_message, type: :submit
 | 
						|
 | 
						|
.form-footer= render 'auth/shared/links'
 |