diff --git a/app/controllers/omniauth_callbacks_controller.rb b/app/controllers/omniauth_callbacks_controller.rb index a7e4d4bdf..e17309514 100644 --- a/app/controllers/omniauth_callbacks_controller.rb +++ b/app/controllers/omniauth_callbacks_controller.rb @@ -11,10 +11,12 @@ class OmniauthCallbacksController < Devise::OmniauthCallbacksController remember_me(@user) sign_in_and_redirect @user, event: :authentication set_flash_message(:notice, :success, kind: "#{provider}".capitalize) if is_navigational_format? - elsif @user.persisted? && @user.errors&.full_messages&.join.include?("username has already been taken") + elsif @user.persisted? && @user.errors.full_messages.join(", ").include?("username has already been taken") redirect_to "/settings?state=previous-registration" else session["devise.#{provider}_data"] = request.env["omniauth.auth"] + user_errors = @user.errors.full_messages + flash[:alert] = user_errors redirect_to new_user_registration_url end end diff --git a/app/views/devise/registrations/_registration_form.html.erb b/app/views/devise/registrations/_registration_form.html.erb index a863c105f..583c29864 100644 --- a/app/views/devise/registrations/_registration_form.html.erb +++ b/app/views/devise/registrations/_registration_form.html.erb @@ -10,4 +10,4 @@
The DEV Community is for amazing humans who code
- \ No newline at end of file + diff --git a/app/views/devise/registrations/new.html.erb b/app/views/devise/registrations/new.html.erb index 53ffdad27..a80f70703 100644 --- a/app/views/devise/registrations/new.html.erb +++ b/app/views/devise/registrations/new.html.erb @@ -1 +1,3 @@ -<%= render "registration_form" %> \ No newline at end of file +<%= render "devise/shared/authorization_error" %> + +<%= render "devise/registrations/registration_form" %> diff --git a/app/views/devise/sessions/new.html.erb b/app/views/devise/sessions/new.html.erb index 6c0ac5558..a80f70703 100644 --- a/app/views/devise/sessions/new.html.erb +++ b/app/views/devise/sessions/new.html.erb @@ -1,4 +1,3 @@ - +<%= render "devise/shared/authorization_error" %> + +<%= render "devise/registrations/registration_form" %> diff --git a/app/views/devise/shared/_authorization_error.html.erb b/app/views/devise/shared/_authorization_error.html.erb new file mode 100644 index 000000000..98a58f6ac --- /dev/null +++ b/app/views/devise/shared/_authorization_error.html.erb @@ -0,0 +1,25 @@ + +<% unless flash[:alert].blank? %> +