sample-data
6.33 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
#!/usr/bin/env ruby
require File.dirname(__FILE__) + '/../config/environment'
# turn on autoflush
STDOUT.sync = true
environment_id = ARGV.first
environment = nil
if environment_id
environment = Environment.find(environment_id)
else
DEFAULT_ENVIRONMENT_TEXT = <<EOF
<h1>Environment homepage</h1>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec quis diam enim, et ultricies lacus. Pellentesque sit amet velit non ante bibendum consectetur. Etiam at aliquet mauris. Pellentesque volutpat pellentesque dolor, at cursus lacus suscipit varius. Nunc at lectus tortor, eu dapibus urna. Ut at odio sem, sed laoreet augue. Nunc vestibulum, lectus id tempor vulputate, turpis nisl placerat justo, non placerat est lectus a risus. Nullam elementum convallis lectus, eget volutpat sapien malesuada quis. Fusce aliquet elementum placerat. Donec dolor mauris, accumsan eu gravida sed, mollis a metus. Quisque dictum felis vel diam ornare dapibus. Cras vel est velit. Fusce in tincidunt urna. Proin tincidunt pellentesque turpis, nec blandit nulla volutpat at. Suspendisse potenti.
</p>
<p>
Nunc pellentesque sem in ante lacinia egestas nec et dolor. Fusce enim leo, condimentum nec iaculis in, convallis eget diam. Integer ultricies massa eu augue tristique eu semper lorem aliquam. Praesent nibh lorem, eleifend nec laoreet ac, tempus et augue. Phasellus pulvinar nibh eget magna pellentesque ultricies. Donec varius, sapien in fermentum pellentesque, odio risus viverra lectus, sed tincidunt arcu elit id ipsum. Nunc aliquet lobortis sem, vitae dapibus velit bibendum id. Vivamus nec augue arcu, sed adipiscing quam. Maecenas at porta odio. Ut felis arcu, commodo in vestibulum a, convallis et justo. Nulla feugiat odio in dui mollis a pretium orci porta. Morbi at nisl sem, non tempus dui.
</p>
<p>
Maecenas neque ante, bibendum sed mollis ac, aliquet eu dolor. Fusce quis enim mi, vestibulum laoreet purus. Curabitur vel odio non mi tempus commodo. Duis suscipit justo sit amet felis volutpat scelerisque. Integer in mi vulputate lacus porttitor posuere id sed sapien. Nam aliquam molestie est a eleifend. Integer at velit nec felis sodales ornare. Etiam magna elit, facilisis at consectetur nec, commodo sit amet sapien. Maecenas fermentum leo vitae turpis viverra auctor. Phasellus facilisis ipsum quis felis semper et condimentum augue porttitor. Morbi vitae mauris risus. Nunc lobortis quam eu tellus tempus ut tristique odio luctus. Fusce justo purus, tincidunt eu tristique et, pharetra non tortor. Cras malesuada accumsan venenatis. Donec ornare iaculis porttitor. Praesent vestibulum metus fermentum risus interdum gravida. Vivamus placerat commodo nunc vitae aliquet. Fusce sit amet libero facilisis ante dictum hendrerit ac sed massa.
</p>
EOF
environment = Environment.create!(:name => 'Noosfero', :is_default => true, :description => DEFAULT_ENVIRONMENT_TEXT) unless (Environment.default)
end
places = [
{ :country=>'BR', :city=>'Salvador',
:lat=>-12.94032, :lng=>-38.58398 },
{ :country=>'BR', :city=>'São Paulo',
:lat=>-23.54894, :lng=>-46.63881 },
{ :country=>'BR', :city=>'Rio de Janeiro',
:lat=>-22.90353, :lng=>-43.20958 },
{ :country=>'AR', :city=>'Buenos Aires',
:lat=>-34.61088, :lng=>-58.39782 },
{ :country=>'AR', :city=>'Mar del Plata',
:lat=>-37.98317, :lng=>-57.59513 },
{ :country=>'MX', :city=>'Acapulco',
:lat=>16.86369, :lng=>-99.88151 },
{ :country=>'US', :city=>'Los Angeles',
:lat=>34.02307, :lng=>-118.24310 },
{ :country=>'IT', :city=>'Roma',
:lat=>41.89512, :lng=>12.48184 },
{ :country=>'IN', :city=>'Mumbai',
:lat=>19.01798, :lng=>72.85583 },
{ :country=>'CN', :city=>'Shanghai',
:lat=>31.23041, :lng=>121.47308 },
{ :country=>'JP', :city=>'Tokyo',
:lat=>35.68964, :lng=>139.69116 },
{ :country=>'FR', :city=>'Paris',
:lat=>48.85658, :lng=>2.351074 },
{ :country=>'BW', :city=>'Sowa',
:lat=>-20.56891, :lng=>26.22367 }
]
people = []
NAMES = %w[ José João Antonio Paulo Maria Joana Paula Angela ]
SURNAMES = %w[ Silva Santos Abreu Oliveira Machado Bonfim ]
print "Creating users: "
for name in NAMES
for surname in SURNAMES
full_name = [name, surname].join(' ')
user = User.create!({
:login => full_name.to_slug,
:email => full_name.to_slug + '@localhost.localdomain',
:password => 'test',
:password_confirmation => 'test',
:environment => environment,
})
user.person.name = full_name
place = places[rand(places.length)]
user.person.data[:country] = place[:country]
user.person.city = place[:city]
user.person.lat = place[:lat] + (rand/100)-0.005
user.person.lng = place[:lng] + (rand/100)-0.005
user.person.save!
people << user.person
print '.'
end
end
puts ' done!'
print "Creating some friendships: "
rand(people.size * 3).times do
from = people.rand
to = people.rand
if from != to && !from.friends.include?(to)
AddFriend.create!(:requestor => to, :target => from).finish
end
print '.'
end
puts ' done!'
communities = []
VERBS = ['Save', 'I like', 'Use']
STUFF = ['Free Software', 'Organic food', 'the wales', 'the environment']
print "Creating communities: "
for verb in VERBS
for stuff in STUFF
name = [verb, stuff].join(' ')
community = Community.create!(:name => name, :environment => environment)
communities << community
rand(10).times do
community.add_member(people.rand)
end
print '.'
end
end
puts ' done!'
EVENTS = ['International Conference on %s', '%s day', '%s World Congress', '%s World Forum', '%s Summit', '%s Week']
THEMES = ['Sustainability', 'Free Software', 'Climate Change', 'Environment', 'Agile Development', 'Solidarity Economy']
print "Creating some events: "
for event in EVENTS
for theme in THEMES
Event.create!(:name => event % theme, :profile => communities.rand, :start_date => Date.today + (-30 + rand(60)).days)
print '.'
end
end
puts ' done!'
ze = User.create!({
:login => "ze",
:email => 'root@localhost.localdomain',
:password => 'test',
:password_confirmation => 'test',
:environment => environment,
}).person
environment.add_admin(ze)
system('./script/sample-categories')
system('./script/sample-enterprises')
system('./script/sample-products')
# give admin rights for 'ze' in some enterprises
Enterprise.all.rand.add_admin(ze)
Enterprise.all.rand.add_admin(ze)
Enterprise.all.rand.add_admin(ze)