mirror of
https://github.com/openSUSE/osem.git
synced 2026-08-18 06:01:12 +00:00
migration for old roles
This commit is contained in:
parent
beb88b848d
commit
336d0e9d04
1 changed files with 28 additions and 0 deletions
28
db/migrate/20140730104658_migrate_roles_for_cancancan.rb
Normal file
28
db/migrate/20140730104658_migrate_roles_for_cancancan.rb
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
class MigrateRolesForCancancan < 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