From 249aed42c4a152f67e3779ca9ad4ff4844d37d6c Mon Sep 17 00:00:00 2001 From: kikito Date: Thu, 10 Sep 2015 17:41:37 +0200 Subject: [PATCH] Makes welcome screen work using a sessions controller --- app/controllers/users/sessions_controller.rb | 11 +++++++++++ app/models/user.rb | 4 ++++ config/routes.rb | 2 ++ 3 files changed, 17 insertions(+) create mode 100644 app/controllers/users/sessions_controller.rb diff --git a/app/controllers/users/sessions_controller.rb b/app/controllers/users/sessions_controller.rb new file mode 100644 index 000000000..c93b61c80 --- /dev/null +++ b/app/controllers/users/sessions_controller.rb @@ -0,0 +1,11 @@ +class Users::SessionsController < Devise::SessionsController + + def after_sign_in_path_for(resource) + if resource.show_welcome_screen? + welcome_path + else + root_path + end + end + +end diff --git a/app/models/user.rb b/app/models/user.rb index a806de7c3..f0cf9d6fb 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -135,4 +135,8 @@ class User < ActiveRecord::Base !!(unconfirmed_email && unconfirmed_email !~ OMNIAUTH_EMAIL_REGEX) end + def show_welcome_screen? + sign_in_count == 1 && unverified? && !organization + end + end diff --git a/config/routes.rb b/config/routes.rb index 8c067a74e..aa596fc25 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -1,6 +1,7 @@ Rails.application.routes.draw do devise_for :users, controllers: { registrations: 'users/registrations', + sessions: 'users/sessions', omniauth_callbacks: 'users/omniauth_callbacks' } devise_for :organizations, class_name: 'User', @@ -27,6 +28,7 @@ Rails.application.routes.draw do root 'welcome#index' get '/welcome', to: 'welcome#welcome' + resources :debates do member do post :vote