Class: Katello::ApplicationController

Inherits:
ApplicationController
  • Object
show all
Includes:
Menu
Defined in:
app/controllers/katello/application_controller.rb

Instance Method Summary collapse

Instance Method Details

#authorizedObject

Override Foreman authorized method to support permissions on meta controllers that handle multiple routes



41
42
43
44
45
46
47
# File 'app/controllers/katello/application_controller.rb', line 41

def authorized
  if self.respond_to? :permission_controller
    User.current.allowed_to?(params.slice(:action, :id).merge(:controller => permission_controller))
  else
    super
  end
end

#current_organization_objectObject



53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
# File 'app/controllers/katello/application_controller.rb', line 53

def current_organization_object
  if !session[:current_organization_id]
    @current_org = Organization.current
    return @current_org
  else
    begin
      if @current_org.nil? && current_user
        o = Organization.find(session[:current_organization_id])
        if current_user.allowed_organizations.include?(o)
          @current_org = o
        else
          fail ActiveRecord::RecordNotFound, _("Permission Denied. User '%{user}' does not have permissions to access organization '%{org}'.") % {:user => User.current., :org => o.name}
        end
      end
      return @current_org
    rescue ActiveRecord::RecordNotFound => error
      log_exception error
      session.delete(:current_organization_id)
      org_not_found_error
    end
  end
end

#current_organization_object=(org) ⇒ Object



76
77
78
# File 'app/controllers/katello/application_controller.rb', line 76

def current_organization_object=(org)
  session[:current_organization_id] = org.try(:id)
end

#section_idObject



49
50
51
# File 'app/controllers/katello/application_controller.rb', line 49

def section_id
  'generic'
end