parlement 0.8 → 0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGES +22 -0
- data/Rakefile +2 -2
- data/app/controllers/account_controller.rb +20 -7
- data/app/controllers/application.rb +17 -4
- data/app/controllers/elt_controller.rb +1 -10
- data/app/controllers/person_controller.rb +1 -1
- data/app/helpers/elt_helper.rb +14 -0
- data/app/models/elt.rb +2 -0
- data/app/models/mail.rb +6 -5
- data/app/models/person.rb +5 -0
- data/app/views/account/_login.rhtml +52 -48
- data/app/views/account/_show.rhtml +13 -12
- data/app/views/elt/_choice.rhtml +11 -2
- data/app/views/elt/_elt.rhtml +38 -50
- data/app/views/elt/new.rhtml +8 -8
- data/app/views/elt/show.rhtml +21 -12
- data/app/views/layouts/top.rhtml +1 -0
- data/app/views/person/_listElts.rhtml +47 -26
- data/app/views/person/show.rhtml +8 -18
- data/config/environment.rb +6 -3
- data/db/ROOT/fr.txt +34 -31
- data/db/ROOT/parlement/test.txt +6 -4
- data/db/development_structure.sql +18 -20
- data/public/engine_files/login_engine/stylesheets/login_engine.css +81 -0
- data/public/images/ParlementLogo_fr.png +0 -0
- data/public/images/comments.gif +0 -0
- data/public/images/vote_minus.png +0 -0
- data/public/images/vote_plus.png +0 -0
- data/public/images/vote_plus_minus.svg +79 -0
- data/public/images/write.png +0 -0
- data/public/images/write.svg +70 -0
- data/public/javascripts/mybehaviour.js +3 -4
- data/public/stylesheets/default.css +449 -0
- data/public/stylesheets/live_tree.css +62 -0
- data/public/stylesheets/scaffold.css +74 -0
- data/script/about +3 -0
- data/script/benchmarker +19 -0
- data/script/breakpointer +3 -0
- data/script/console +3 -0
- data/script/create_db +7 -0
- data/script/destroy +3 -0
- data/script/generate +3 -0
- data/script/plugin +3 -0
- data/script/profiler +34 -0
- data/script/runner +3 -0
- data/script/server +3 -0
- data/test/unit/elt_test.rb +11 -0
- data/test/unit/mail_test.rb +29 -0
- metadata +27 -40
- data/test/fixtures/attachments.yml +0 -13
- data/test/fixtures/choices.yml +0 -13
- data/test/fixtures/elts.yml +0 -36
- data/test/fixtures/img.png +0 -0
- data/test/fixtures/mail/avatar +0 -249
- data/test/fixtures/mail/mail_ruby +0 -39
- data/test/fixtures/mail/mail_rubyChild +0 -30
- data/test/fixtures/mail/mail_rubyChild2 +0 -30
- data/test/fixtures/mail/mail_rubyWithAttachment +0 -7932
- data/test/fixtures/mail/mail_rubyWithSubject +0 -27
- data/test/fixtures/mails.yml +0 -13
- data/test/fixtures/people.yml +0 -68
- data/test/fixtures/subscribers.yml +0 -14
- data/test/fixtures/users.yml +0 -41
- data/test/functional/account_controller_test.rb +0 -317
- data/test/functional/elt_controller_test.rb +0 -87
- data/test/functional/person_controller_test.rb +0 -18
- data/test/functional/subscriber_controller_test.rb +0 -128
- data/test/mocks/test/time.rb +0 -17
- data/test/mocks/test/user_notify.rb +0 -16
- data/test/test_helper.rb +0 -72
@@ -0,0 +1,62 @@
|
|
1
|
+
.live_tree {
|
2
|
+
border: 1px solid black;
|
3
|
+
padding: 5px;
|
4
|
+
overflow: auto;
|
5
|
+
width: 100%;
|
6
|
+
height: 100%;
|
7
|
+
}
|
8
|
+
|
9
|
+
.live_tree_branch, .live_tree_root {
|
10
|
+
list-style-type: none;
|
11
|
+
margin-left: 0;
|
12
|
+
padding-left: 1em;
|
13
|
+
}
|
14
|
+
|
15
|
+
.live_tree_root {
|
16
|
+
padding: 0;
|
17
|
+
margin: 0;
|
18
|
+
white-space: nowrap;
|
19
|
+
}
|
20
|
+
|
21
|
+
.live_tree_loading_tree {
|
22
|
+
color: black;
|
23
|
+
}
|
24
|
+
|
25
|
+
.live_tree_searching {
|
26
|
+
margin-bottom: 10px;
|
27
|
+
}
|
28
|
+
|
29
|
+
.live_tree_item {
|
30
|
+
}
|
31
|
+
|
32
|
+
a.live_tree_branch_expand_link {
|
33
|
+
}
|
34
|
+
|
35
|
+
a.live_tree_branch_collapse_link {
|
36
|
+
}
|
37
|
+
|
38
|
+
.live_tree_item_icon {
|
39
|
+
color: #048;
|
40
|
+
border-style: none;
|
41
|
+
margin-right: 0.5ex;
|
42
|
+
}
|
43
|
+
|
44
|
+
.live_tree_check_box {
|
45
|
+
}
|
46
|
+
|
47
|
+
.live_tree_loading_icon {
|
48
|
+
margin-right: 0.5ex;
|
49
|
+
}
|
50
|
+
|
51
|
+
a.live_tree_item_link {
|
52
|
+
color: black;
|
53
|
+
}
|
54
|
+
|
55
|
+
.live_tree_item_name {
|
56
|
+
color: black;
|
57
|
+
}
|
58
|
+
|
59
|
+
.live_tree_active_item_name {
|
60
|
+
background-color: #048;
|
61
|
+
color: white;
|
62
|
+
}
|
@@ -0,0 +1,74 @@
|
|
1
|
+
body { background-color: #fff; color: #333; }
|
2
|
+
|
3
|
+
body, p, ol, ul, td {
|
4
|
+
font-family: verdana, arial, helvetica, sans-serif;
|
5
|
+
font-size: 13px;
|
6
|
+
line-height: 18px;
|
7
|
+
}
|
8
|
+
|
9
|
+
pre {
|
10
|
+
background-color: #eee;
|
11
|
+
padding: 10px;
|
12
|
+
font-size: 11px;
|
13
|
+
}
|
14
|
+
|
15
|
+
a { color: #000; }
|
16
|
+
a:visited { color: #666; }
|
17
|
+
a:hover { color: #fff; background-color:#000; }
|
18
|
+
|
19
|
+
.fieldWithErrors {
|
20
|
+
padding: 2px;
|
21
|
+
background-color: red;
|
22
|
+
display: table;
|
23
|
+
}
|
24
|
+
|
25
|
+
#ErrorExplanation {
|
26
|
+
width: 400px;
|
27
|
+
border: 2px solid 'red';
|
28
|
+
padding: 7px;
|
29
|
+
padding-bottom: 12px;
|
30
|
+
margin-bottom: 20px;
|
31
|
+
background-color: #f0f0f0;
|
32
|
+
}
|
33
|
+
|
34
|
+
#ErrorExplanation h2 {
|
35
|
+
text-align: left;
|
36
|
+
font-weight: bold;
|
37
|
+
padding: 5px 5px 5px 15px;
|
38
|
+
font-size: 12px;
|
39
|
+
margin: -7px;
|
40
|
+
background-color: #c00;
|
41
|
+
color: #fff;
|
42
|
+
}
|
43
|
+
|
44
|
+
#ErrorExplanation p {
|
45
|
+
color: #333;
|
46
|
+
margin-bottom: 0;
|
47
|
+
padding: 5px;
|
48
|
+
}
|
49
|
+
|
50
|
+
#ErrorExplanation ul li {
|
51
|
+
font-size: 12px;
|
52
|
+
list-style: square;
|
53
|
+
}
|
54
|
+
|
55
|
+
div.uploadStatus {
|
56
|
+
margin: 5px;
|
57
|
+
}
|
58
|
+
|
59
|
+
div.progressBar {
|
60
|
+
margin: 5px;
|
61
|
+
}
|
62
|
+
|
63
|
+
div.progressBar div.border {
|
64
|
+
background-color: #fff;
|
65
|
+
border: 1px solid grey;
|
66
|
+
width: 100%;
|
67
|
+
}
|
68
|
+
|
69
|
+
div.progressBar div.background {
|
70
|
+
background-color: #333;
|
71
|
+
height: 18px;
|
72
|
+
width: 0%;
|
73
|
+
}
|
74
|
+
|
data/script/about
ADDED
data/script/benchmarker
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
#!/usr/bin/ruby1.8
|
2
|
+
|
3
|
+
if ARGV.empty?
|
4
|
+
puts "Usage: benchmarker times 'Person.expensive_way' 'Person.another_expensive_way' ..."
|
5
|
+
exit
|
6
|
+
end
|
7
|
+
|
8
|
+
require File.dirname(__FILE__) + '/../config/environment'
|
9
|
+
require 'benchmark'
|
10
|
+
include Benchmark
|
11
|
+
|
12
|
+
# Don't include compilation in the benchmark
|
13
|
+
ARGV[1..-1].each { |expression| eval(expression) }
|
14
|
+
|
15
|
+
bm(6) do |x|
|
16
|
+
ARGV[1..-1].each_with_index do |expression, idx|
|
17
|
+
x.report("##{idx + 1}") { ARGV[0].to_i.times { eval(expression) } }
|
18
|
+
end
|
19
|
+
end
|
data/script/breakpointer
ADDED
data/script/console
ADDED
data/script/create_db
ADDED
data/script/destroy
ADDED
data/script/generate
ADDED
data/script/plugin
ADDED
data/script/profiler
ADDED
@@ -0,0 +1,34 @@
|
|
1
|
+
#!/usr/bin/ruby1.8
|
2
|
+
if ARGV.empty?
|
3
|
+
$stderr.puts "Usage: profiler 'Person.expensive_method(10)' [times]"
|
4
|
+
exit(1)
|
5
|
+
end
|
6
|
+
|
7
|
+
# Keep the expensive require out of the profile.
|
8
|
+
$stderr.puts 'Loading Rails...'
|
9
|
+
require File.dirname(__FILE__) + '/../config/environment'
|
10
|
+
|
11
|
+
# Define a method to profile.
|
12
|
+
if ARGV[1] and ARGV[1].to_i > 1
|
13
|
+
eval "def profile_me() #{ARGV[1]}.times { #{ARGV[0]} } end"
|
14
|
+
else
|
15
|
+
eval "def profile_me() #{ARGV[0]} end"
|
16
|
+
end
|
17
|
+
|
18
|
+
# Use the ruby-prof extension if available. Fall back to stdlib profiler.
|
19
|
+
begin
|
20
|
+
require 'prof'
|
21
|
+
$stderr.puts 'Using the ruby-prof extension.'
|
22
|
+
Prof.clock_mode = Prof::GETTIMEOFDAY
|
23
|
+
Prof.start
|
24
|
+
profile_me
|
25
|
+
results = Prof.stop
|
26
|
+
require 'rubyprof_ext'
|
27
|
+
Prof.print_profile(results, $stderr)
|
28
|
+
rescue LoadError
|
29
|
+
$stderr.puts 'Using the standard Ruby profiler.'
|
30
|
+
Profiler__.start_profile
|
31
|
+
profile_me
|
32
|
+
Profiler__.stop_profile
|
33
|
+
Profiler__.print_profile($stderr)
|
34
|
+
end
|
data/script/runner
ADDED
data/script/server
ADDED
data/test/unit/elt_test.rb
CHANGED
@@ -35,5 +35,16 @@ class EltTest < Test::Unit::TestCase
|
|
35
35
|
assert_equal -1, vote.result
|
36
36
|
assert_equal 1, vote.parent.result
|
37
37
|
end
|
38
|
+
|
39
|
+
def test_position
|
40
|
+
e = @elt.children.new
|
41
|
+
e.subject = "Test de position"
|
42
|
+
e.body = "position: 3.0"
|
43
|
+
e.save
|
44
|
+
@elt.add_child e
|
45
|
+
e.publish
|
46
|
+
|
47
|
+
assert_equal 3, e.position
|
48
|
+
end
|
38
49
|
end
|
39
50
|
|
data/test/unit/mail_test.rb
CHANGED
@@ -42,6 +42,13 @@ class MailTest < Test::Unit::TestCase
|
|
42
42
|
assert_equal 'TEST_with_subject', Elt.find('TEST_with_subject').id
|
43
43
|
end
|
44
44
|
|
45
|
+
def test_receiveAnon
|
46
|
+
ActionMailer::Base.deliveries = []
|
47
|
+
Mail.receive(TMail::Mail.parse(read_fixture('mail_rubyWithSubject').to_s))
|
48
|
+
|
49
|
+
assert_nil Elt.find('test_parlement').person
|
50
|
+
end
|
51
|
+
|
45
52
|
def test_receiveWithAttachment
|
46
53
|
ActionMailer::Base.deliveries = []
|
47
54
|
|
@@ -171,6 +178,28 @@ class MailTest < Test::Unit::TestCase
|
|
171
178
|
assert elt.body =~ /même/
|
172
179
|
end
|
173
180
|
|
181
|
+
def test_receive_accents
|
182
|
+
ActionMailer::Base.deliveries = []
|
183
|
+
|
184
|
+
mailsCount = Mail.count
|
185
|
+
eltsCount = Elt.count
|
186
|
+
deliveredMailsCount = ActionMailer::Base.deliveries.size
|
187
|
+
|
188
|
+
|
189
|
+
mailFile = TMail::Mail.parse(read_fixture('accents').to_s)
|
190
|
+
elt = Mail.receive(mailFile).elt
|
191
|
+
|
192
|
+
#print mailFile.to_yaml
|
193
|
+
#puts
|
194
|
+
#puts mailFile.type_param('charset')
|
195
|
+
|
196
|
+
#puts elt.subject
|
197
|
+
#puts elt.body
|
198
|
+
|
199
|
+
assert elt.subject =~ / légitime défense/
|
200
|
+
assert elt.body =~ /éêè à ça/
|
201
|
+
end
|
202
|
+
|
174
203
|
def test_receive_no_choice
|
175
204
|
ActionMailer::Base.deliveries = []
|
176
205
|
|
metadata
CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.8.11
|
|
3
3
|
specification_version: 1
|
4
4
|
name: parlement
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: "0.
|
7
|
-
date: 2006-
|
6
|
+
version: "0.9"
|
7
|
+
date: 2006-10-10 00:00:00 +02:00
|
8
8
|
summary: Trusted Direct Democracy on a forum
|
9
9
|
require_paths:
|
10
10
|
- lib
|
@@ -157,13 +157,22 @@ files:
|
|
157
157
|
- public/images/Sleep-Deprivation-5.JPG
|
158
158
|
- public/images/indicator.gif
|
159
159
|
- public/images/smile.png
|
160
|
+
- public/images/comments.gif
|
160
161
|
- public/images/eltBackground.svg
|
161
162
|
- public/images/world.png
|
162
163
|
- public/images/world.svg
|
163
164
|
- public/images/eltBackground.jng
|
165
|
+
- public/images/ParlementLogo_fr.png
|
164
166
|
- public/images/ParlementLogo.png
|
167
|
+
- public/images/vote_plus.png
|
168
|
+
- public/images/vote_minus.png
|
169
|
+
- public/images/vote_plus_minus.svg
|
170
|
+
- public/images/write.png
|
171
|
+
- public/images/write.svg
|
165
172
|
- public/engine_files/README
|
166
173
|
- public/engine_files/login_engine
|
174
|
+
- public/engine_files/login_engine/stylesheets
|
175
|
+
- public/engine_files/login_engine/stylesheets/login_engine.css
|
167
176
|
- public/javascripts/prototype.js
|
168
177
|
- public/javascripts/effects.js
|
169
178
|
- public/javascripts/dragdrop.js
|
@@ -177,44 +186,22 @@ files:
|
|
177
186
|
- public/javascripts/ie7-load.htc
|
178
187
|
- public/javascripts/application.js
|
179
188
|
- public/javascripts/mybehaviour.js
|
180
|
-
-
|
181
|
-
-
|
182
|
-
-
|
183
|
-
-
|
184
|
-
-
|
185
|
-
-
|
186
|
-
-
|
187
|
-
-
|
188
|
-
-
|
189
|
-
-
|
190
|
-
-
|
191
|
-
-
|
192
|
-
-
|
193
|
-
-
|
194
|
-
-
|
195
|
-
-
|
196
|
-
- test/fixtures/mail/mail_ruby
|
197
|
-
- test/fixtures/mail/mail_rubyWithSubject
|
198
|
-
- test/fixtures/mail/mail_rubyWithAttachment
|
199
|
-
- test/fixtures/mail/mail_rubyChild
|
200
|
-
- test/fixtures/mail/mail_rubyChild2
|
201
|
-
- test/fixtures/mail/avatar
|
202
|
-
- test/functional/subscriber_controller_test.rb
|
203
|
-
- test/functional/account_controller_test.rb
|
204
|
-
- test/functional/person_controller_test.rb
|
205
|
-
- test/functional/elt_controller_test.rb
|
206
|
-
- test/mocks/development
|
207
|
-
- test/mocks/test
|
208
|
-
- test/mocks/test/user_notify.rb
|
209
|
-
- test/mocks/test/time.rb
|
210
|
-
- test/unit/mail_test.rb
|
211
|
-
- test/unit/elt_test.rb
|
212
|
-
- test/unit/notifier_test.rb
|
213
|
-
- test/unit/person_test.rb
|
214
|
-
- test/unit/attachment_test.rb
|
215
|
-
- test/unit/mail_notify_test.rb
|
216
|
-
- test/unit/subscriber_test.rb
|
217
|
-
- test/unit/choice_test.rb
|
189
|
+
- public/stylesheets/scaffold.css
|
190
|
+
- public/stylesheets/default.css
|
191
|
+
- public/stylesheets/live_tree.css
|
192
|
+
- script/console
|
193
|
+
- script/destroy
|
194
|
+
- script/generate
|
195
|
+
- script/server
|
196
|
+
- script/runner
|
197
|
+
- script/benchmarker
|
198
|
+
- script/profiler
|
199
|
+
- script/breakpointer
|
200
|
+
- script/performance
|
201
|
+
- script/process
|
202
|
+
- script/create_db
|
203
|
+
- script/about
|
204
|
+
- script/plugin
|
218
205
|
- vendor/plugins
|
219
206
|
- vendor/plugins/login_engine
|
220
207
|
- vendor/plugins/engines
|
@@ -1,13 +0,0 @@
|
|
1
|
-
# Read about fixtures at http://ar.rubyonrails.org/classes/Fixtures.html
|
2
|
-
zeroth_attachments:
|
3
|
-
id: 0
|
4
|
-
elt_id: mail
|
5
|
-
created_on: 2006-03-02
|
6
|
-
first_attachments:
|
7
|
-
id: 1
|
8
|
-
elt_id: mail
|
9
|
-
created_on: 2006-03-02
|
10
|
-
another_attachments:
|
11
|
-
id: 2
|
12
|
-
elt_id: mail
|
13
|
-
created_on: 2006-03-02
|
data/test/fixtures/choices.yml
DELETED
data/test/fixtures/elts.yml
DELETED
@@ -1,36 +0,0 @@
|
|
1
|
-
# Read about fixtures at http://ar.rubyonrails.org/classes/Fixtures.html
|
2
|
-
first_elts:
|
3
|
-
id: ROOT
|
4
|
-
lft: 1
|
5
|
-
rgt: 10
|
6
|
-
elts_count: 3
|
7
|
-
second_elts:
|
8
|
-
id: 0
|
9
|
-
parent_id: ROOT
|
10
|
-
subject: zeroth element
|
11
|
-
body: zeroeth element
|
12
|
-
lft: 2
|
13
|
-
rgt: 3
|
14
|
-
elts_count: 0
|
15
|
-
another_elts:
|
16
|
-
id: 1
|
17
|
-
parent_id: ROOT
|
18
|
-
subject: Another element
|
19
|
-
lft: 4
|
20
|
-
rgt: 5
|
21
|
-
elts_count: 0
|
22
|
-
mail:
|
23
|
-
id: mail
|
24
|
-
parent_id: ROOT
|
25
|
-
subject: Mails
|
26
|
-
body: The different mailing lists managed on this server
|
27
|
-
lft: 6
|
28
|
-
rgt: 9
|
29
|
-
elts_count: 0
|
30
|
-
mailList:
|
31
|
-
id: mailList
|
32
|
-
parent_id: mail
|
33
|
-
subject: Mail list
|
34
|
-
body: One mailing lists managed on this server
|
35
|
-
lft: 7
|
36
|
-
rgt: 8
|