parlement 0.6 → 0.7
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGES +13 -0
- data/README +51 -38
- data/app/controllers/account_controller.rb +65 -37
- data/app/controllers/application.rb +1 -1
- data/app/controllers/elt_controller.rb +1 -0
- data/app/models/elt.rb +25 -14
- data/app/models/mail.rb +36 -35
- data/app/models/mail_notify.rb +23 -0
- data/app/views/account/_login.rhtml +1 -1
- data/app/views/account/_show.rhtml +22 -5
- data/app/views/elt/_elt.rhtml +44 -47
- data/app/views/elt/_listByDate.rhtml +7 -7
- data/app/views/elt/show.rhtml +3 -3
- data/app/views/layouts/top.rhtml +1 -0
- data/app/views/person/show.rhtml +5 -0
- data/config/environment.rb +1 -1
- data/db/ROOT/parlement/Parlement_fr.txt +46 -0
- data/db/ROOT/parlement/news/Version_06.txt +25 -0
- data/db/ROOT/parlement/news/Version_07.txt +12 -0
- data/db/ROOT/parlement/test.txt +14 -5
- data/db/ROOT/parlement.txt +2 -0
- data/db/development_structure.sql +119 -44
- data/db/migrate/004_people_image.rb +9 -0
- data/lib/data_import.rb +9 -13
- data/public/javascripts/mybehaviour.js +41 -0
- data/test/fixtures/img.png +0 -0
- data/test/fixtures/mail/avatar +249 -0
- data/test/fixtures/people.yml +1 -1
- data/test/functional/account_controller_test.rb +108 -56
- data/test/functional/elt_controller_test.rb +6 -6
- data/test/unit/elt_test.rb +1 -1
- data/test/unit/mail_test.rb +17 -0
- data/vendor/plugins/engines/CHANGELOG +91 -53
- data/vendor/plugins/engines/README +1 -1
- data/vendor/plugins/engines/generators/engine/templates/init_engine.erb +6 -4
- data/vendor/plugins/engines/generators/engine/templates/test/test_helper.erb +5 -1
- data/vendor/plugins/engines/init.rb +8 -3
- data/vendor/plugins/engines/lib/engines/action_mailer_extensions.rb +6 -5
- data/vendor/plugins/engines/lib/engines/action_view_extensions.rb +10 -6
- data/vendor/plugins/engines/lib/engines/active_record_extensions.rb +3 -1
- data/vendor/plugins/engines/lib/engines/dependencies_extensions.rb +27 -16
- data/vendor/plugins/engines/lib/engines/routing_extensions.rb +28 -0
- data/vendor/plugins/engines/lib/engines/testing_extensions.rb +6 -2
- data/vendor/plugins/engines/lib/engines.rb +77 -12
- data/vendor/plugins/engines/tasks/deprecated_engines.rake +7 -0
- data/vendor/plugins/engines/tasks/engines.rake +25 -10
- data/vendor/plugins/login_engine/CHANGELOG +8 -0
- data/vendor/plugins/login_engine/README +2 -2
- data/vendor/plugins/login_engine/app/controllers/user_controller.rb +4 -1
- data/vendor/plugins/login_engine/app/views/user/forgot_password.rhtml +1 -1
- data/vendor/plugins/login_engine/init_engine.rb +6 -5
- data/vendor/plugins/login_engine/lib/login_engine/authenticated_user.rb +1 -1
- data/vendor/plugins/output_compression/CHANGELOG +0 -0
- data/vendor/plugins/output_compression/MIT-LICENSE +20 -0
- data/vendor/plugins/output_compression/README +4 -4
- data/vendor/plugins/output_compression/init.rb +1 -2
- data/vendor/plugins/output_compression/lib/output_compression.rb +84 -66
- data/vendor/plugins/output_compression/{Rakefile → rakefile} +22 -22
- data/vendor/plugins/output_compression/test/output_test.rb +11 -0
- data/vendor/plugins/output_compression/test/test_controller.rb +3 -0
- data/vendor/plugins/output_compression/test/test_helper.rb +14 -0
- data/vendor/plugins/responds_to_parent/MIT-LICENSE +20 -0
- data/vendor/plugins/responds_to_parent/README +42 -0
- data/vendor/plugins/responds_to_parent/Rakefile +22 -0
- data/vendor/plugins/responds_to_parent/init.rb +1 -0
- data/vendor/plugins/responds_to_parent/lib/responds_to_parent.rb +45 -0
- data/vendor/plugins/responds_to_parent/test/responds_to_parent_test.rb +115 -0
- metadata +33 -16
- data/vendor/plugins/login_engine/tasks/tasks.rake +0 -4
- data/vendor/plugins/output_compression/tasks/output_compression_tasks.rake +0 -4
- data/vendor/plugins/output_compression/test/output_compression_test.rb +0 -8
- /data/db/ROOT/parlement/news/{release0.1.txt → Version_01.txt} +0 -0
- /data/db/ROOT/parlement/news/{release0.2.txt → Version_02.txt} +0 -0
- /data/db/ROOT/parlement/news/{release0.3.txt → Version_03.txt} +0 -0
- /data/db/ROOT/parlement/news/{release0.4.txt → Version_04.txt} +0 -0
- /data/db/ROOT/parlement/news/{release0.5.txt → Version_05.txt} +0 -0
data/app/views/elt/_elt.rhtml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
|
-
<li id="elt_<%= elt.id %>" class="elt <%= 'titled' if displayTitle?
|
1
|
+
<li id="elt_<%= elt.id %>" class="elt <%= 'titled' if displayTitle? elt %>">
|
2
2
|
<script>setKnobs($('elt_<%= elt.id %>'));</script>
|
3
3
|
|
4
|
-
<!--
|
4
|
+
<!-- The form is here to make sure a text browser can see it all on one line -->
|
5
5
|
<%= form_remote_tag(
|
6
6
|
:update => 'eltChoice_'+elt.id,
|
7
7
|
:url => { :action => 'vote', :id => elt },
|
@@ -9,6 +9,16 @@
|
|
9
9
|
:loaded => visual_effect(:Grow, 'eltChoice_'+elt.id, { :queue => 'end' })) %>
|
10
10
|
|
11
11
|
<% if !elt.new_record? %>
|
12
|
+
<span class="eltQuickAdd" id="eltQuickAdd_<%= elt.id %>" title="<%= elt.created_on %>">
|
13
|
+
<%= link_to_remote('<span class="icon">>></span>',
|
14
|
+
{ :update => 'eltNew_'+elt.id.to_s,
|
15
|
+
:url => { :controller => 'elt', :action => 'new', :id => elt },
|
16
|
+
:loading => visual_effect(:SwitchOff, 'eltQuickAdd_'+elt.id.to_s),
|
17
|
+
:loaded => visual_effect(:BlindDown, 'eltNew_'+elt.id.to_s)+
|
18
|
+
visual_effect(:BlindDown, 'eltSubsClose_'+elt.id.to_s)},
|
19
|
+
{ :href => url_for(:controller => 'elt', :action => 'new', :id => @elt)}) %>
|
20
|
+
</span>
|
21
|
+
|
12
22
|
<span class="choice" id="eltChoice_<%= elt.id %>">
|
13
23
|
<%= render :partial => '/elt/choice', :locals => { :elt => elt } %>
|
14
24
|
</span>
|
@@ -16,9 +26,7 @@
|
|
16
26
|
|
17
27
|
<% cache :action => 'show', :id => elt.id do %>
|
18
28
|
<% if displayTitle? elt and elt.created_on %>
|
19
|
-
<span class="created_on">
|
20
|
-
<%= elt.created_on.strftime('%d/%m/%y %H:%M') %>
|
21
|
-
</span>
|
29
|
+
<span class="created_on"><%= elt.created_on.strftime('%d/%m/%y %H:%M') %></span>
|
22
30
|
<% end %>
|
23
31
|
|
24
32
|
<% if elt.person %>
|
@@ -40,52 +48,48 @@
|
|
40
48
|
</h1>
|
41
49
|
<% end %>
|
42
50
|
|
43
|
-
|
44
|
-
<% end %>
|
45
|
-
<% @controller.expire_fragment( :action => 'show', :id => elt.id) if elt.new_record? %>
|
51
|
+
<% formattedBody = format elt.body %>
|
46
52
|
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
:loaded => visual_effect(:BlindDown, 'eltNew_'+elt.id.to_s)+
|
54
|
-
visual_effect(:BlindDown, 'eltSubsClose_'+elt.id.to_s)},
|
55
|
-
{ :href => url_for(:controller => 'elt', :action => 'new', :id => @elt)}) %>
|
56
|
-
<% end %>
|
57
|
-
</span>
|
53
|
+
<%= image_tag (elt.person && elt.person.image ? elt.person.image : "/javascripts/blank.gif"),
|
54
|
+
:onload => "setSize(this)",
|
55
|
+
:class => "avatar" \
|
56
|
+
if formattedBody.match(/[.\s]<p>/) %>
|
57
|
+
|
58
|
+
<%= formattedBody %>
|
58
59
|
|
59
|
-
|
60
|
-
|
61
|
-
|
60
|
+
<span class="attachments">
|
61
|
+
<% for att in elt.attachments %>
|
62
|
+
<%= link_to image_tag("/attachment/file/#{att.file_relative_path}"),
|
63
|
+
"/attachment/file/#{att.file_relative_path}" %>
|
64
|
+
<% end %>
|
65
|
+
</span>
|
62
66
|
<% end %>
|
67
|
+
<% @controller.expire_fragment( :action => 'show', :id => elt.id) if elt.new_record? %>
|
63
68
|
|
64
69
|
<!-- For IE --> 
|
65
70
|
|
71
|
+
<!-- The choice end form, here to make sure it looks nice in text browsers -->
|
72
|
+
<%= end_form_tag %>
|
73
|
+
|
74
|
+
<div class="eltSubs">
|
66
75
|
<span <%= 'style="display: none"' if (eltTop or elt.elts_count < 2) %>
|
67
76
|
class="eltMore" id="eltMore_<%= elt.id %>">
|
68
77
|
<%= link_to_remote(elt.elts_count.to_s+' more',
|
69
78
|
{ :update => 'eltSubs_'+elt.id.to_s,
|
70
79
|
:url => { :controller => 'elt', :action => 'list', :id => elt },
|
71
|
-
:loading => visual_effect(:SwitchOff,
|
72
|
-
|
73
|
-
visual_effect(:BlindDown,
|
74
|
-
:complete => "Behaviour.apply();" },
|
80
|
+
:loading => visual_effect(:SwitchOff, "eltMore_#{elt.id.to_s}")+
|
81
|
+
visual_effect(:BlindDown, "eltSubs_#{elt.id.to_s}")+
|
82
|
+
visual_effect(:BlindDown, "eltSubsClose_#{elt.id.to_s}") },
|
75
83
|
{ :href => url_for(:controller => 'elt', :action => 'show', :id => elt) }) %>
|
76
84
|
|
77
85
|
<%= link_to_remote('Add <span class="icon">>></span>',
|
78
|
-
{ :update =>
|
86
|
+
{ :update => "eltNew_#{elt.id.to_s}",
|
79
87
|
:url => { :controller => 'elt', :action => 'new', :id => elt },
|
80
|
-
:loaded => visual_effect(:BlindDown,
|
81
|
-
|
88
|
+
:loaded => visual_effect(:BlindDown, "eltNew_#{elt.id.to_s}")+
|
89
|
+
visual_effect(:BlindDown, "eltSubsClose_#{elt.id.to_s}")},
|
82
90
|
{ :href => url_for(:controller => 'elt', :action => 'new', :id => elt)}) %>
|
83
91
|
</span>
|
84
92
|
|
85
|
-
<!-- The choice end form, here to make sure it looks nice in text browsers -->
|
86
|
-
<%= end_form_tag %>
|
87
|
-
|
88
|
-
<div class="eltSubs">
|
89
93
|
<!-- Display automatically one element threads -->
|
90
94
|
<ul <%= 'style="display: none"' unless (eltTop or elt.elts_count == 1) %>
|
91
95
|
id="eltSubs_<%= elt.id %>" class="eltSub">
|
@@ -100,23 +104,16 @@
|
|
100
104
|
id="eltSubsClose_<%= elt.id %>" title="<%= elt.created_on %>"
|
101
105
|
class="eltSubsClose">
|
102
106
|
<%= link_to_function('<span class="icon"><<</span> Close',
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
<% if elt.person %>
|
109
|
-
<%= link_to(elt.person.name,
|
110
|
-
:controller => 'person', :action => 'show', :id => elt.person) %>
|
111
|
-
<% elsif not displayTitle? elt %>
|
112
|
-
<%= ANONYMOUS_POSTER %>
|
113
|
-
<% end %>
|
107
|
+
visual_effect(:BlindUp, "eltSubs_#{elt.id}")+
|
108
|
+
visual_effect(:BlindUp, "eltNew_#{elt.id}")+
|
109
|
+
visual_effect(:BlindUp, "eltSubsClose_#{elt.id}")+
|
110
|
+
visual_effect(:BlindDown, "eltMore_#{elt.id}")) %>
|
114
111
|
|
115
112
|
<%= link_to_remote('Add <span class="icon">>></span>',
|
116
|
-
{ :update =>
|
113
|
+
{ :update => "eltNew_#{elt.id.to_s}",
|
117
114
|
:url => { :controller => 'elt', :action => 'new', :id => elt },
|
118
|
-
:loading => visual_effect(:BlindDown,
|
119
|
-
visual_effect(:BlindDown,
|
115
|
+
:loading => visual_effect(:BlindDown, "eltNew_#{elt.id.to_s}")+
|
116
|
+
visual_effect(:BlindDown, "eltSubsClose_#{elt.id.to_s}")},
|
120
117
|
{ :href => url_for(:controller => 'elt', :action => 'new', :id => elt)}) %>
|
121
118
|
</span>
|
122
119
|
</div>
|
@@ -14,13 +14,13 @@
|
|
14
14
|
:url => { :action => 'listByDate', :id => @elt, :page => e_pages.last },
|
15
15
|
:before => visual_effect(:BlindUp, 'listByDate', { :queue => 'end' }),
|
16
16
|
:loading => visual_effect(:BlindDown, 'listByDate', { :queue => 'end' }) }) \
|
17
|
-
|
17
|
+
if e_pages.last != e_pages.current %>
|
18
18
|
<%= link_to_remote('<',
|
19
19
|
{ :update => 'listByDate',
|
20
20
|
:url => { :action => 'listByDate', :id => @elt, :page => e_pages.current.next },
|
21
21
|
:before => visual_effect(:BlindUp, 'listByDate', { :queue => 'end' }),
|
22
22
|
:loading => visual_effect(:BlindDown, 'listByDate', { :queue => 'end' }) }) \
|
23
|
-
|
23
|
+
if e_pages.current.next and e_pages.current.next != e_pages.last %>
|
24
24
|
|
25
25
|
<span class="pageCount"><%= e_pages.length-e_pages.current.to_i+1 %></span>
|
26
26
|
|
@@ -29,22 +29,22 @@
|
|
29
29
|
:url => { :action => 'listByDate', :id => @elt, :page => e_pages.current.previous },
|
30
30
|
:before => visual_effect(:BlindUp, 'listByDate', { :queue => 'end' }),
|
31
31
|
:loading => visual_effect(:BlindDown, 'listByDate', { :queue => 'end' }) }) \
|
32
|
-
|
32
|
+
if e_pages.current.previous and e_pages.current.previous != e_pages.first %>
|
33
33
|
<%= link_to_remote('>|',
|
34
34
|
{ :update => 'listByDate',
|
35
35
|
:url => { :action => 'listByDate', :id => @elt, :page => e_pages.first },
|
36
36
|
:before => visual_effect(:BlindUp, 'listByDate', { :queue => 'end' }),
|
37
37
|
:loading => visual_effect(:BlindDown, 'listByDate', { :queue => 'end' }) }) \
|
38
|
-
|
38
|
+
if e_pages.first != e_pages.current %>
|
39
39
|
<% end %>
|
40
40
|
|
41
41
|
<ul>
|
42
42
|
<% elts.each do |elt| %>
|
43
|
-
<li class="boxLine elt" title="<%= elt.created_on.strftime
|
44
|
-
<span class="created_on"><%= elt.created_on.strftime
|
43
|
+
<li class="boxLine elt" title="<%= elt.created_on.strftime '%d/%m %H:%M' %>">
|
44
|
+
<span class="created_on"><%= elt.created_on.strftime '%d/%m %H:%M' %></span>
|
45
45
|
<% if elt.person %>
|
46
46
|
<span class="author">
|
47
|
-
<<%= link_to
|
47
|
+
<<%= link_to elt.person.name, :controller => 'person', :action => 'show', :id => elt.person %>>
|
48
48
|
</span>
|
49
49
|
<% elsif not displayTitle? elt %>
|
50
50
|
<span class="author"><<%= ANONYMOUS_POSTER %>></span>
|
data/app/views/elt/show.rhtml
CHANGED
@@ -8,18 +8,18 @@
|
|
8
8
|
</div>
|
9
9
|
|
10
10
|
<h3 class="boxTitle">Identity</h3>
|
11
|
-
<div class="box">
|
11
|
+
<div class="box" id="identity">
|
12
12
|
<div id="author_<%= @elt.id %>">
|
13
13
|
<%= render :partial => 'account/show', :locals => { :divId => 'author_'+@elt.id } %>
|
14
14
|
</div>
|
15
15
|
</div>
|
16
16
|
|
17
|
-
|
17
|
+
<h3 class="boxTitle">Highest posts</h3>
|
18
18
|
<div class="box listByVote">
|
19
19
|
<%= render :partial => '/elt/listByVote' %>
|
20
20
|
</div>
|
21
21
|
|
22
|
-
|
22
|
+
<h3 class="boxTitle">Latest posts</h3>
|
23
23
|
<div class="box listByDate">
|
24
24
|
<%= render :partial => '/elt/listByDate' %>
|
25
25
|
</div>
|
data/app/views/layouts/top.rhtml
CHANGED
@@ -34,6 +34,7 @@
|
|
34
34
|
<div class="links">
|
35
35
|
<a class="title" href="http://leparlement.org">Parlement</a>
|
36
36
|
<span class="signets">
|
37
|
+
<a href="/people">people</a>
|
37
38
|
<a href="http://rubyforge.org/projects/parlement">forge</a>
|
38
39
|
<a href="http://www.gnu.org/licenses/gpl.html">GPL</a>
|
39
40
|
</span>
|
data/app/views/person/show.rhtml
CHANGED
@@ -1,4 +1,9 @@
|
|
1
1
|
<div class="sidebar">
|
2
|
+
<div class="boxTitle">Avatar</div>
|
3
|
+
<div class="box" id="identity">
|
4
|
+
<%= image_tag (@person.image ? url_for_file_column("person", "image") : ""), :id => "avatar", :class => "avatar" %>
|
5
|
+
</div>
|
6
|
+
|
2
7
|
<% if @person.subscribed_elts.size > 0 %>
|
3
8
|
<div class="boxTitle">Subscribed elts</div>
|
4
9
|
<% end %>
|
data/config/environment.rb
CHANGED
@@ -0,0 +1,46 @@
|
|
1
|
+
Parlement (fr)
|
2
|
+
|
3
|
+
Forum, liste de diffusion, blog, page personnelle, salon de discussion,
|
4
|
+
journal.
|
5
|
+
|
6
|
+
p=. *ET*
|
7
|
+
|
8
|
+
Un outil d'écriture collaborative basé sur des principes démoractiques.
|
9
|
+
|
10
|
+
!{float:left;margin-right: 2em;}/attachment/file/architecture.png!
|
11
|
+
|
12
|
+
Avec le _paper_ nous votons:
|
13
|
+
* un jour
|
14
|
+
* un lieu
|
15
|
+
* un sujet
|
16
|
+
|
17
|
+
Avec _Internet_ nous pouvons voter:
|
18
|
+
* n'importe quand
|
19
|
+
* n'importe où
|
20
|
+
* n'importe quel sujet
|
21
|
+
|
22
|
+
C'est une révolution,
|
23
|
+
This is a revolution, breaking rules that go back to antic Greece. Rules that
|
24
|
+
probably contribute to the feeling of awe one can resent when comes election
|
25
|
+
day, but which also restrict our ability to participate in politics.
|
26
|
+
|
27
|
+
Now we can acquire three new freedoms: freedom of time, of place and of object.
|
28
|
+
we can vote from our home, in the middle of the night and on the small issues
|
29
|
+
that we care about.
|
30
|
+
|
31
|
+
There are consequences. For example if you can vote anytime, why not also
|
32
|
+
_change your vote_ if you so wish? If votes are permanent, why have dates and
|
33
|
+
agendas, except for outside conditions?
|
34
|
+
|
35
|
+
If you can vote on any issue, then why not allow _everybody to propose polls_?
|
36
|
+
No technical limitation limits that ability, but for our own capacity to follow
|
37
|
+
all of them. And in fact their number growing, _delegating_ your votes will
|
38
|
+
become a required feature, allowing you to concentrate on the parts that
|
39
|
+
interest you the most, while delegating your voice to someone you trust on
|
40
|
+
other matters.
|
41
|
+
|
42
|
+
If you can vote from anywhere, then you can vote in front of anybody, this
|
43
|
+
means _vote selling_ is a possibility. It is not anti democratic, it's a
|
44
|
+
feature. A feature that, yes, could result into an oligarchy, it all depends on
|
45
|
+
the value of our votes.
|
46
|
+
|
@@ -0,0 +1,25 @@
|
|
1
|
+
Version 0.6
|
2
|
+
|
3
|
+
Voting using V and Λ buttons (picturing -1 and +1 values, down and up).
|
4
|
+
Clicking on an existing vote resets it (equivalent to a 0 vote).
|
5
|
+
|
6
|
+
Votes recorded and replicated as mails. Elements also listed by their approval
|
7
|
+
(rss feed available).
|
8
|
+
|
9
|
+
* elements are now acts_as_nested_set AND acts_as_tree
|
10
|
+
* list by date, dynamic and managing all sub elements
|
11
|
+
* rss now manages _all_ sub elements
|
12
|
+
* compress_output
|
13
|
+
* google analytics plugin
|
14
|
+
* visual_effect queues
|
15
|
+
* close or open elements and their sub elements
|
16
|
+
* optimisations
|
17
|
+
* voting on the web page
|
18
|
+
* logging in and out changes appropriately +1 and -1 votes
|
19
|
+
* element id now generated from element subject
|
20
|
+
* element body now cached
|
21
|
+
* some spam tests when creating a new element
|
22
|
+
* list by vote
|
23
|
+
* possibility to see individual votes when clicking on a vote result
|
24
|
+
* Correcting a painful "null character" mishandling when mail is quoted printable
|
25
|
+
|
@@ -0,0 +1,12 @@
|
|
1
|
+
Version 0.7
|
2
|
+
|
3
|
+
Avatars
|
4
|
+
|
5
|
+
* avatar initial upload
|
6
|
+
* correcting an automatic elt id generation, now removing all non characters
|
7
|
+
* avatar upload, reception and emission by mail
|
8
|
+
* addition of a "people" page listing all current and past avatars
|
9
|
+
* logout now possible in text based browsers
|
10
|
+
* attachments now derive their id from their element's subject
|
11
|
+
* >> for one liners now better placed as floats
|
12
|
+
|
data/db/ROOT/parlement/test.txt
CHANGED
@@ -1,9 +1,18 @@
|
|
1
1
|
Testing
|
2
2
|
|
3
|
-
You can use the
|
4
|
-
vote, no delegation, no signatures, no electoral list, no P2P cluster). Just
|
5
|
-
click on the *more* links to drill down into the available elements. Click on
|
6
|
-
the *>>* links to propose new sub elements.
|
3
|
+
You can use the system right now:
|
7
4
|
|
8
|
-
|
5
|
+
* click on the *_n_ more* links to drill down into the available elements
|
6
|
+
* click on the <span class="icon">>></span> links to propose new sub elements
|
7
|
+
* click on <span class="choice" style="float:none"><label class="con">V</label>
|
8
|
+
or <label class="pro">Λ</label></span> buttons to vote against or for
|
9
|
+
an element
|
9
10
|
|
11
|
+
No complex registration required, you can participate anonymously or just fill
|
12
|
+
a pseudo (top right corner) in order to be differentiated. This pseudo can be
|
13
|
+
password protected and email verified, or not. You choose.
|
14
|
+
|
15
|
+
I'm open to suggestions and follow closely everything said (every forum also
|
16
|
+
being a mailing list, it's easy to follow and answer to)!
|
17
|
+
|
18
|
+
Tell me what you think!
|
data/db/ROOT/parlement.txt
CHANGED
@@ -32,6 +32,18 @@ CREATE TABLE attachments (
|
|
32
32
|
);
|
33
33
|
|
34
34
|
|
35
|
+
--
|
36
|
+
-- Name: attachments_id_seq; Type: SEQUENCE; Schema: public; Owner: manu
|
37
|
+
--
|
38
|
+
|
39
|
+
CREATE SEQUENCE attachments_id_seq
|
40
|
+
START WITH 1
|
41
|
+
INCREMENT BY 1
|
42
|
+
NO MAXVALUE
|
43
|
+
NO MINVALUE
|
44
|
+
CACHE 1;
|
45
|
+
|
46
|
+
|
35
47
|
--
|
36
48
|
-- Name: choices; Type: TABLE; Schema: public; Owner: manu; Tablespace:
|
37
49
|
--
|
@@ -77,6 +89,17 @@ CREATE TABLE elts (
|
|
77
89
|
);
|
78
90
|
|
79
91
|
|
92
|
+
--
|
93
|
+
-- Name: elts_id_seq; Type: SEQUENCE; Schema: public; Owner: manu
|
94
|
+
--
|
95
|
+
|
96
|
+
CREATE SEQUENCE elts_id_seq
|
97
|
+
INCREMENT BY 1
|
98
|
+
NO MAXVALUE
|
99
|
+
NO MINVALUE
|
100
|
+
CACHE 1;
|
101
|
+
|
102
|
+
|
80
103
|
--
|
81
104
|
-- Name: engine_schema_info; Type: TABLE; Schema: public; Owner: manu; Tablespace:
|
82
105
|
--
|
@@ -100,6 +123,18 @@ CREATE TABLE mails (
|
|
100
123
|
);
|
101
124
|
|
102
125
|
|
126
|
+
--
|
127
|
+
-- Name: mails_id_seq; Type: SEQUENCE; Schema: public; Owner: manu
|
128
|
+
--
|
129
|
+
|
130
|
+
CREATE SEQUENCE mails_id_seq
|
131
|
+
START WITH 1
|
132
|
+
INCREMENT BY 1
|
133
|
+
NO MAXVALUE
|
134
|
+
NO MINVALUE
|
135
|
+
CACHE 1;
|
136
|
+
|
137
|
+
|
103
138
|
--
|
104
139
|
-- Name: people; Type: TABLE; Schema: public; Owner: manu; Tablespace:
|
105
140
|
--
|
@@ -108,10 +143,22 @@ CREATE TABLE people (
|
|
108
143
|
id text NOT NULL,
|
109
144
|
created_on timestamp with time zone DEFAULT now() NOT NULL,
|
110
145
|
name text,
|
111
|
-
email text
|
146
|
+
email text,
|
147
|
+
image text
|
112
148
|
);
|
113
149
|
|
114
150
|
|
151
|
+
--
|
152
|
+
-- Name: people_id_seq; Type: SEQUENCE; Schema: public; Owner: manu
|
153
|
+
--
|
154
|
+
|
155
|
+
CREATE SEQUENCE people_id_seq
|
156
|
+
INCREMENT BY 1
|
157
|
+
NO MAXVALUE
|
158
|
+
NO MINVALUE
|
159
|
+
CACHE 1;
|
160
|
+
|
161
|
+
|
115
162
|
--
|
116
163
|
-- Name: schema_info; Type: TABLE; Schema: public; Owner: manu; Tablespace:
|
117
164
|
--
|
@@ -131,32 +178,38 @@ CREATE TABLE subscribers (
|
|
131
178
|
);
|
132
179
|
|
133
180
|
|
181
|
+
--
|
182
|
+
-- Name: subscribers_id_seq; Type: SEQUENCE; Schema: public; Owner: manu
|
183
|
+
--
|
184
|
+
|
185
|
+
CREATE SEQUENCE subscribers_id_seq
|
186
|
+
INCREMENT BY 1
|
187
|
+
NO MAXVALUE
|
188
|
+
NO MINVALUE
|
189
|
+
CACHE 1;
|
190
|
+
|
191
|
+
|
134
192
|
--
|
135
193
|
-- Name: users; Type: TABLE; Schema: public; Owner: manu; Tablespace:
|
136
194
|
--
|
137
195
|
|
138
196
|
CREATE TABLE users (
|
139
197
|
id serial NOT NULL,
|
140
|
-
"login"
|
141
|
-
salted_password character varying(40)
|
142
|
-
email character varying(60)
|
198
|
+
"login" text NOT NULL,
|
199
|
+
salted_password character varying(40) NOT NULL,
|
200
|
+
email character varying(60),
|
143
201
|
firstname character varying(40),
|
144
202
|
lastname character varying(40),
|
145
|
-
salt character
|
203
|
+
salt character(40) NOT NULL,
|
146
204
|
verified integer DEFAULT 0,
|
147
205
|
"role" character varying(40),
|
148
|
-
security_token character
|
206
|
+
security_token character(40),
|
149
207
|
token_expiry timestamp without time zone,
|
150
|
-
created_at timestamp without time zone,
|
151
|
-
updated_at timestamp without time zone,
|
152
|
-
logged_in_at timestamp without time zone,
|
153
208
|
deleted integer DEFAULT 0,
|
154
209
|
delete_after timestamp without time zone
|
155
210
|
);
|
156
211
|
|
157
212
|
|
158
|
-
SET default_with_oids = true;
|
159
|
-
|
160
213
|
--
|
161
214
|
-- Name: usersold; Type: TABLE; Schema: public; Owner: manu; Tablespace:
|
162
215
|
--
|
@@ -261,51 +314,65 @@ ALTER TABLE ONLY usersold
|
|
261
314
|
|
262
315
|
|
263
316
|
--
|
264
|
-
-- Name:
|
317
|
+
-- Name: elts_parent; Type: INDEX; Schema: public; Owner: manu; Tablespace:
|
265
318
|
--
|
266
319
|
|
267
|
-
|
268
|
-
ADD CONSTRAINT attachments_elt_id_fkey FOREIGN KEY (elt_id) REFERENCES elts(id);
|
320
|
+
CREATE INDEX elts_parent ON elts USING btree (parent_id);
|
269
321
|
|
270
322
|
|
271
323
|
--
|
272
|
-
-- Name:
|
324
|
+
-- Name: elts_parent_key; Type: INDEX; Schema: public; Owner: manu; Tablespace:
|
273
325
|
--
|
274
326
|
|
275
|
-
|
276
|
-
ADD CONSTRAINT delegations_delegate_to_fkey FOREIGN KEY (delegate_to) REFERENCES people(id);
|
327
|
+
CREATE INDEX elts_parent_key ON elts USING btree (parent_id);
|
277
328
|
|
278
329
|
|
279
330
|
--
|
280
|
-
-- Name:
|
331
|
+
-- Name: $1; Type: FK CONSTRAINT; Schema: public; Owner: manu
|
281
332
|
--
|
282
333
|
|
283
|
-
ALTER TABLE ONLY
|
284
|
-
ADD CONSTRAINT
|
334
|
+
ALTER TABLE ONLY usersold
|
335
|
+
ADD CONSTRAINT "$1" FOREIGN KEY (person_id) REFERENCES people(id);
|
285
336
|
|
286
337
|
|
287
338
|
--
|
288
|
-
-- Name:
|
339
|
+
-- Name: $1; Type: FK CONSTRAINT; Schema: public; Owner: manu
|
340
|
+
--
|
341
|
+
|
342
|
+
ALTER TABLE ONLY subscribers
|
343
|
+
ADD CONSTRAINT "$1" FOREIGN KEY (elt_id) REFERENCES elts(id);
|
344
|
+
|
345
|
+
|
346
|
+
--
|
347
|
+
-- Name: $1; Type: FK CONSTRAINT; Schema: public; Owner: manu
|
289
348
|
--
|
290
349
|
|
291
350
|
ALTER TABLE ONLY delegations
|
292
|
-
ADD CONSTRAINT
|
351
|
+
ADD CONSTRAINT "$1" FOREIGN KEY (elt_id) REFERENCES elts(id);
|
293
352
|
|
294
353
|
|
295
354
|
--
|
296
|
-
-- Name:
|
355
|
+
-- Name: $2; Type: FK CONSTRAINT; Schema: public; Owner: manu
|
297
356
|
--
|
298
357
|
|
299
|
-
ALTER TABLE ONLY
|
300
|
-
ADD CONSTRAINT
|
358
|
+
ALTER TABLE ONLY subscribers
|
359
|
+
ADD CONSTRAINT "$2" FOREIGN KEY (person_id) REFERENCES people(id);
|
301
360
|
|
302
361
|
|
303
362
|
--
|
304
|
-
-- Name:
|
363
|
+
-- Name: $2; Type: FK CONSTRAINT; Schema: public; Owner: manu
|
305
364
|
--
|
306
365
|
|
307
|
-
ALTER TABLE ONLY
|
308
|
-
ADD CONSTRAINT
|
366
|
+
ALTER TABLE ONLY delegations
|
367
|
+
ADD CONSTRAINT "$2" FOREIGN KEY (person_id) REFERENCES people(id);
|
368
|
+
|
369
|
+
|
370
|
+
--
|
371
|
+
-- Name: $3; Type: FK CONSTRAINT; Schema: public; Owner: manu
|
372
|
+
--
|
373
|
+
|
374
|
+
ALTER TABLE ONLY delegations
|
375
|
+
ADD CONSTRAINT "$3" FOREIGN KEY (delegate_to) REFERENCES people(id);
|
309
376
|
|
310
377
|
|
311
378
|
--
|
@@ -313,51 +380,59 @@ ALTER TABLE ONLY elts
|
|
313
380
|
--
|
314
381
|
|
315
382
|
ALTER TABLE ONLY choices
|
316
|
-
ADD CONSTRAINT fk_elt_id FOREIGN KEY (elt_id) REFERENCES elts(id);
|
383
|
+
ADD CONSTRAINT fk_elt_id FOREIGN KEY (elt_id) REFERENCES elts(id) ON UPDATE CASCADE;
|
317
384
|
|
318
385
|
|
319
386
|
--
|
320
|
-
-- Name:
|
387
|
+
-- Name: fk_elt_id; Type: FK CONSTRAINT; Schema: public; Owner: manu
|
321
388
|
--
|
322
389
|
|
323
|
-
ALTER TABLE ONLY
|
324
|
-
ADD CONSTRAINT
|
390
|
+
ALTER TABLE ONLY attachments
|
391
|
+
ADD CONSTRAINT fk_elt_id FOREIGN KEY (elt_id) REFERENCES elts(id) ON UPDATE CASCADE;
|
325
392
|
|
326
393
|
|
327
394
|
--
|
328
|
-
-- Name:
|
395
|
+
-- Name: fk_elt_id; Type: FK CONSTRAINT; Schema: public; Owner: manu
|
396
|
+
--
|
397
|
+
|
398
|
+
ALTER TABLE ONLY elts
|
399
|
+
ADD CONSTRAINT fk_elt_id FOREIGN KEY (parent_id) REFERENCES elts(id) ON UPDATE CASCADE;
|
400
|
+
|
401
|
+
|
402
|
+
--
|
403
|
+
-- Name: fk_elt_id; Type: FK CONSTRAINT; Schema: public; Owner: manu
|
329
404
|
--
|
330
405
|
|
331
406
|
ALTER TABLE ONLY mails
|
332
|
-
ADD CONSTRAINT
|
407
|
+
ADD CONSTRAINT fk_elt_id FOREIGN KEY (elt_id) REFERENCES elts(id) ON UPDATE CASCADE;
|
333
408
|
|
334
409
|
|
335
410
|
--
|
336
|
-
-- Name:
|
411
|
+
-- Name: fk_person_id; Type: FK CONSTRAINT; Schema: public; Owner: manu
|
337
412
|
--
|
338
413
|
|
339
|
-
ALTER TABLE ONLY
|
340
|
-
ADD CONSTRAINT
|
414
|
+
ALTER TABLE ONLY users
|
415
|
+
ADD CONSTRAINT fk_person_id FOREIGN KEY ("login") REFERENCES people(name) ON UPDATE CASCADE;
|
341
416
|
|
342
417
|
|
343
418
|
--
|
344
|
-
-- Name:
|
419
|
+
-- Name: fk_person_id; Type: FK CONSTRAINT; Schema: public; Owner: manu
|
345
420
|
--
|
346
421
|
|
347
|
-
ALTER TABLE ONLY
|
348
|
-
ADD CONSTRAINT
|
422
|
+
ALTER TABLE ONLY elts
|
423
|
+
ADD CONSTRAINT fk_person_id FOREIGN KEY (person_id) REFERENCES people(id) ON UPDATE CASCADE;
|
349
424
|
|
350
425
|
|
351
426
|
--
|
352
|
-
-- Name:
|
427
|
+
-- Name: fk_person_id; Type: FK CONSTRAINT; Schema: public; Owner: manu
|
353
428
|
--
|
354
429
|
|
355
|
-
ALTER TABLE ONLY
|
356
|
-
ADD CONSTRAINT
|
430
|
+
ALTER TABLE ONLY choices
|
431
|
+
ADD CONSTRAINT fk_person_id FOREIGN KEY (person_id) REFERENCES people(id) ON UPDATE CASCADE;
|
357
432
|
|
358
433
|
|
359
434
|
--
|
360
435
|
-- PostgreSQL database dump complete
|
361
436
|
--
|
362
437
|
|
363
|
-
INSERT INTO schema_info (version) VALUES (
|
438
|
+
INSERT INTO schema_info (version) VALUES (4)
|