mirror of
https://github.com/openSUSE/osem.git
synced 2026-08-13 19:54:02 +00:00
migrate roles
This commit is contained in:
parent
aeb28833f1
commit
d794593e10
1 changed files with 28 additions and 0 deletions
28
db/migrate/20140730104658_migrate_roles_for_can_can.rb
Normal file
28
db/migrate/20140730104658_migrate_roles_for_can_can.rb
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
class MigrateRolesForCanCan < ActiveRecord::Migration
|
||||
|
||||
def up
|
||||
# Store the number of existing roles
|
||||
old_roles = Role.count
|
||||
|
||||
Role.all.each do |role|
|
||||
role.users.each do |user|
|
||||
Conference.all.each do |conference|
|
||||
if role.name == 'Admin' || role.name == 'Organizer'
|
||||
user.add_role :organizer, conference
|
||||
else
|
||||
user.add_role role.name.parameterize.underscore.to_sym, conference
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
# Delete old roles
|
||||
Role.first(old_roles).each do |role|
|
||||
role.destroy
|
||||
end
|
||||
end
|
||||
|
||||
def down
|
||||
raise ActiveRecord::IrreversibleMigration.new('Cannot reverse migration. Deleted events cannot be re-created')
|
||||
end
|
||||
end
|
||||
Loading…
Add table
Add a link
Reference in a new issue