anhetegua
9.34 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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
#!/usr/bin/env ruby
require File.dirname(__FILE__) + '/../config/environment'
require 'console_with_helpers'
GetText.locale = 'pt_BR'
User.destroy_all
Profile.destroy_all
Category.destroy_all
Product.destroy_all
Article.destroy_all
Environment.destroy_all
def new_category(parent, name, color = nil)
category = Environment.default.categories.build(:name => name, :display_color => color, :parent_id => (parent ? parent.id: nil), :display_in_menu => true)
category.save!
category
end
def new_region(parent, name, color = nil)
region = Environment.default.regions.build(:name => name, :display_color => color, :parent_id => (parent ? parent.id: nil), :display_in_menu => true)
region.save!
region
end
def new_state(parent, name)
State.create!(:name => name, :parent => parent, :environment => Environment.default)
end
def new_validator(region, name, identifier, klass = Organization)
org = klass.new(:name => name, :identifier => identifier)
org.validation_info = ValidationInfo.new(:validation_methodology => 'some methodology we don\'t care about')
org.save!
region.validators << org
region.save!
org
end
environment_description = <<-EOF
<h1>
Boas vindas ao Sistema FBES:
A Comunidade virtual das Redes de Economia Solidária!
</h1>
<img src='/images/logo-anhetegua.png' style='float: right'/>
<p>
O Sistema FBES é uma plataforma livre e colaborativa que visa contribuir para o fortalecimento das redes de economia solidária em todo o Brasil, facilitando os fluxos de produção, comercialização, troca e consumo solidários. Cadastre-se, divirta-se e navegue nessa outra economia!
</p>
<p>
O menu superior é o principal instrumento de navegação:
</p>
<ul>
<li>Do lado esquerdo, estão os recortes. <strong>Temáticas</strong> reune os principais temas debatidos. <strong>Territórios</strong> limita sua navegação a um estado de sua escolha. <strong>Cadeias</strong> exibe apenas informação relacionada à cadeia produtiva de sua preferência. </li>
<li>Do lado direito, estão as opções do usuário, bem como a nevegação por tipo de conteúdo. <strong>Busca</strong> permite que você procure conteúdo por palavras chave. <strong>Blogs</strong> te levará a ver blogs de outros usuário. <strong>Produtos</strong> permitirá nevegar pelos produtos ... etc. </li>
</ul>
EOF
env = Environment.create!(:name => 'Sistema FBES', :is_default => true, :description => environment_description)
# on production (i.e. anhetegua demo site, use a real domain)
if ENV['RAILS_ENV'] == 'production'
domain = Domain.new(:name => 'ecosol.noosfero.com.br')
domain.owner = env
domain.save!
end
tematicas = new_category(nil, 'Temáticas', 1)
new_category(tematicas, 'Formação')
new_category(tematicas, 'Produção, comercialização e consumo')
new_category(tematicas, 'Relações internacionais')
new_category(tematicas, 'Marco Legal')
new_category(tematicas, 'Finanças Solidárias')
new_category(tematicas, 'Comunicação')
new_category(tematicas, 'Políticas públicas')
new_category(tematicas, 'Organização do movimento')
new_category(tematicas, 'Software, cultura e conhecimentos livres')
new_category(tematicas, 'Agroecologia')
new_category(tematicas, 'Pesquisa e tecnologia')
new_category(tematicas, 'Comércio justo e solidário')
new_category(tematicas, 'Cultura')
territorios = new_region(nil, 'Territórios', 2)
nacional = new_region(territorios, 'Nacional')
internacional = new_region(territorios, 'Internacional')
centro_oeste = new_region(nacional, 'Região Centro-Oeste')
mt = new_state(centro_oeste, 'Mato Grosso')
ms = new_state(centro_oeste, 'Mato Grosso do Sul')
go = new_state(centro_oeste, 'Goiás')
df = new_state(centro_oeste, 'Distrito Federal')
nordeste = new_region(nacional, 'Região Nordeste')
al = new_state(nordeste, 'Alagoas')
ba = new_state(nordeste, 'Bahia')
ce = new_state(nordeste, 'Ceará')
ma = new_state(nordeste, 'Maranhão')
pb = new_state(nordeste, 'Paraíba')
pe = new_state(nordeste, 'Pernambuco')
pi = new_state(nordeste, 'Piauí')
rn = new_state(nordeste, 'Rio Grande do Norte')
se = new_state(nordeste, 'Sergipe')
norte = new_region(nacional, 'Região Norte')
ac = new_state(norte, 'Acre')
ap = new_state(norte, 'Amapá')
am = new_state(norte, 'Amazonas')
pa = new_state(norte, 'Pará')
ro = new_state(norte, 'Rondônia')
rr = new_state(norte, 'Roraima')
to = new_state(norte, 'Tocantins')
sudeste = new_region(nacional, 'Região Sudeste')
mg = new_state(sudeste, 'Minas Gerais')
sp = new_state(sudeste, 'São Paulo')
rj = new_state(sudeste, 'Rio de Janeiro')
es = new_state(sudeste, 'Espírito Santo')
sul = new_region(nacional, 'Região Sul')
pr = new_state(sul, 'Paraná')
rs = new_state(sul, 'Rio Grande do Sul')
sc = new_state(sul, 'Santa Catarina')
cadeias = new_category(nil, 'Redes/Cadeias', 3)
new_category(cadeias, 'Agropecuária, extrativismo e pesca')
new_category(cadeias, 'Alimentação')
new_category(cadeias, 'Artesanato')
new_category(cadeias, 'Indústria')
new_category(cadeias, 'Confecção, fiação e tecelagem')
new_category(cadeias, 'Reciclagem')
new_category(cadeias, 'Turismo')
new_category(cadeias, 'Construção')
new_category(cadeias, 'Crédito e finanças')
new_category(cadeias, 'Saúde')
new_category(cadeias, 'Educação e formação')
new_category(cadeias, 'Limpeza e higiene')
new_category(cadeias, 'Cultura')
new_category(cadeias, 'Cadeia do mel')
new_category(cadeias, 'Cadeia do algodão agroecológico')
new_category(cadeias, 'Cadeia das sementes')
new_category(cadeias, 'Cadeia da fruta')
# validators
colivre = new_validator(ba, "Colivre", 'colivre', Enterprise)
#forum_bahia = new_validator(ba, "Forum Baiano de Economia Solidaraia", 'ecosolbahia')
#
#caritas = new_validator(df, 'Caritas', 'caritas')
#fbes = new_validator(df, 'Forum Brasileiro de Economia Solidaria', 'fbes')
#
#asl = new_validator(rs, 'Associacao Software Livre.Org', 'asl')
#forum_rs = new_validator(rs, 'Forum Gaucho de Economia Solidaria', 'ecosolrs')
# Role for own things
owner_role = Profile::Roles.admin(Environment.default.id)
# Sample user and sample enterprise owned by him
ze = User.create!(:login => 'ze', :email => 'ze@localhost.localdomain', :password => 'test', :password_confirmation => 'test').person
Environment.default.affiliate(ze, Environment::Roles.admin(Environment.default.id))
empa = Enterprise.create!(:name => 'Cooperativa A', :identifier => 'coop_a')
empa.affiliate(ze, owner_role)
colivre.affiliate(ze, owner_role)
member_role = Profile::Roles.member(Environment.default.id)
moderator_role = Profile::Roles.moderator(Environment.default.id)
# product categories
produtos = ProductCategory.create!(:name => 'Produtos', :environment => Environment.default)
alimentacao = ProductCategory.create!(:name => 'Alimentação', :environment => Environment.default, :parent => produtos)
vegetais = ProductCategory.create!(:name => 'Vegetais', :environment => Environment.default, :parent => alimentacao)
feijao = ProductCategory.create!(:name => 'Feijão', :environment => Environment.default, :parent => vegetais)
arroz = ProductCategory.create!(:name => 'Arroz', :environment => Environment.default, :parent => vegetais)
batata = ProductCategory.create!(:name => 'Batata', :environment => Environment.default, :parent => vegetais)
carnes = ProductCategory.create!(:name => 'Carnes', :environment => Environment.default, :parent => alimentacao)
boi = ProductCategory.create!(:name => 'Boi', :environment => Environment.default, :parent => carnes)
frango = ProductCategory.create!(:name => 'Frango', :environment => Environment.default, :parent => carnes)
vestuario = ProductCategory.create!(:name => 'Vestuário', :environment => Environment.default, :parent => produtos)
camisetas = ProductCategory.create!(:name => 'Camisetas', :environment => Environment.default, :parent => vestuario)
calcas = ProductCategory.create!(:name => 'Calças', :environment => Environment.default, :parent => vestuario)
software_livre = ProductCategory.create!(:name => 'Software Livre', :environment => Environment.default, :parent => produtos)
desenv = ProductCategory.create!(:name => 'Desenvolvimento', :environment => Environment.default, :parent => software_livre)
capacitacao = ProductCategory.create!(:name => 'Capacitação', :environment => Environment.default, :parent => software_livre)
admin_de_sistemas = ProductCategory.create!(:name => 'Administração de sistemas', :environment => Environment.default, :parent => software_livre)
arte_digital = ProductCategory.create!(:name => 'Arte Digital', :environment => Environment.default, :parent => software_livre)
# actual products
empa.products.build(:name => 'Feijão Mulatinho da Bahia', :product_category => feijao).save!
empa.products.build(:name => 'Arroz plantado lá em casa', :product_category => arroz).save!
empa.products.build(:name => 'Carne da vaca mimosa', :product_category => boi).save!
colivre.products.build(:name => 'desenvolvimento de software livre', :product_category => desenv).save!
colivre.products.build(:name => 'capacitação em software livre', :product_category => capacitacao).save!
colivre.products.build(:name => 'arte digital', :product_category => arte_digital).save!
colivre.products.build(:name => 'instalação e manutenção de servidores', :product_category => admin_de_sistemas).save!
# creating sample communities
comm1 = Community.create!(:name => 'Outra Economia é Possível')
comm1.affiliate(ze, owner_role)
comm2 = Community.create!(:name => 'Software Livre e Economia Solidária')
comm2.affiliate(ze, owner_role)