From 7ca72f53f27f63a3695e1b1d0c51bed2c85c7b40 Mon Sep 17 00:00:00 2001 From: Sylvain Date: Mon, 14 Jan 2019 14:45:23 +0100 Subject: [PATCH] refactored ApplicationController + rubymine stub for devise --- app/controllers/application_controller.rb | 24 ++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index 8d8e8cc66..bcd6c121c 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -1,3 +1,6 @@ +# frozen_string_literal: true + +# Main controller for the backend application. All controllers inherits from it class ApplicationController < ActionController::Base include Pundit # Prevent CSRF attacks by raising an exception. @@ -14,10 +17,10 @@ class ApplicationController < ActionController::Base # Returning 403 Forbidden if permission is denied rescue_from Pundit::NotAuthorizedError, with: :permission_denied - def index - end + def index; end protected + def set_csrf_cookie cookies['XSRF-TOKEN'] = form_authenticity_token if protect_against_forgery? end @@ -28,17 +31,24 @@ class ApplicationController < ActionController::Base def configure_permitted_parameters devise_parameter_sanitizer.for(:sign_up) << - {profile_attributes: [:phone, :last_name, :first_name, - :gender, :birthday, :interest, :software_mastered, - organization_attributes: [:name, address_attributes: [:address]]]} - devise_parameter_sanitizer.for(:sign_up).concat [:username, :is_allow_contact, :is_allow_newsletter, :cgu, :group_id] + { profile_attributes: [:phone, :last_name, :first_name, :gender, :birthday, :interest, :software_mastered, + organization_attributes: [:name, address_attributes: [:address]]] } + + devise_parameter_sanitizer.for(:sign_up).concat %i[username is_allow_contact is_allow_newsletter cgu group_id] end def default_url_options - { :host => Rails.application.secrets.default_host, protocol: Rails.application.secrets.default_protocol } + { host: Rails.application.secrets.default_host, protocol: Rails.application.secrets.default_protocol } end def permission_denied head 403 end + + # @return [User] + # This is a placeholder for Devise's current_user. + # As Devise generate the method at runtime, IDEs autocomplete features will complain about 'method not found' + def current_user + super + end end