decidim-proposals 0.0.3 → 0.0.5
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.
- 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
|