diff --git a/app/controllers/auth/registrations_controller.rb b/app/controllers/auth/registrations_controller.rb index 84a802447b2..14e0d9a363d 100644 --- a/app/controllers/auth/registrations_controller.rb +++ b/app/controllers/auth/registrations_controller.rb @@ -148,6 +148,7 @@ class Auth::RegistrationsController < Devise::RegistrationsController return if @rules.empty? || (session[:accept_token].present? && params[:accept] == session[:accept_token]) @accept_token = session[:accept_token] = SecureRandom.hex + @invite_code = invite_code set_locale { render :rules } end diff --git a/app/views/auth/registrations/rules.html.haml b/app/views/auth/registrations/rules.html.haml index a41581b3242..8e7a90cbeb9 100644 --- a/app/views/auth/registrations/rules.html.haml +++ b/app/views/auth/registrations/rules.html.haml @@ -14,7 +14,8 @@ .rules-list__text= rule.text .stacked-actions - = link_to t('auth.rules.accept'), new_user_registration_path(accept: @accept_token), class: 'button' + - accept_path = @invite_code.present? ? public_invite_url(invite_code: @invite_code, accept: @accept_token) : new_user_registration_path(accept: @accept_token) + = link_to t('auth.rules.accept'), accept_path, class: 'button' = link_to t('auth.rules.back'), root_path, class: 'button button-tertiary' .form-footer= render 'auth/shared/links'