From 404134aa8d7bb363fe602416dd578ea61c2a84f8 Mon Sep 17 00:00:00 2001
From: farhatahmad <35435341+farhatahmad@users.noreply.github.com>
Date: Mon, 4 Mar 2019 15:51:53 -0500
Subject: [PATCH] Redirecting the user to the referrer on login success/fail
(#374)
---
app/controllers/sessions_controller.rb | 8 +++++++-
app/helpers/sessions_helper.rb | 6 +++++-
app/views/rooms/join.html.erb | 2 ++
3 files changed, 14 insertions(+), 2 deletions(-)
diff --git a/app/controllers/sessions_controller.rb b/app/controllers/sessions_controller.rb
index 96128b7b..b2d9c001 100644
--- a/app/controllers/sessions_controller.rb
+++ b/app/controllers/sessions_controller.rb
@@ -29,13 +29,19 @@ class SessionsController < ApplicationController
def create
user = User.find_by(email: session_params[:email])
if user && !user.greenlight_account?
- redirect_to root_path, alert: I18n.t("invalid_login_method")
+ if request.referrer.present?
+ redirect_to request.referrer, alert: I18n.t("invalid_login_method")
+ else
+ redirect_to root_path, alert: I18n.t("invalid_login_method")
+ end
elsif user.try(:authenticate, session_params[:password])
if user.email_verified
login(user)
else
redirect_to(account_activation_path(email: user.email)) && return
end
+ elsif request.referrer.present?
+ redirect_to request.referrer, alert: I18n.t("invalid_credentials")
else
redirect_to root_path, alert: I18n.t("invalid_credentials")
end
diff --git a/app/helpers/sessions_helper.rb b/app/helpers/sessions_helper.rb
index a483a2cd..e3db94a7 100644
--- a/app/helpers/sessions_helper.rb
+++ b/app/helpers/sessions_helper.rb
@@ -32,7 +32,11 @@ module SessionsHelper
# If email verification is disabled, or the user has verified, go to their room
def check_email_verified(user)
if !Rails.configuration.enable_email_verification || user.email_verified
- redirect_to user.main_room
+ if request.referrer.present?
+ redirect_to request.referrer
+ else
+ redirect_to user.main_room
+ end
else
redirect_to resend_path
end
diff --git a/app/views/rooms/join.html.erb b/app/views/rooms/join.html.erb
index ddb35520..126fc461 100644
--- a/app/views/rooms/join.html.erb
+++ b/app/views/rooms/join.html.erb
@@ -13,6 +13,8 @@
# with BigBlueButton; if not, see