From e9624af05aaa732b1ffe5286d38aef41cddb2cba Mon Sep 17 00:00:00 2001 From: Pedro Henrique! Date: Tue, 22 Nov 2016 10:51:49 -0200 Subject: [PATCH] Blocks citizen when trying to login in an inactive city Signed-off-by: Pedro Henrique! --- app/controllers/sessions_controller.rb | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/app/controllers/sessions_controller.rb b/app/controllers/sessions_controller.rb index 8fdfedd5..7b44863c 100644 --- a/app/controllers/sessions_controller.rb +++ b/app/controllers/sessions_controller.rb @@ -21,10 +21,13 @@ class SessionsController < Devise::SessionsController # yield resource if block_given? # respond_with resource, location: after_sign_in_path_for(resource) + # Get status of current city + current_city = CityHall.find_by(city_id: current_citizen.city_id) + # Get resource self.resource = warden.authenticate!(auth_options) # Check if resource is not null and if a citizen has been signed_in - if !resource.nil? && citizen_signed_in? + if !resource.nil? && citizen_signed_in? && current_city.active # if !resource.active # sign_out(resource) @@ -32,7 +35,7 @@ class SessionsController < Devise::SessionsController # return redirect_to root_path # end - # Set expires time to send message when expiring + # Set expiretion time to send message when expiring session session[:expires_at] = Time.current + 30.minutes # Set variable to show loading bar session[:carrega_pagina] = true @@ -56,11 +59,10 @@ class SessionsController < Devise::SessionsController redirect_to root_path end else - if (!@current_city_hall.citizen_access) + if !current_city.active || (!@current_city_hall.citizen_access) sign_out(resource) - mensagem = "A utilização do agendador pela internet está - desatibilitada nesta cidade. " - if @city_hall.textoBloqueio + mensagem = "A utilização do agendador nesta cidade está desativado" + if @city_hall && @city_hall.textoBloqueio mensagem += @city_hall.textoBloqueio end return redirect_to root_path, alert: mensagem.html_safe -- GitLab