Class: Panda::Core::Admin::BaseController
- Inherits:
-
ActionController::Base
- Object
- ActionController::Base
- Panda::Core::Admin::BaseController
- Defined in:
- app/controllers/panda/core/admin/base_controller.rb
Overview
Base controller for all admin interfaces across Panda gems Provides authentication, helpers, and hooks for extending functionality
Direct Known Subclasses
DashboardController, MyProfileController, SessionsController
Instance Method Summary collapse
- #add_breadcrumb(name, path = nil) ⇒ Object
- #authenticate_admin_user! ⇒ Object
- #authenticate_user! ⇒ Object
- #breadcrumbs ⇒ Object
-
#current_user ⇒ Object
Required for paper_trail and seems as good as convention these days.
-
#set_current_request_details ⇒ void
Set the current request details.
- #user_signed_in? ⇒ Boolean
Instance Method Details
#add_breadcrumb(name, path = nil) ⇒ Object
31 32 33 |
# File 'app/controllers/panda/core/admin/base_controller.rb', line 31 def (name, path = nil) << Breadcrumb.new(name, path) end |
#authenticate_admin_user! ⇒ Object
50 51 52 53 54 55 |
# File 'app/controllers/panda/core/admin/base_controller.rb', line 50 def authenticate_admin_user! return if user_signed_in? && current_user.admin? redirect_to panda_core.admin_login_path, flash: {error: "Please login to view this!"} end |
#authenticate_user! ⇒ Object
46 47 48 |
# File 'app/controllers/panda/core/admin/base_controller.rb', line 46 def authenticate_user! redirect_to main_app.root_path, flash: {error: "Please login to view this!"} unless user_signed_in? end |
#breadcrumbs ⇒ Object
27 28 29 |
# File 'app/controllers/panda/core/admin/base_controller.rb', line 27 def @breadcrumbs ||= [] end |
#current_user ⇒ Object
Required for paper_trail and seems as good as convention these days
58 59 60 |
# File 'app/controllers/panda/core/admin/base_controller.rb', line 58 def current_user Panda::Core::Current.user end |
#set_current_request_details ⇒ void
This method returns an undefined value.
Set the current request details
37 38 39 40 41 42 43 44 |
# File 'app/controllers/panda/core/admin/base_controller.rb', line 37 def set_current_request_details # Set Core current attributes Panda::Core::Current.request_id = request.uuid Panda::Core::Current.user_agent = request.user_agent Panda::Core::Current.ip_address = request.ip Panda::Core::Current.root = request.base_url Panda::Core::Current.user ||= Panda::Core::User.find_by(id: session[:user_id]) if session[:user_id] end |