43 lines
1.4 KiB
Plaintext
43 lines
1.4 KiB
Plaintext
Permission.destroy_all
|
|
|
|
base_actions = ApplicationController.action_methods
|
|
# i should probably figure out all of the children of ApplicationController
|
|
# rather than defining them here.
|
|
controllers = [ PagesController, DiscussionsController, StylesController,
|
|
PeoplesController, BeersController, BreweriesController, RolesController,
|
|
GalleriesController, TagImagesController ]
|
|
controllers.each do |c|
|
|
actions = c.action_methods - base_actions
|
|
cname = c.controller_name
|
|
actions.each { |a| Permission.create(:controller => cname, :action => a) }
|
|
end
|
|
|
|
r = Role.base_role
|
|
Permission.find(:all,
|
|
:conditions => [ 'controller = ?', 'pages' ]).each do |p|
|
|
next if [ 'new', 'create', 'edit', 'update', 'destroy' ].include?(p.action)
|
|
r.permissions << p
|
|
end
|
|
Permission.find(:all,
|
|
:conditions => [ 'controller = ?', 'styles' ]).each do |p|
|
|
next if [ 'new', 'create', 'edit', 'update', 'destroy' ].include?(p.action)
|
|
r.permissions << p
|
|
end
|
|
Permission.find(:all,
|
|
:conditions => [ 'controller = ?', 'galleries' ]).each do |p|
|
|
next if [ 'new', 'create', 'edit', 'update', 'destroy' ].include?(p.action)
|
|
r.permissions << p
|
|
end
|
|
Permission.find(:all,
|
|
:conditions => [ 'controller = ?', 'tag_images' ]).each do |p|
|
|
next if [ 'show', 'create', 'destroy', 'taggable_search' ].include?(p.action)
|
|
r.permissions << p
|
|
end
|
|
|
|
r2 = Role.admin_role
|
|
Permission.find(:all).each do |p|
|
|
r2.permissions << p unless r.permissions.include?(p)
|
|
end
|
|
|
|
puts "All permissions created"
|