Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- namespace :db do
- desc "Bootstrap the application, readying it for use."
- task :bootstrap => ['db:schema:load',
- 'db:users:create_admin',
- 'db:users:create_user'] do
- puts "* #{configatron.name} bootstrap process complete."
- end
- namespace :users do
- task :create_admin => :environment do
- unless User.exists?(:login => 'ccadmin')
- do_anything = Right.create(:name => 'su',
- :action => '.*',
- :controller => '.*'
- )
- su = Role.create(:name => 'Super User')
- su.rights << do_anything
- su.save
- admin = User.create(:login => 'ccadmin',
- :first_name => configatron.name,
- :last_name => 'Administrator',
- :email => "webmaster@#{URI.parse(configatron.url).host}",
- :password => 'password',
- :password_confirmation => 'password'
- )
- admin.roles << su
- admin.save
- admin_name = "#{admin.first_name} #{admin.last_name}"
- puts "* #{admin_name}, Super User role and rights created."
- else
- puts '* Adminstrator already exists!'
- end
- end
- task :create_user => :environment do
- unless Role.exists?(:name => 'User')
- content_access = Right.create(:name => 'Access Conference Content',
- :controller => '(?:organization|conference|(?:purchased_)?video)s',
- :action => '(?:show|index)'
- )
- use_cart = Right.create(:name => 'Use Shopping Cart',
- :controller => 'store',
- :action => '(?:add_to|remove_from|empty)cart'
- )
- make_payments = Right.create(:name => 'Make Payments',
- :controller => 'payments',
- :action => '.*'
- )
- user = Role.create(:name => 'User')
- [content_access,
- use_cart,
- make_payments].each { |action| user.rights << action }
- user.save
- puts '* User role and associated rights created.'
- else
- puts '* User role/rights already exist!'
- end
- end
- end
- end
Add Comment
Please, Sign In to add comment