From 529dc01435367cf153f85b0749ae0230cdaf71c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Gaya?= <sebastien.gaya@gmail.com> Date: Mon, 11 Oct 2021 11:20:04 +0200 Subject: [PATCH] devise override --- .../users/add_university_to_request_params.rb | 14 ++++++++++++++ app/controllers/users/confirmations_controller.rb | 9 +-------- app/controllers/users/passwords_controller.rb | 3 +++ app/controllers/users/registrations_controller.rb | 8 ++------ app/controllers/users/sessions_controller.rb | 9 +-------- app/controllers/users/unlocks_controller.rb | 3 +++ config/routes.rb | 4 +++- 7 files changed, 27 insertions(+), 23 deletions(-) create mode 100644 app/controllers/concerns/users/add_university_to_request_params.rb create mode 100644 app/controllers/users/passwords_controller.rb create mode 100644 app/controllers/users/unlocks_controller.rb diff --git a/app/controllers/concerns/users/add_university_to_request_params.rb b/app/controllers/concerns/users/add_university_to_request_params.rb new file mode 100644 index 000000000..84feb6685 --- /dev/null +++ b/app/controllers/concerns/users/add_university_to_request_params.rb @@ -0,0 +1,14 @@ +module Users::AddUniversityToRequestParams + extend ActiveSupport::Concern + + included do + prepend_before_action :add_university_to_request_params, only: :create + end + + protected + + def add_brand_to_request_params + # inject university_id in users params submitted + request.params[:user][:university_id] = current_university.id unless request.params[:user].nil? + end +end diff --git a/app/controllers/users/confirmations_controller.rb b/app/controllers/users/confirmations_controller.rb index 8e2a6ea73..98000946c 100644 --- a/app/controllers/users/confirmations_controller.rb +++ b/app/controllers/users/confirmations_controller.rb @@ -1,10 +1,3 @@ class Users::ConfirmationsController < Devise::ConfirmationsController - prepend_before_action :set_university, only: :create - - protected - - def set_university - return if request.params[:user].nil? - request.params[:user][:university_id] = current_university.id - end + include Users::AddUniversityToRequestParams end diff --git a/app/controllers/users/passwords_controller.rb b/app/controllers/users/passwords_controller.rb new file mode 100644 index 000000000..d02a3972e --- /dev/null +++ b/app/controllers/users/passwords_controller.rb @@ -0,0 +1,3 @@ +class Users::PasswordsController < Devise::PasswordsController + include Users::AddUniversityToRequestParams +end diff --git a/app/controllers/users/registrations_controller.rb b/app/controllers/users/registrations_controller.rb index 15c254c20..779a6029c 100644 --- a/app/controllers/users/registrations_controller.rb +++ b/app/controllers/users/registrations_controller.rb @@ -1,15 +1,11 @@ class Users::RegistrationsController < Devise::RegistrationsController - prepend_before_action :set_university, only: :create + include Users::AddUniversityToRequestParams + before_action :configure_sign_up_params, only: :create before_action :configure_account_update_params, only: :update protected - def set_university - return if request.params[:user].nil? - request.params[:user][:university_id] = current_university.id - end - def configure_sign_up_params devise_parameter_sanitizer.permit(:sign_up, keys: [:language_id, :first_name, :last_name]) end diff --git a/app/controllers/users/sessions_controller.rb b/app/controllers/users/sessions_controller.rb index 569a1c886..2e9ca5a51 100644 --- a/app/controllers/users/sessions_controller.rb +++ b/app/controllers/users/sessions_controller.rb @@ -1,10 +1,3 @@ class Users::SessionsController < Devise::SessionsController - prepend_before_action :set_university, only: :create - - protected - - def set_university - return if request.params[:user].nil? - request.params[:user][:university_id] = current_university.id - end + include Users::AddUniversityToRequestParams end diff --git a/app/controllers/users/unlocks_controller.rb b/app/controllers/users/unlocks_controller.rb new file mode 100644 index 000000000..b1ef88921 --- /dev/null +++ b/app/controllers/users/unlocks_controller.rb @@ -0,0 +1,3 @@ +class Users::UnlocksController < Devise::UnlocksController + include Users::AddUniversityToRequestParams +end diff --git a/config/routes.rb b/config/routes.rb index 0881881ca..7612e90a3 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -1,8 +1,10 @@ Rails.application.routes.draw do devise_for :users, controllers: { confirmations: 'users/confirmations', + passwords: 'users/passwords', registrations: 'users/registrations', - sessions: 'users/sessions' + sessions: 'users/sessions', + unlocks: 'users/unlocks' } resources :languages -- GitLab