Class: ApplicationController

Inherits:
ActionController::Base
  • Object
show all
Defined in:
frontend/app/controllers/application_controller.rb

Direct Known Subclasses

AccessionsController, AgentsController, ArchivalObjectsController, BatchDeleteController, ClassificationTermsController, ClassificationsController, CollectionManagementController, CollectionManagementRecordsController, ContainerProfilesController, DigitalObjectComponentsController, DigitalObjectsController, EnumerationsController, EventsController, ExportsController, ExtentCalculatorController, GroupsController, JobsController, LocationsController, PreferencesController, RdeTemplatesController, RepositoriesController, ResolverController, ResourcesController, SearchController, SessionController, SubjectsController, SystemInfoController, TestsController, TopContainersController, UpdateMonitorController, UsersController, UtilsController, WelcomeController

Class Method Summary (collapse)

Class Method Details

+ (Boolean) can_access?(context, method)

Returns:

  • (Boolean)


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

def self.can_access?(context, method)
  permission_mappings.each do |permission, actions|
    if actions.include?(method) && !session_can?(context, permission)
      return false
    end
  end

  return true
end

+ (Object) permission_mappings



35
36
37
# File 'frontend/app/controllers/application_controller.rb', line 35

def self.permission_mappings
  Array(@permission_mappings)
end

+ (Object) set_access_control(permission_mappings)



50
51
52
53
54
55
56
57
58
59
60
# File 'frontend/app/controllers/application_controller.rb', line 50

def self.set_access_control(permission_mappings)
  @permission_mappings = permission_mappings

  skip_before_filter :unauthorised_access, :only => Array(permission_mappings.values).flatten.uniq

  permission_mappings.each do |permission, actions|
    next if permission === :public

    before_filter(:only => Array(actions)) {|c| user_must_have(permission)}
  end
end