Class: MegaBar::MasterPagesController
- Inherits:
-
ActionController::Base
- Object
- ActionController::Base
- MegaBar::MasterPagesController
- Includes:
- Cccux::ApplicationControllerConcern
- Defined in:
- app/controllers/mega_bar/master_pages_controller.rb
Instance Method Summary collapse
- #administering_page? ⇒ Boolean
- #env ⇒ Object
- #page_admin? ⇒ Boolean
- #page_admin_link ⇒ Object
- #page_class ⇒ Object
- #page_classes ⇒ Object
- #portfolio_class ⇒ Object
- #render_page ⇒ Object
- #should_show_admin_login_prompt? ⇒ Boolean
- #site_class ⇒ Object
- #site_name ⇒ Object
- #theme_class ⇒ Object
Instance Method Details
#administering_page? ⇒ Boolean
53 54 55 |
# File 'app/controllers/mega_bar/master_pages_controller.rb', line 53 def administering_page? session[:admin_pages].include?(@mega_page[:page_id].to_s) end |
#env ⇒ Object
22 23 24 |
# File 'app/controllers/mega_bar/master_pages_controller.rb', line 22 def env request.env end |
#page_admin? ⇒ Boolean
57 58 59 60 61 62 63 |
# File 'app/controllers/mega_bar/master_pages_controller.rb', line 57 def page_admin? return false unless defined?(Devise) && user_signed_in? current_user.has_role?('Mega Role') # return true if @mega_page[:administrator].blank? # this line should ultimately go away. # @mega_user.pll >= @mega_page[:administrator] end |
#page_admin_link ⇒ Object
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'app/controllers/mega_bar/master_pages_controller.rb', line 26 def page_admin_link admin_text = "" if page_admin? admin_text = administering_page? ? "Turn off Admin for " : "Administer " if request.env[:mega_env].present? ActionController::Base.helpers.content_tag :div, class: "admin_links" do ActionController::Base.helpers.link_to "#{admin_text} #{@mega_page[:name]} Page", "#{request.env[:mega_page][:page_path]}/administer-page/#{@mega_page[:page_id].to_s}", class: "admin-links" end else # Only show Layout Settings link if user is administering the page if administering_page? link = ["/mega-bar/pages/" + @mega_page[:page_id].to_s + "/layouts/" + request.env[:mega_layout].id.to_s + "?return_to=" + request.env["PATH_INFO"], "Layout Settings"] unless @mega_page.blank? ActionController::Base.helpers.content_tag :div, class: "admin_links" do ActionController::Base.helpers.link_to link[1], link[0], class: "admin-links" end else ActionController::Base.helpers.content_tag :div, class: "admin_links" do ActionController::Base.helpers.link_to "#{admin_text} #{@mega_page[:name]} Page", "/mega-bar/pages/#{@mega_page[:page_id].to_s}/administer-page?return_to=#{request.env['PATH_INFO']}", class: "admin-links" end end end end end |
#page_class ⇒ Object
77 78 79 80 |
# File 'app/controllers/mega_bar/master_pages_controller.rb', line 77 def page_class return "home-page" if @mega_page[:page_path] == "/" @mega_page[:page_path].gsub("/", "__").gsub(":", "").downcase[2..-1] + "-page" end |
#page_classes ⇒ Object
67 68 69 |
# File 'app/controllers/mega_bar/master_pages_controller.rb', line 67 def page_classes [portfolio_class, page_class, site_class, theme_class, "megabar_site_body"].compact.join(" ") end |
#portfolio_class ⇒ Object
71 72 73 74 75 |
# File 'app/controllers/mega_bar/master_pages_controller.rb', line 71 def portfolio_class return "base-portfolio" unless env[:mega_site].try(:portfolio).try(:code_name) env[:mega_site]&.portfolio&.code_name + "-portfolio" end |
#render_page ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 |
# File 'app/controllers/mega_bar/master_pages_controller.rb', line 10 def render_page @page_layouts = env["mega_final_layouts"] @mega_page = env[:mega_page] @mega_site = env[:mega_site] # @mega_user = env[:mega_user] @page_classes = page_classes @site_name = site_name session[:admin_pages] ||= [] render end |
#should_show_admin_login_prompt? ⇒ Boolean
99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 |
# File 'app/controllers/mega_bar/master_pages_controller.rb', line 99 def should_show_admin_login_prompt? return false unless defined?(Devise) return false if user_signed_in? return false unless defined?(User) # Check if there's only one user begin user_count = User.count return false unless user_count == 1 rescue => e # If User class isn't fully loaded yet, return false return false end # Check if CCCUX Role Manager exists if defined?(Cccux::Role) role_manager = Cccux::Role.find_by(name: 'Role Manager') return role_manager.present? end false end |
#site_class ⇒ Object
82 83 84 85 86 |
# File 'app/controllers/mega_bar/master_pages_controller.rb', line 82 def site_class return "base-site" unless env[:mega_site].try(:code_name) env[:mega_site]&.code_name + "-site" end |
#site_name ⇒ Object
88 89 90 91 |
# File 'app/controllers/mega_bar/master_pages_controller.rb', line 88 def site_name return "Base Site" unless env[:mega_site].try(:name) env[:mega_site]&.name end |
#theme_class ⇒ Object
93 94 95 96 97 |
# File 'app/controllers/mega_bar/master_pages_controller.rb', line 93 def theme_class return "base-theme" unless env[:mega_site].try(:theme) env[:mega_site]&.theme&.code_name + "-theme" end |