decidim-proposals 0.0.3 → 0.0.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/controllers/decidim/proposals/admin/proposal_answers_controller.rb +2 -0
- data/app/controllers/decidim/proposals/admin/proposals_controller.rb +2 -0
- data/app/controllers/decidim/proposals/proposals_controller.rb +42 -5
- data/app/forms/decidim/proposals/proposal_form.rb +3 -1
- data/app/helpers/decidim/proposals/proposal_votes_helper.rb +1 -1
- data/app/models/decidim/proposals/abilities/admin_user.rb +45 -0
- data/app/models/decidim/proposals/abilities/current_user.rb +22 -4
- data/app/models/decidim/proposals/abilities/process_admin_user.rb +57 -0
- data/app/models/decidim/proposals/proposal.rb +23 -2
- data/app/services/decidim/proposals/proposal_search.rb +25 -13
- data/app/views/decidim/proposals/admin/proposal_answers/edit.html.erb +1 -1
- data/app/views/decidim/proposals/admin/proposals/_form.html.erb +1 -1
- data/app/views/decidim/proposals/admin/proposals/index.html.erb +16 -10
- data/app/views/decidim/proposals/admin/proposals/new.html.erb +1 -1
- data/app/views/decidim/proposals/proposal_votes/update_buttons_and_counters.js.erb +4 -4
- data/app/views/decidim/proposals/proposals/_filters.html.erb +15 -3
- data/app/views/decidim/proposals/proposals/_proposal.html.erb +3 -11
- data/app/views/decidim/proposals/proposals/_proposals.html.erb +2 -1
- data/app/views/decidim/proposals/proposals/_remaining_votes_count.html.erb +3 -1
- data/app/views/decidim/proposals/proposals/_tags.html.erb +10 -0
- data/app/views/decidim/proposals/proposals/_vote_button.html.erb +23 -21
- data/app/views/decidim/proposals/proposals/_votes_count.html.erb +9 -6
- data/app/views/decidim/proposals/proposals/_votes_limit.html.erb +1 -3
- data/app/views/decidim/proposals/proposals/index.html.erb +3 -3
- data/app/views/decidim/proposals/proposals/index.js.erb +6 -1
- data/app/views/decidim/proposals/proposals/new.html.erb +2 -2
- data/app/views/decidim/proposals/proposals/show.html.erb +23 -28
- data/config/i18n-tasks.yml +2 -0
- data/config/locales/ca.yml +30 -15
- data/config/locales/en.yml +19 -4
- data/config/locales/es.yml +19 -4
- data/config/locales/eu.yml +5 -0
- data/db/migrate/20170205082832_add_index_to_decidim_proposals_proposals_proposal_votes_count.rb +7 -0
- data/lib/decidim/proposals/admin_engine.rb +7 -0
- data/lib/decidim/proposals/feature.rb +16 -3
- data/lib/decidim/proposals/test/factories.rb +1 -1
- metadata +19 -15
- data/app/views/decidim/proposals/proposals/_share.html.erb +0 -33
@@ -1,14 +1,14 @@
|
|
1
1
|
var $proposalVotesCount = $('#proposal-<%= proposal.id %>-votes-count');
|
2
2
|
var $proposalVoteButton = $('#proposal-<%= proposal.id %>-vote-button');
|
3
3
|
|
4
|
-
$proposalVotesCount
|
5
|
-
$proposalVoteButton
|
4
|
+
morphdom($proposalVotesCount[0], '<%= j(render partial: 'decidim/proposals/proposals/votes_count', locals: { proposal: proposal, from_proposals_list: @from_proposals_list }) %>');
|
5
|
+
morphdom($proposalVoteButton[0], '<%= j(render partial: 'decidim/proposals/proposals/vote_button', locals: { proposal: proposal, from_proposals_list: @from_proposals_list }) %>');
|
6
6
|
|
7
7
|
<% if vote_limit_enabled? %>
|
8
8
|
var $remainingVotesCount = $('#remaining-votes-count');
|
9
9
|
var $notVotedButtons = $('.card__button.button').not('.success');
|
10
10
|
|
11
|
-
$remainingVotesCount
|
11
|
+
morphdom($remainingVotesCount[0], '<%= j(render partial: 'decidim/proposals/proposals/remaining_votes_count') %>');
|
12
12
|
|
13
13
|
<% if remaining_votes_count_for(current_user) == 0 %>
|
14
14
|
$notVotedButtons.attr('disabled', true);
|
@@ -17,4 +17,4 @@ $proposalVoteButton.html('<%= j(render partial: 'decidim/proposals/proposals/vot
|
|
17
17
|
$notVotedButtons.attr('disabled', false);
|
18
18
|
$notVotedButtons.val('<%= t('decidim.proposals.proposals.vote_button.vote') %>');
|
19
19
|
<% end %>
|
20
|
-
<% end %>
|
20
|
+
<% end %>
|
@@ -12,17 +12,29 @@
|
|
12
12
|
</div>
|
13
13
|
</div>
|
14
14
|
|
15
|
-
|
15
|
+
<% if feature_settings.official_proposals_enabled %>
|
16
|
+
<%= form.collection_radio_buttons :origin, [["all", t('.all')], ["official", t('.official')], ["citizenship", t('.citizenship')]], :first, :last, legend_title: t('.origin') %>
|
17
|
+
<% end %>
|
18
|
+
|
19
|
+
<% if feature_settings.proposal_answering_enabled && current_settings.proposal_answering_enabled %>
|
20
|
+
<%= form.collection_radio_buttons :state, [["all", t('.all')], ["accepted", t('.accepted')], ["rejected", t('.rejected')]], :first, :last, legend_title: t('.state') %>
|
21
|
+
<% end %>
|
16
22
|
|
17
|
-
|
23
|
+
<% if linked_classes_for(Decidim::Proposals::Proposal).any? %>
|
24
|
+
<%= form.collection_radio_buttons :related_to, linked_classes_filter_values_for(Decidim::Proposals::Proposal), :first, :last, legend_title: t('.related_to') %>
|
25
|
+
<% end %>
|
18
26
|
|
19
27
|
<% if current_user && current_settings.votes_enabled? %>
|
20
28
|
<%= form.collection_check_boxes :activity, [["voted", t('.voted')]], :first, :last, legend_title: t('.activity') %>
|
21
29
|
<% end %>
|
22
30
|
|
31
|
+
<% if current_organization.scopes.any? && feature_settings.scoped_proposals_enabled %>
|
32
|
+
<%= form.collection_check_boxes :scope_id, current_organization.scopes, lambda {|scope| scope.id.to_s}, :name, legend_title: t('.scopes') %>
|
33
|
+
<% end %>
|
34
|
+
|
23
35
|
<% if current_feature.categories.any? %>
|
24
36
|
<%= form.categories_select :category_id, current_feature.categories, legend_title: t('.category'), disable_parents: false, label: false, include_blank: true %>
|
25
37
|
<% end %>
|
26
38
|
|
27
|
-
<%=
|
39
|
+
<%= hidden_field_tag :order, order, id: nil, class: "order_filter" %>
|
28
40
|
<% end %>
|
@@ -19,21 +19,13 @@
|
|
19
19
|
</div>
|
20
20
|
<%= render partial: "proposal_badge", locals: { proposal: proposal } %>
|
21
21
|
<p><%= truncate(proposal.body, length: 100) %></p>
|
22
|
-
|
23
|
-
<ul class="tags tags--proposal">
|
24
|
-
<li><a href=""><%= translated_attribute(proposal.category.name) %></a></li>
|
25
|
-
</ul>
|
26
|
-
<% end %>
|
22
|
+
<%= render partial: "tags", locals: { proposal: proposal } %>
|
27
23
|
</div>
|
28
24
|
<div class="card__footer">
|
29
25
|
<div class="card__support">
|
30
26
|
<% if current_settings.votes_enabled? %>
|
31
|
-
|
32
|
-
|
33
|
-
</div>
|
34
|
-
<div id="proposal-<%= proposal.id %>-vote-button">
|
35
|
-
<%= render partial: "vote_button", locals: { proposal: proposal, from_proposals_list: true } %>
|
36
|
-
</div>
|
27
|
+
<%= render partial: "votes_count", locals: { proposal: proposal, from_proposals_list: true } %>
|
28
|
+
<%= render partial: "vote_button", locals: { proposal: proposal, from_proposals_list: true } %>
|
37
29
|
<% elsif !current_settings.votes_enabled? || current_settings.votes_enabled? && current_settings.votes_blocked? %>
|
38
30
|
<div class="card__support__data"></div>
|
39
31
|
<%= link_to t(".view_proposal"), proposal, class: "card__button button small secondary" %>
|
@@ -1,4 +1,5 @@
|
|
1
|
+
<%= order_selector [:random, :most_voted, :recent], i18n_scope: "decidim.proposals.proposals.orders" %>
|
1
2
|
<div class="row small-up-1 medium-up-2 card-grid">
|
2
3
|
<%= render @proposals %>
|
3
4
|
</div>
|
4
|
-
<%= decidim_paginate @proposals, random_seed:
|
5
|
+
<%= decidim_paginate @proposals, random_seed: random_seed %>
|
@@ -0,0 +1,10 @@
|
|
1
|
+
<% if proposal.category.present? || proposal.scope.present? %>
|
2
|
+
<ul class="tags tags--proposal" >
|
3
|
+
<% if proposal.category.present? %>
|
4
|
+
<li><%= link_to translated_attribute(proposal.category.name), decidim_proposals.proposals_path(filter: { category_id: proposal.category.id }) %></li>
|
5
|
+
<% end %>
|
6
|
+
<% if proposal.scope.present? && feature_settings.scoped_proposals_enabled %>
|
7
|
+
<li><%= link_to proposal.scope.name, decidim_proposals.proposals_path(filter: { scope_id: [proposal.scope.id] }) %></li>
|
8
|
+
<% end %>
|
9
|
+
</ul>
|
10
|
+
<% end %>
|
@@ -1,25 +1,27 @@
|
|
1
|
-
|
2
|
-
<% if
|
3
|
-
|
4
|
-
<%=
|
5
|
-
|
6
|
-
<button class="card__button button <%= vote_button_classes(from_proposals_list) %> success">
|
7
|
-
<%= t('.already_voted') %>
|
8
|
-
</button>
|
9
|
-
<% end %>
|
1
|
+
<div id="proposal-<%= proposal.id %>-vote-button">
|
2
|
+
<% if !current_user %>
|
3
|
+
<button class="card__button button <%= vote_button_classes(from_proposals_list) %>" data-toggle="loginModal">
|
4
|
+
<%= t('.vote') %>
|
5
|
+
</button>
|
10
6
|
<% else %>
|
11
|
-
<% if
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
<%=
|
16
|
-
|
7
|
+
<% if @voted_proposals ? @voted_proposals.include?(proposal.id) : proposal.voted_by?(current_user) %>
|
8
|
+
<% if vote_limit_enabled? %>
|
9
|
+
<%= action_authorized_button_to :vote, t('.already_voted'), proposal_proposal_vote_path(proposal_id: proposal, from_proposals_list: from_proposals_list), method: :delete, remote: true, data: { disable: true }, class: "card__button button #{vote_button_classes(from_proposals_list)} success" %>
|
10
|
+
<% else %>
|
11
|
+
<button class="card__button button <%= vote_button_classes(from_proposals_list) %> success">
|
12
|
+
<%= t('.already_voted') %>
|
13
|
+
</button>
|
14
|
+
<% end %>
|
17
15
|
<% else %>
|
18
|
-
|
16
|
+
<% if vote_limit_enabled? && remaining_votes_count_for(current_user) == 0 %>
|
17
|
+
<%= action_authorized_button_to :vote, t('.no_votes_remaining'), proposal_proposal_vote_path(proposal_id: proposal, from_proposals_list: from_proposals_list), remote: true, data: { disable: true }, class: "card__button button #{vote_button_classes(from_proposals_list)}", disabled: true %>
|
18
|
+
<% elsif current_settings.votes_blocked? %>
|
19
|
+
<button class="card__button button <%= vote_button_classes(from_proposals_list) %> disabled">
|
20
|
+
<%= t('.votes_blocked') %>
|
21
|
+
</button>
|
22
|
+
<% else %>
|
23
|
+
<%= action_authorized_button_to "vote", t('.vote'), proposal_proposal_vote_path(proposal_id: proposal, from_proposals_list: from_proposals_list), remote: true, data: { disable: true }, class: "card__button button #{vote_button_classes(from_proposals_list)}" %>
|
24
|
+
<% end %>
|
19
25
|
<% end %>
|
20
26
|
<% end %>
|
21
|
-
|
22
|
-
<button class="card__button button <%= vote_button_classes(from_proposals_list) %>" data-toggle="loginModal">
|
23
|
-
<%= t('.vote') %>
|
24
|
-
</button>
|
25
|
-
<% end %>
|
27
|
+
</div>
|
@@ -1,6 +1,9 @@
|
|
1
|
-
<
|
2
|
-
<%=
|
3
|
-
|
4
|
-
|
5
|
-
<%=
|
6
|
-
|
1
|
+
<div id="proposal-<%= proposal.id %>-votes-count" class="card__support__data">
|
2
|
+
<span class="<%= votes_count_classes(from_proposals_list)[:number] %>">
|
3
|
+
<%= proposal.proposal_votes_count %>
|
4
|
+
</span>
|
5
|
+
<span class="<%= votes_count_classes(from_proposals_list)[:label] %>">
|
6
|
+
<%= t('.count', count: proposal.proposal_votes_count) %>
|
7
|
+
</span>
|
8
|
+
|
9
|
+
</div>
|
@@ -10,9 +10,7 @@
|
|
10
10
|
<div class="card card--nomargin text-center">
|
11
11
|
<div class="card__content">
|
12
12
|
<span class="definition-data__title"><%= t('.vote_limit.left', limit: feature_settings.vote_limit) %></span>
|
13
|
-
|
14
|
-
<%= render partial: "remaining_votes_count" %>
|
15
|
-
</span>
|
13
|
+
<%= render partial: "remaining_votes_count" %>
|
16
14
|
<span class="extra__suport-text"><%= t('.vote_limit.votes') %></span>
|
17
15
|
</div>
|
18
16
|
</div>
|
@@ -4,8 +4,8 @@
|
|
4
4
|
<h2 id="proposals-count" class="title-action__title section-heading">
|
5
5
|
<%= render partial: "count" %>
|
6
6
|
</h2>
|
7
|
-
<% if
|
8
|
-
<%=
|
7
|
+
<% if current_settings.creation_enabled %>
|
8
|
+
<%= action_authorized_link_to :create, new_proposal_path, class: "title-action__action button small hollow" do %>
|
9
9
|
<%= t(".new_proposal") %>
|
10
10
|
<%= icon "plus" %>
|
11
11
|
<% end %>
|
@@ -30,4 +30,4 @@
|
|
30
30
|
</div>
|
31
31
|
|
32
32
|
<%= javascript_include_tag("decidim/filters") %>
|
33
|
-
<%=
|
33
|
+
<%= javascript_include_tag "decidim/orders" %>
|
@@ -1,5 +1,10 @@
|
|
1
1
|
var $proposals = $('#proposals');
|
2
2
|
var $proposalsCount = $('#proposals-count');
|
3
|
+
var $orderFilterInput = $('.order_filter');
|
3
4
|
|
4
5
|
$proposals.html('<%= j(render partial: "proposals") %>');
|
5
|
-
$proposalsCount.html('<%= j(render partial: "count") %>');
|
6
|
+
$proposalsCount.html('<%= j(render partial: "count") %>');
|
7
|
+
$orderFilterInput.val('<%= order %>');
|
8
|
+
|
9
|
+
var $dropdownMenu = $('.dropdown.menu:last');
|
10
|
+
$dropdownMenu.foundation();
|
@@ -9,7 +9,7 @@
|
|
9
9
|
<div class="columns large-6 medium-centered">
|
10
10
|
<div class="card">
|
11
11
|
<div class="card__content">
|
12
|
-
<%=
|
12
|
+
<%= decidim_form_for(@form) do |form| %>
|
13
13
|
<div class="field">
|
14
14
|
<%= form.text_field :title %>
|
15
15
|
</div>
|
@@ -24,7 +24,7 @@
|
|
24
24
|
</div>
|
25
25
|
<% end %>
|
26
26
|
|
27
|
-
<% if @form.scopes&.any? %>
|
27
|
+
<% if @form.scopes&.any? && feature_settings.scoped_proposals_enabled %>
|
28
28
|
<div class="field">
|
29
29
|
<%= form.select :scope_id, @form.scopes.map{|s| [s.name, s.id]}, prompt: t(".select_a_scope") %>
|
30
30
|
</div>
|
@@ -1,7 +1,8 @@
|
|
1
|
-
<%
|
2
|
-
|
3
|
-
|
4
|
-
|
1
|
+
<% add_decidim_meta_tags({
|
2
|
+
description: @proposal.body,
|
3
|
+
title: @proposal.title,
|
4
|
+
url: proposal_url(@proposal.id)
|
5
|
+
}) %>
|
5
6
|
|
6
7
|
<%= render partial: "votes_limit" %>
|
7
8
|
<div class="row column view-header">
|
@@ -34,30 +35,30 @@
|
|
34
35
|
</div>
|
35
36
|
</div>
|
36
37
|
<% end %>
|
37
|
-
<%= render partial: "
|
38
|
+
<%= render partial: "decidim/shared/share_modal" %>
|
38
39
|
</div>
|
39
40
|
<div class="columns mediumlarge-8 mediumlarge-pull-4">
|
40
41
|
<div class="section">
|
41
42
|
<%= render partial: "proposal_badge", locals: { proposal: @proposal } %>
|
42
43
|
<p><%= @proposal.body %></p>
|
43
|
-
|
44
|
-
<ul class="tags tags--proposal">
|
45
|
-
<% if @proposal.category %>
|
46
|
-
<li><a href=""><%= translated_attribute(@proposal.category.name) %></a></li>
|
47
|
-
<% end %>
|
48
|
-
<% if @proposal.scope %>
|
49
|
-
<li><a href=""><%= @proposal.scope.name %></a></li>
|
50
|
-
<% end %>
|
51
|
-
</ul>
|
52
|
-
<% end %>
|
44
|
+
<%= render partial: "tags", locals: { proposal: @proposal } %>
|
53
45
|
</div>
|
54
|
-
<% if @proposal.
|
55
|
-
|
56
|
-
<div class="
|
57
|
-
<
|
58
|
-
|
46
|
+
<% if @proposal.answered? && translated_attribute(@proposal.answer).present? %>
|
47
|
+
<% if @proposal.accepted? %>
|
48
|
+
<div class="section">
|
49
|
+
<div class="callout success">
|
50
|
+
<h5><%= t(".proposal_accepted_reason") %></h5>
|
51
|
+
<p><%= translated_attribute @proposal.answer %></p>
|
52
|
+
</div>
|
59
53
|
</div>
|
60
|
-
|
54
|
+
<% else %>
|
55
|
+
<div class="section">
|
56
|
+
<div class="callout warning">
|
57
|
+
<h5><%= t(".proposal_rejected_reason") %></h5>
|
58
|
+
<p><%= translated_attribute @proposal.answer %></p>
|
59
|
+
</div>
|
60
|
+
</div>
|
61
|
+
<% end %>
|
61
62
|
<% end %>
|
62
63
|
<%= linked_resources_for @proposal, :results, "included_proposals" %>
|
63
64
|
<%= linked_resources_for @proposal, :projects, "included_proposals" %>
|
@@ -65,13 +66,7 @@
|
|
65
66
|
</div>
|
66
67
|
</div>
|
67
68
|
|
68
|
-
<%=
|
69
|
-
<% if feature_settings.comments_always_enabled || current_settings.comments_enabled %>
|
70
|
-
<%= comments_for @proposal, arguable: true, votable: true %>
|
71
|
-
<% end %>
|
72
|
-
<% end %>
|
73
|
-
|
74
|
-
<%= render partial: "decidim/shared/login_modal" %>
|
69
|
+
<%= comments_for @proposal %>
|
75
70
|
|
76
71
|
<%= javascript_include_tag "decidim/proposals/social_share" %>
|
77
72
|
<%= stylesheet_link_tag "decidim/proposals/social_share" %>
|
data/config/i18n-tasks.yml
CHANGED
data/config/locales/ca.yml
CHANGED
@@ -10,12 +10,23 @@ ca:
|
|
10
10
|
decidim:
|
11
11
|
features:
|
12
12
|
proposals:
|
13
|
+
actions:
|
14
|
+
create: Crear propostes
|
15
|
+
vote: Votar
|
13
16
|
name: Propostes
|
14
17
|
settings:
|
18
|
+
global:
|
19
|
+
comments_enabled: Comentaris habilitats
|
20
|
+
official_proposals_enabled: Propostes oficials habilitades
|
21
|
+
proposal_answering_enabled: Resposta oficial a propostes activades
|
22
|
+
scoped_proposals_enabled: Propostes amb àmbits
|
23
|
+
vote_limit: Límit de vot
|
15
24
|
step:
|
25
|
+
comments_blocked: Comentaris bloquejats
|
16
26
|
creation_enabled: Habilitar de creació de propostes
|
17
|
-
|
18
|
-
|
27
|
+
proposal_answering_enabled: Resposta oficial a propostes activades
|
28
|
+
votes_blocked: Suports bloquejats
|
29
|
+
votes_enabled: Suports habilitats
|
19
30
|
proposals:
|
20
31
|
actions:
|
21
32
|
answer: Respondre
|
@@ -75,6 +86,8 @@ ca:
|
|
75
86
|
official: Oficial
|
76
87
|
origin: Origen
|
77
88
|
rejected: Rebutjades
|
89
|
+
related_to: Relacionat amb
|
90
|
+
scopes: Àmbits
|
78
91
|
search: Cerca
|
79
92
|
state: Estat
|
80
93
|
voted: Votat
|
@@ -87,37 +100,39 @@ ca:
|
|
87
100
|
new_proposal: Nova proposta
|
88
101
|
linked_proposals:
|
89
102
|
proposal_votes:
|
90
|
-
one: <span class="card--list__data__number">1</span>
|
91
|
-
other: <span class="card--list__data__number">%{count}</span>
|
103
|
+
one: <span class="card--list__data__number">1</span>suport
|
104
|
+
other: <span class="card--list__data__number">%{count}</span>suports
|
92
105
|
new:
|
93
106
|
back: Enrere
|
94
107
|
select_a_category: Si us plau, seleccioni una categoria
|
95
108
|
select_a_scope: Si us plau, seleccioni un àmbit
|
96
109
|
send: Enviar
|
97
110
|
title: Nova proposta
|
111
|
+
orders:
|
112
|
+
label: 'Ordenar propostes per:'
|
113
|
+
most_voted: Més votat
|
114
|
+
random: Aleatori
|
115
|
+
recent: Recent
|
98
116
|
proposal:
|
99
117
|
view_proposal: Veure proposta
|
100
|
-
share:
|
101
|
-
close_window: Tanca la finestra
|
102
|
-
share: Compartir
|
103
|
-
share_link: Comparteix l'enllaç
|
104
118
|
show:
|
119
|
+
proposal_accepted_reason: 'Aquesta proposta ha estat acceptada perquè:'
|
105
120
|
proposal_rejected_reason: 'Aquesta proposta ha estat rebutjada perquè:'
|
106
121
|
vote_button:
|
107
122
|
already_voted: Ja has votat
|
108
|
-
no_votes_remaining: No hi ha
|
123
|
+
no_votes_remaining: No hi ha suports restants
|
109
124
|
vote: Votar
|
110
|
-
votes_blocked:
|
125
|
+
votes_blocked: Recollida de suports desactivada
|
111
126
|
votes_count:
|
112
127
|
count:
|
113
|
-
one:
|
114
|
-
other:
|
128
|
+
one: SUPORT
|
129
|
+
other: SUPORTS
|
115
130
|
votes_limit:
|
116
131
|
vote_limit:
|
117
|
-
description: En lloc de
|
132
|
+
description: En lloc de donar suport a tantes propostes com es vulgui, només es pot donar suport fins a un màxim de %{limit} propostes.
|
118
133
|
left: Restant
|
119
|
-
title: Té %{limit}
|
120
|
-
votes:
|
134
|
+
title: Té %{limit} suports a distribuir
|
135
|
+
votes: Suports
|
121
136
|
resource_links:
|
122
137
|
included_proposals:
|
123
138
|
results: 'La proposta apareix en aquests resultats:'
|
data/config/locales/en.yml
CHANGED
@@ -11,10 +11,21 @@ en:
|
|
11
11
|
decidim:
|
12
12
|
features:
|
13
13
|
proposals:
|
14
|
+
actions:
|
15
|
+
create: Create proposals
|
16
|
+
vote: Vote
|
14
17
|
name: Proposals
|
15
18
|
settings:
|
19
|
+
global:
|
20
|
+
comments_enabled: Comments enabled
|
21
|
+
official_proposals_enabled: Official proposals enabled
|
22
|
+
proposal_answering_enabled: Proposal answering enabled
|
23
|
+
scoped_proposals_enabled: Scoped proposals enabled
|
24
|
+
vote_limit: Vote limit
|
16
25
|
step:
|
26
|
+
comments_blocked: Comments blocked
|
17
27
|
creation_enabled: Proposal creation enabled
|
28
|
+
proposal_answering_enabled: Proposal answering enabled
|
18
29
|
votes_blocked: Votes blocked
|
19
30
|
votes_enabled: Votes enabled
|
20
31
|
proposals:
|
@@ -76,6 +87,8 @@ en:
|
|
76
87
|
official: Official
|
77
88
|
origin: Origin
|
78
89
|
rejected: Rejected
|
90
|
+
related_to: Related to
|
91
|
+
scopes: Scopes
|
79
92
|
search: Search
|
80
93
|
state: State
|
81
94
|
voted: Voted
|
@@ -96,13 +109,15 @@ en:
|
|
96
109
|
select_a_scope: Please select a scope
|
97
110
|
send: Send
|
98
111
|
title: New proposal
|
112
|
+
orders:
|
113
|
+
label: 'Order proposals by:'
|
114
|
+
most_voted: Most voted
|
115
|
+
random: Random
|
116
|
+
recent: Recent
|
99
117
|
proposal:
|
100
118
|
view_proposal: View proposal
|
101
|
-
share:
|
102
|
-
close_window: Close window
|
103
|
-
share: Share
|
104
|
-
share_link: Share link
|
105
119
|
show:
|
120
|
+
proposal_accepted_reason: 'This proposal has been accepted because:'
|
106
121
|
proposal_rejected_reason: 'This proposal has been rejected because:'
|
107
122
|
vote_button:
|
108
123
|
already_voted: Already voted
|