diff --git a/lib/tasks/populate.rake b/lib/tasks/populate.rake new file mode 100644 index 0000000..d28a52c --- /dev/null +++ b/lib/tasks/populate.rake @@ -0,0 +1,56 @@ +require File.dirname(__FILE__) + '/../../config/environment' +require 'noosfero' +require 'gettext/rails' +include GetText + +namespace :db do + desc "Populate database with basic required data to run application" + task :populate do + create_roles + new_permissions + end +end + +def new_permissions + admin = Profile::Roles.admin + admin.permissions += ['manage_friends', 'validate_enterprise', 'perform_task'] + admin.save + + moderator = Profile::Roles.moderator + moderator.permissions += ['manage_friends', 'perform_task'] + moderator.save +end + +def create_roles + # Environment administrator! + Role.create!(:key => 'environment_administrator', :name => N_('Environment Administrator'), :permissions => [ + 'view_environment_admin_panel', + 'edit_environment_features', + 'edit_environment_design', + 'manage_environment_categories', + 'manage_environment_roles', + 'manage_environment_validators' + ]) + Role.create!(:key => 'profile_admin', :name => N_('Profile Administrator'), :permissions => [ + 'edit_profile', + 'destroy_profile', + 'manage_memberships', + 'post_content', + 'edit_profile_design', + 'manage_products', + ]) + # members for enterprises, communities etc + Role.create!(:key => "profile_member", :name => N_('Member'), :permissions => [ + 'edit_profile', + 'post_content', + 'manage_products' + ]) + # moderators for enterprises, communities etc + Role.create!(:key => 'profile_moderator', :name => N_('Moderator'), :permissions => [ + 'manage_memberships', + 'edit_profile_design', + 'manage_products' + ]) +end + +# vim: ft=ruby -- libgit2 0.21.2