app/controllers/mtdevise/application_controller.rb
module Mtdevise
class ApplicationController < ::ApplicationController
# Secirity and Filters
protect_from_forgery with: :null_session
before_action :check_subdomain
# Omniauth
def after_sign_in_path_for(resource)
request.env['omniauth.origin'] || stored_location_for(resource) || mtdevise.accounts_path
end
# Helpers for Current Account and Users
def current_user?(user)
user == current_user
end
helper_method :current_user
def current_account?(account)
account == current_account
end
helper_method :current_account
# Load Helpers
helper Phctitleseo::Engine.helpers
helper Phcnotifi::Engine.helpers
private
# Logged in redirect
def redirect_logged_in_users_to_account_page
redirect_to mtdevise.accounts_path if user_signed_in?
end
# Subdomain Checker
def check_subdomain
if request.subdomain.present? && Account.where(subdomain: request.subdomain).blank?
redirect_to mtdevise.root_url(subdomain: false), notice: "Subdomain Doesn't Exist. Would you like to Register."
end
end
# Resolve Layouts for Custom Account Actions
def layouts_resolver_accounts
case action_name
when "index"
"layouts/mtdevise/accountsindex"
when "new"
"layouts/mtdevise/signup"
end
end
# Resolve Layouts for Custom User Actions
def layouts_resolver_users
case action_name
when "new"
"layouts/mtdevise/signup"
end
end
end
end