populate.rake
1.97 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
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
    Environment.create!(:name => 'Noosfero', :is_default => true) unless (Environment.default)
    create_roles
    new_permissions
  end
end
def new_permissions
  e = Environment.default
  admin = Profile::Roles.admin(e.id)
  admin.permissions += ['manage_friends', 'validate_enterprise', 'perform_task']
  admin.save
  moderator = Profile::Roles.moderator(e.id)
  moderator.permissions += ['manage_friends', 'perform_task']
  moderator.save
end
def create_roles
  e = Environment.default
  # Environment administrator!
  Role.create!(:key => 'environment_administrator', :name => N_('Environment Administrator'), :environment => e, :permissions => [
    'view_environment_admin_panel',
    'edit_environment_features', 
    'edit_environment_design', 
    'manage_environment_categories', 
    'manage_environment_roles', 
    'manage_environment_validators',
    'edit_profile',
    'destroy_profile',
    'manage_memberships',
    'post_content',
    'edit_profile_design',
    'manage_products',
    'edit_appearance',
  ])
  Role.create!(:key => 'profile_admin', :name => N_('Profile Administrator'), :environment => e, :permissions => [
    'edit_profile',
    'destroy_profile',
    'manage_memberships',
    'post_content',
    'edit_profile_design',
    'manage_products',
    'edit_appearance',
  ])
  # members for enterprises, communities etc
  Role.create!(:key => "profile_member", :name => N_('Member'), :environment => e, :permissions => [
    'edit_profile', 
    'post_content', 
    'manage_products' 
  ])
  # moderators for enterprises, communities etc
  Role.create!(:key => 'profile_moderator', :name => N_('Moderator'), :environment => e, :permissions => [
    'manage_memberships', 
    'edit_profile_design', 
    'manage_products'
  ])
end
# vim: ft=ruby