decidim-consultations 0.14.4 → 0.15.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (44) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/images/decidim/consultations/icon.svg +2 -69
  3. data/app/cells/decidim/consultation_activity_cell.rb +10 -0
  4. data/app/cells/decidim/consultations/content_blocks/highlighted_consultations/show.erb +32 -0
  5. data/app/cells/decidim/consultations/content_blocks/highlighted_consultations_cell.rb +41 -0
  6. data/app/cells/decidim/consultations/content_blocks/highlighted_consultations_settings_form/show.erb +3 -0
  7. data/app/cells/decidim/consultations/content_blocks/highlighted_consultations_settings_form_cell.rb +19 -0
  8. data/app/cells/decidim/consultations/question_activity_cell.rb +15 -0
  9. data/app/commands/decidim/consultations/admin/publish_consultation.rb +8 -3
  10. data/app/commands/decidim/consultations/admin/publish_question.rb +7 -2
  11. data/app/controllers/decidim/consultations/admin/consultation_publications_controller.rb +1 -1
  12. data/app/controllers/decidim/consultations/admin/question_publications_controller.rb +1 -1
  13. data/app/forms/decidim/consultations/admin/consultation_form.rb +2 -2
  14. data/app/models/decidim/consultation.rb +3 -0
  15. data/app/models/decidim/consultations/question.rb +5 -0
  16. data/app/models/decidim/consultations/vote.rb +10 -1
  17. data/app/views/layouts/decidim/admin/consultation.html.erb +1 -0
  18. data/app/views/layouts/decidim/admin/question.html.erb +1 -0
  19. data/config/locales/ca.yml +19 -0
  20. data/config/locales/de.yml +19 -0
  21. data/config/locales/en.yml +19 -0
  22. data/config/locales/es-PY.yml +19 -0
  23. data/config/locales/es.yml +19 -0
  24. data/config/locales/eu.yml +19 -0
  25. data/config/locales/fi.yml +19 -0
  26. data/config/locales/fr.yml +19 -0
  27. data/config/locales/gl.yml +19 -0
  28. data/config/locales/hu.yml +19 -0
  29. data/config/locales/it.yml +19 -0
  30. data/config/locales/nl.yml +19 -0
  31. data/config/locales/pl.yml +21 -0
  32. data/config/locales/pt-BR.yml +19 -0
  33. data/config/locales/pt.yml +19 -0
  34. data/config/locales/ru.yml +4 -0
  35. data/config/locales/sv.yml +19 -0
  36. data/config/locales/uk.yml +4 -0
  37. data/db/migrate/20181003082318_fix_user_groups_ids_on_consultations.rb +16 -0
  38. data/db/seeds/city.jpeg +0 -0
  39. data/db/seeds/city2.jpeg +0 -0
  40. data/lib/decidim/consultations/engine.rb +12 -0
  41. data/lib/decidim/consultations/participatory_space.rb +46 -10
  42. data/lib/decidim/consultations/test/factories.rb +10 -10
  43. data/lib/decidim/consultations/version.rb +1 -1
  44. metadata +18 -11
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 22023d3dd925c9ee140ec48df9f3393f7884b3916471a3d42f11ab0c84c62c7c
4
- data.tar.gz: be647baca292748c73e432eac8e5972304576748625ae419a7ddc625aad0d5b7
3
+ metadata.gz: 316c2f977806a9491d07ae334279f1364fd730caf0e34940282f99319be63d6f
4
+ data.tar.gz: 2d7acafcd6bc46844f3c6e7a0f3278c5466b908252e08b7151d00d51f3eb5e9d
5
5
  SHA512:
6
- metadata.gz: 351890591a536581f3a78c5c9c60369a460c304de996dea2a7f9cb84597f1e8eedf0ffc81c7ec8ab39458585cd427d4c112837de9ed9ecd1851978396eb92db1
7
- data.tar.gz: 23a6550bf5931302fd9031cc1d7a7e59c6f22da1be8d12048c5079888880e3c03e6fc47b6999f9d16bb7bd68eaa3033c159423af4b23cb00f1edc53b0e72795b
6
+ metadata.gz: f24eda8ba492af7c1bfb6d750faeffa159024c6292ec37735f665b5fd5f3e7aa4df64485421d62ead1e050c683fd579384105370813e938618a00f75da0e4307
7
+ data.tar.gz: 2711d639a9b337f5ce21f011736b47a5958fbf1198f94772aac9b8fcf35475d122c3b5e505c37bd68f25a06894162b400d3fa5e8d7e7b340f808e1ae01e07300
@@ -1,70 +1,3 @@
1
- <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
- <svg
3
- xmlns:dc="http://purl.org/dc/elements/1.1/"
4
- xmlns:cc="http://creativecommons.org/ns#"
5
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
6
- xmlns:svg="http://www.w3.org/2000/svg"
7
- xmlns="http://www.w3.org/2000/svg"
8
- version="1.1"
9
- id="svg2"
10
- viewBox="0 0 121.08785 121.08785"
11
- height="34.173683mm"
12
- width="34.173683mm">
13
- <defs
14
- id="defs4" />
15
- <metadata
16
- id="metadata7">
17
- <rdf:RDF>
18
- <cc:Work
19
- rdf:about="">
20
- <dc:format>image/svg+xml</dc:format>
21
- <dc:type
22
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
23
- <dc:title></dc:title>
24
- </cc:Work>
25
- </rdf:RDF>
26
- </metadata>
27
- <g
28
- transform="translate(-31.864728,-35.267277)"
29
- id="layer1">
30
- <circle
31
- r="59.093925"
32
- cy="95.811203"
33
- cx="92.408653"
34
- id="path4136"
35
- style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:2.9000001;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
36
- <rect
37
- ry="0"
38
- y="69.37056"
39
- x="60.79406"
40
- height="22.358257"
41
- width="22.358257"
42
- id="rect4138"
43
- style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:3.63098097;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
44
- <rect
45
- style="opacity:1;fill:none;fill-opacity:1;stroke:#000000;stroke-width:3.63100004;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
46
- id="rect4140"
47
- width="22.358257"
48
- height="22.358257"
49
- x="60.79406"
50
- y="101.92418"
51
- ry="0" />
52
- <path
53
- id="path4142"
54
- d="m 94.357143,79.43363 35.393037,0"
55
- style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
56
- <path
57
- style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
58
- d="m 94.357143,113.43363 35.393037,0"
59
- id="path4150" />
60
- <text
61
- id="text4154"
62
- y="94.698593"
63
- x="59.623905"
64
- style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:41.11339951px;line-height:125%;font-family:OpenSymbol;-inkscape-font-specification:OpenSymbol;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
65
- xml:space="preserve"><tspan
66
- y="94.698593"
67
- x="59.623905"
68
- id="tspan4156">&#x2714;</tspan></text>
69
- </g>
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 34 34">
2
+ <path d="M17 1.889C8.654 1.889 1.889 8.654 1.889 17S8.654 32.111 17 32.111 32.111 25.346 32.111 17 25.346 1.889 17 1.889zM17 0c9.389 0 17 7.611 17 17s-7.611 17-17 17S0 26.389 0 17 7.611 0 17 0zm-2.327 14.005c.026-1.153.867-2.08 2.024-2.099h.137c1.901.032 2.584 2.347 1.065 3.915-.12.123-.951.935-1.16 1.17-.688.776-.982 1.563-.982 2.793a.944.944 0 1 0 1.89 0c0-.772.126-1.113.505-1.54.155-.174.942-.942 1.104-1.11 2.59-2.672 1.298-7.055-2.406-7.116h-.168c-2.232.036-3.85 1.817-3.898 3.945a.944.944 0 1 0 1.889.042zm2.029 10.327a1.168 1.168 0 1 0 0-2.336 1.168 1.168 0 0 0 0 2.336zm0-.945a.224.224 0 1 1 0-.447.224.224 0 0 1 0 .447z"/>
70
3
  </svg>
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Decidim
4
+ # A cell to display when a Consultation has been published.
5
+ class ConsultationActivityCell < ActivityCell
6
+ def title
7
+ I18n.t "decidim.consultations.last_activity.new_consultation"
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,32 @@
1
+ <section class="wrapper-home home-section">
2
+ <div class="row" id="highlighted-consultations">
3
+ <h3 class="section-heading"><%= t("active_consultations", scope: i18n_scope) %></h3>
4
+ <div class="row collapse">
5
+ <div class="row small-up-1 smallmedium-up-2 mediumlarge-up-3
6
+ large-up-4 card-grid">
7
+ <% highlighted_consultations.each do |consultation| %>
8
+ <div class="column">
9
+ <article class="card card--consultation card--mini">
10
+ <%= link_to decidim_consultations.consultation_path(consultation), class: "card__link" do %>
11
+ <div class="card__image-top"
12
+ style="background-image:url(<%= consultation.banner_image.url %>)"></div>
13
+ <% end %>
14
+ <div class="card__content">
15
+ <%= link_to decidim_consultations.consultation_path(consultation), class: "card__link" do %>
16
+ <h4 class="card__title"><%= translated_attribute consultation.title %></h4>
17
+ <% end %>
18
+ <span class="card--process__small"><%= voting_ends_text_for(consultation) %></span>
19
+ </div>
20
+ </article>
21
+ </div>
22
+ <% end %>
23
+ </div>
24
+ </div>
25
+ </div>
26
+ <div class="row" id="see-all-consultations">
27
+ <div class="columns small-centered small-12
28
+ smallmedium-8 medium-6 large-4">
29
+ <%= link_to t("see_all_consultations", scope: i18n_scope), decidim_consultations.consultations_path, class: "button expanded hollow button--sc home-section__cta" %>
30
+ </div>
31
+ </div>
32
+ </section>
@@ -0,0 +1,41 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Decidim
4
+ module Consultations
5
+ module ContentBlocks
6
+ class HighlightedConsultationsCell < Decidim::ViewModel
7
+ delegate :current_organization, to: :controller
8
+ delegate :current_user, to: :controller
9
+
10
+ def show
11
+ render if highlighted_consultations.any?
12
+ end
13
+
14
+ def max_results
15
+ model.settings.max_results
16
+ end
17
+
18
+ def highlighted_consultations
19
+ @highlighted_consultations ||= OrganizationActiveConsultations
20
+ .new(current_organization)
21
+ .query
22
+ .limit(max_results)
23
+ end
24
+
25
+ def i18n_scope
26
+ "decidim.consultations.pages.home.highlighted_consultations"
27
+ end
28
+
29
+ def decidim_consultations
30
+ Decidim::Consultations::Engine.routes.url_helpers
31
+ end
32
+
33
+ def voting_ends_text_for(consultation)
34
+ remaining_days = (consultation.end_voting_date - Time.zone.today).to_i
35
+ return I18n.t("voting_ends_today", scope: i18n_scope) if remaining_days.zero?
36
+ I18n.t("voting_ends_in", scope: i18n_scope, count: remaining_days)
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,3 @@
1
+ <% form.fields_for :settings, form.object.settings do |settings_fields| %>
2
+ <%= settings_fields.select :max_results, [4, 8, 12], prompt: "", label: label %>
3
+ <% end %>
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Decidim
4
+ module Consultations
5
+ module ContentBlocks
6
+ class HighlightedConsultationsSettingsFormCell < Decidim::ViewModel
7
+ alias form model
8
+
9
+ def content_block
10
+ options[:content_block]
11
+ end
12
+
13
+ def label
14
+ I18n.t("decidim.consultations.admin.content_blocks.highlighted_consultations.max_results")
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Decidim
4
+ module Consultations
5
+ # A cell to display when a Question in a consultation has been published.
6
+ class QuestionActivityCell < ActivityCell
7
+ def title
8
+ I18n.t(
9
+ "decidim.consultations.last_activity.new_question_at_html",
10
+ link: participatory_space_link
11
+ )
12
+ end
13
+ end
14
+ end
15
+ end
@@ -8,8 +8,10 @@ module Decidim
8
8
  # Public: Initializes the command.
9
9
  #
10
10
  # consultation - A Consultation that will be published
11
- def initialize(consultation)
11
+ # current_user - the user performing the action
12
+ def initialize(consultation, current_user)
12
13
  @consultation = consultation
14
+ @current_user = current_user
13
15
  end
14
16
 
15
17
  # Executes the command. Broadcasts these events:
@@ -21,13 +23,16 @@ module Decidim
21
23
  def call
22
24
  return broadcast(:invalid) if consultation.nil? || consultation.published?
23
25
 
24
- consultation.publish!
26
+ Decidim.traceability.perform_action!("publish", consultation, current_user, visibility: "all") do
27
+ consultation.publish!
28
+ end
29
+
25
30
  broadcast(:ok)
26
31
  end
27
32
 
28
33
  private
29
34
 
30
- attr_reader :consultation
35
+ attr_reader :consultation, :current_user
31
36
  end
32
37
  end
33
38
  end
@@ -8,8 +8,10 @@ module Decidim
8
8
  # Public: Initializes the command.
9
9
  #
10
10
  # question - A Question that will be published
11
- def initialize(question)
11
+ # current_user - the user performing the action
12
+ def initialize(question, current_user)
12
13
  @question = question
14
+ @current_user = current_user
13
15
  end
14
16
 
15
17
  # Executes the command. Broadcasts these events:
@@ -21,7 +23,10 @@ module Decidim
21
23
  def call
22
24
  return broadcast(:invalid) if question.nil? || question.published?
23
25
 
24
- question.publish!
26
+ Decidim.traceability.perform_action!("publish", question, @current_user, visibility: "all") do
27
+ question.publish!
28
+ end
29
+
25
30
  broadcast(:ok)
26
31
  end
27
32
 
@@ -10,7 +10,7 @@ module Decidim
10
10
  def create
11
11
  enforce_permission_to :publish, :consultation, consultation: current_consultation
12
12
 
13
- PublishConsultation.call(current_consultation) do
13
+ PublishConsultation.call(current_consultation, current_user) do
14
14
  on(:ok) do
15
15
  flash[:notice] = I18n.t("consultation_publications.create.success", scope: "decidim.admin")
16
16
  end
@@ -10,7 +10,7 @@ module Decidim
10
10
  def create
11
11
  enforce_permission_to :publish, :question, question: current_question
12
12
 
13
- PublishQuestion.call(current_question) do
13
+ PublishQuestion.call(current_question, current_user) do
14
14
  on(:ok) do
15
15
  flash[:notice] = I18n.t("question_publications.create.success", scope: "decidim.admin")
16
16
  end
@@ -19,8 +19,8 @@ module Decidim
19
19
  attribute :introductory_image, String
20
20
  attribute :remove_introductory_image
21
21
  attribute :decidim_highlighted_scope_id, Integer
22
- attribute :start_voting_date, Date
23
- attribute :end_voting_date, Date
22
+ attribute :start_voting_date, Decidim::Attributes::LocalizedDate
23
+ attribute :end_voting_date, Decidim::Attributes::LocalizedDate
24
24
 
25
25
  validates :slug, presence: true, format: { with: Decidim::Consultation.slug_format }
26
26
  validates :title, :subtitle, :description, translatable_presence: true
@@ -7,6 +7,9 @@ module Decidim
7
7
  include Decidim::Publicable
8
8
  include Decidim::Resourceable
9
9
  include Decidim::Consultations::PublicableResults
10
+ include Decidim::Traceable
11
+ include Decidim::Loggable
12
+ include Decidim::ParticipatorySpaceResourceable
10
13
 
11
14
  belongs_to :organization,
12
15
  foreign_key: "decidim_organization_id",
@@ -11,6 +11,9 @@ module Decidim
11
11
  include Decidim::Followable
12
12
  include Decidim::HasAttachments
13
13
  include Decidim::HasAttachmentCollections
14
+ include Decidim::Traceable
15
+ include Decidim::Loggable
16
+ include Decidim::ParticipatorySpaceResourceable
14
17
 
15
18
  belongs_to :consultation,
16
19
  foreign_key: "decidim_consultation_id",
@@ -49,6 +52,8 @@ module Decidim
49
52
  delegate :end_voting_date, to: :consultation
50
53
  delegate :results_published?, to: :consultation
51
54
 
55
+ alias participatory_space consultation
56
+
52
57
  # Sorted results for the given question.
53
58
  def sorted_results
54
59
  responses.order(votes_count: :desc)
@@ -4,7 +4,7 @@ module Decidim
4
4
  module Consultations
5
5
  # The data store for question's votes in the Decidim::Consultations component.
6
6
  class Vote < ApplicationRecord
7
- include Authorable
7
+ belongs_to :author, foreign_key: "decidim_author_id", class_name: "Decidim::User"
8
8
 
9
9
  belongs_to :question,
10
10
  foreign_key: "decidim_consultation_question_id",
@@ -19,8 +19,17 @@ module Decidim
19
19
  counter_cache: :votes_count
20
20
 
21
21
  validates :author, uniqueness: { scope: [:decidim_user_group_id, :question] }
22
+ validate :author_and_question_same_organization
22
23
 
23
24
  delegate :organization, to: :question
25
+
26
+ private
27
+
28
+ # Private: check if the question and the author have the same organization
29
+ def author_and_question_same_organization
30
+ return if !question || !author
31
+ errors.add(:question, :invalid) unless author.organization == question.organization
32
+ end
24
33
  end
25
34
  end
26
35
  end
@@ -1,6 +1,7 @@
1
1
  <% content_for :secondary_nav do %>
2
2
  <div class="secondary-nav secondary-nav--subnav">
3
3
  <ul>
4
+ <%= public_page_link decidim_consultations.consultation_path(current_consultation) %>
4
5
  <% if allowed_to? :update, :consultation, consultation: current_consultation %>
5
6
  <li <% if is_active_link?(decidim_admin_consultations.edit_consultation_path(current_consultation)) %> class="is-active" <% end %>>
6
7
  <%= aria_selected_link_to t("info", scope: "decidim.admin.menu.consultations_submenu"),
@@ -1,6 +1,7 @@
1
1
  <% content_for :secondary_nav do %>
2
2
  <div class="secondary-nav secondary-nav--subnav">
3
3
  <ul>
4
+ <%= public_page_link decidim_consultations.consultation_path(current_participatory_space.consultation) %>
4
5
  <% if allowed_to?(:update, :consultation, consultation: current_participatory_space.consultation) %>
5
6
  <li <% if is_active_link?(decidim_admin_consultations.edit_consultation_path(current_participatory_space.consultation)) %> class="is-active" <% end %>>
6
7
  <%= aria_selected_link_to t("consultation", scope: "decidim.admin.menu.questions_submenu"),
@@ -174,6 +174,10 @@ ca:
174
174
  questions: Preguntes
175
175
  responses: Respostes
176
176
  consultations:
177
+ admin:
178
+ content_blocks:
179
+ highlighted_consultations:
180
+ max_results: Quantitat màxima d'elements que es mostraran
177
181
  consultation:
178
182
  start_voting_date: Comença la votació
179
183
  view_results: Veure resultats
@@ -184,6 +188,9 @@ ca:
184
188
  label: 'Ordena les consultes per:'
185
189
  random: Aleatori
186
190
  recent: Més recent
191
+ content_blocks:
192
+ highlighted_consultations:
193
+ name: Consultes destacades
187
194
  count:
188
195
  title:
189
196
  one: "%{count} consulta"
@@ -204,6 +211,18 @@ ca:
204
211
  title: Preguntes de %{scope_name}
205
212
  index:
206
213
  title: Consultes
214
+ last_activity:
215
+ new_consultation: Nova consulta
216
+ new_question_at_html: "<span>Nova pregunta a %{link}</span>"
217
+ pages:
218
+ home:
219
+ highlighted_consultations:
220
+ active_consultations: Consultes actives
221
+ see_all_consultations: Veure totes les consultes
222
+ voting_ends_in:
223
+ one: La votació finalitza <strong>demà</strong>
224
+ other: La votació finalitza en <strong>%{count} dies</strong>
225
+ voting_ends_today: La votació acaba <strong>avui</strong>
207
226
  question:
208
227
  take_part: Participar
209
228
  view_results: Veure resultats
@@ -174,6 +174,10 @@ de:
174
174
  questions: Fragen
175
175
  responses: Antworten
176
176
  consultations:
177
+ admin:
178
+ content_blocks:
179
+ highlighted_consultations:
180
+ max_results: Maximale Anzahl der Elemente, die angezeigt werden sollen
177
181
  consultation:
178
182
  start_voting_date: Die Abstimmung beginnt
179
183
  view_results: Ergebnisse anzeigen
@@ -184,6 +188,9 @@ de:
184
188
  label: 'Sortieren Sie die Konsultationen nach:'
185
189
  random: Zufällig
186
190
  recent: Neueste
191
+ content_blocks:
192
+ highlighted_consultations:
193
+ name: Hervorgehobene Konsultationen
187
194
  count:
188
195
  title:
189
196
  one: "%{count} Beratung"
@@ -204,6 +211,18 @@ de:
204
211
  title: Fragen von %{scope_name}
205
212
  index:
206
213
  title: Konsultationen
214
+ last_activity:
215
+ new_consultation: Neue Konsultation
216
+ new_question_at_html: "<span>Neue Frage bei %{link}</span>"
217
+ pages:
218
+ home:
219
+ highlighted_consultations:
220
+ active_consultations: Aktive Beratungen
221
+ see_all_consultations: Sehen Sie alle Konsultationen
222
+ voting_ends_in:
223
+ one: Die Abstimmung endet <strong>morgen</strong>
224
+ other: Die Abstimmung endet in <strong>%{count} Tagen</strong>
225
+ voting_ends_today: Die Abstimmung endet <strong>heute</strong>
207
226
  question:
208
227
  take_part: Teilnehmen
209
228
  view_results: Ergebnisse anzeigen
@@ -175,6 +175,10 @@ en:
175
175
  questions: Questions
176
176
  responses: Responses
177
177
  consultations:
178
+ admin:
179
+ content_blocks:
180
+ highlighted_consultations:
181
+ max_results: Maximum amount of elements to show
178
182
  consultation:
179
183
  start_voting_date: Voting begins
180
184
  view_results: View results
@@ -185,6 +189,9 @@ en:
185
189
  label: 'Sort consultations by:'
186
190
  random: Random
187
191
  recent: Most recent
192
+ content_blocks:
193
+ highlighted_consultations:
194
+ name: Highlighted consultations
188
195
  count:
189
196
  title:
190
197
  one: "%{count} consultation"
@@ -205,6 +212,18 @@ en:
205
212
  title: Questions from %{scope_name}
206
213
  index:
207
214
  title: Consultations
215
+ last_activity:
216
+ new_consultation: New consultation
217
+ new_question_at_html: "<span>New question at %{link}</span>"
218
+ pages:
219
+ home:
220
+ highlighted_consultations:
221
+ active_consultations: Active consultations
222
+ see_all_consultations: See all consultations
223
+ voting_ends_in:
224
+ one: Voting ends <strong>tomorrow</strong>
225
+ other: Voting ends in <strong>%{count} days</strong>
226
+ voting_ends_today: Voting ends <strong>today</strong>
208
227
  question:
209
228
  take_part: Take part
210
229
  view_results: View results
@@ -174,6 +174,10 @@ es-PY:
174
174
  questions: Preguntas
175
175
  responses: Respuestas
176
176
  consultations:
177
+ admin:
178
+ content_blocks:
179
+ highlighted_consultations:
180
+ max_results: Cantidad máxima de elementos para mostrar
177
181
  consultation:
178
182
  start_voting_date: Empieza la votación
179
183
  view_results: Ver resultados
@@ -184,6 +188,9 @@ es-PY:
184
188
  label: 'Ordenar consultas por:'
185
189
  random: Aleatorio
186
190
  recent: Más reciente
191
+ content_blocks:
192
+ highlighted_consultations:
193
+ name: Consultas destacadas
187
194
  count:
188
195
  title:
189
196
  one: "%{count} consulta"
@@ -204,6 +211,18 @@ es-PY:
204
211
  title: Preguntas de %{scope_name}
205
212
  index:
206
213
  title: Consultas
214
+ last_activity:
215
+ new_consultation: Nueva consulta
216
+ new_question_at_html: "<span>Nueva pregunta en %{link}</span>"
217
+ pages:
218
+ home:
219
+ highlighted_consultations:
220
+ active_consultations: Consultas activas
221
+ see_all_consultations: Ver todas las consultas
222
+ voting_ends_in:
223
+ one: La votación termina <strong>mañana</strong>
224
+ other: La votación termina en <strong>%{count} días</strong>
225
+ voting_ends_today: La votación finaliza hoy <strong></strong>
207
226
  question:
208
227
  take_part: Participar
209
228
  view_results: Ver resultados
@@ -174,6 +174,10 @@ es:
174
174
  questions: Preguntas
175
175
  responses: Respuestas
176
176
  consultations:
177
+ admin:
178
+ content_blocks:
179
+ highlighted_consultations:
180
+ max_results: Cantidad máxima de elementos para mostrar
177
181
  consultation:
178
182
  start_voting_date: Empieza la votación
179
183
  view_results: Ver resultados
@@ -184,6 +188,9 @@ es:
184
188
  label: 'Ordenar consultas por:'
185
189
  random: Aleatorio
186
190
  recent: Más reciente
191
+ content_blocks:
192
+ highlighted_consultations:
193
+ name: Consultas destacadas
187
194
  count:
188
195
  title:
189
196
  one: "%{count} consulta"
@@ -204,6 +211,18 @@ es:
204
211
  title: Preguntas de %{scope_name}
205
212
  index:
206
213
  title: Consultas
214
+ last_activity:
215
+ new_consultation: Nueva consulta
216
+ new_question_at_html: "<span>Nueva pregunta en %{link}</span>"
217
+ pages:
218
+ home:
219
+ highlighted_consultations:
220
+ active_consultations: Consultas activas
221
+ see_all_consultations: Ver todas las consultas
222
+ voting_ends_in:
223
+ one: La votación finaliza <strong>mañana</strong>
224
+ other: La votación finaliza en <strong>%{count} días</strong>
225
+ voting_ends_today: La votación finaliza hoy <strong></strong>
207
226
  question:
208
227
  take_part: Participar
209
228
  view_results: Ver resultados
@@ -174,6 +174,10 @@ eu:
174
174
  questions: Galderak
175
175
  responses: Erantzunak
176
176
  consultations:
177
+ admin:
178
+ content_blocks:
179
+ highlighted_consultations:
180
+ max_results: Erakusteko elementu gehienen kopurua
177
181
  consultation:
178
182
  start_voting_date: Botoa hasten da
179
183
  view_results: Ikusi emaitzak
@@ -184,6 +188,9 @@ eu:
184
188
  label: 'Ordenatu kontsultak honela:'
185
189
  random: Random
186
190
  recent: Berrienak
191
+ content_blocks:
192
+ highlighted_consultations:
193
+ name: Nabarmendutako kontsultak
187
194
  count:
188
195
  title:
189
196
  one: "%{count} kontsulta"
@@ -204,6 +211,18 @@ eu:
204
211
  title: '%{scope_name}galdera'
205
212
  index:
206
213
  title: kontsultak
214
+ last_activity:
215
+ new_consultation: Kontsulta berria
216
+ new_question_at_html: "<span>Galdera berria %{link}</span>"
217
+ pages:
218
+ home:
219
+ highlighted_consultations:
220
+ active_consultations: Aholkularitza aktiboak
221
+ see_all_consultations: Ikusi kontsulta guztiak
222
+ voting_ends_in:
223
+ one: Botoak <strong>amaitzen dira</strong>
224
+ other: Bozketa amaitzen <strong>%{count} egun</strong>
225
+ voting_ends_today: Botoak <strong>amaitzen dira gaur</strong>
207
226
  question:
208
227
  take_part: Parte hartu
209
228
  view_results: Ikusi emaitzak
@@ -174,6 +174,10 @@ fi:
174
174
  questions: Kysymykset
175
175
  responses: Vastaukset
176
176
  consultations:
177
+ admin:
178
+ content_blocks:
179
+ highlighted_consultations:
180
+ max_results: Näytettävien elementtien enimmäismäärä
177
181
  consultation:
178
182
  start_voting_date: Äänestyksen alkamisajankohta
179
183
  view_results: Näytä tulokset
@@ -184,6 +188,9 @@ fi:
184
188
  label: 'Lajittele kuulemiset:'
185
189
  random: Sattumanvarainen järjestys
186
190
  recent: Viimeisin ensin
191
+ content_blocks:
192
+ highlighted_consultations:
193
+ name: Tärkeimmät kuulemiset
187
194
  count:
188
195
  title:
189
196
  one: "%{count} kuuleminen"
@@ -204,6 +211,18 @@ fi:
204
211
  title: Kysymykset teemasta %{scope_name}
205
212
  index:
206
213
  title: Kuulemiset
214
+ last_activity:
215
+ new_consultation: Uusi kuuleminen
216
+ new_question_at_html: "<span>Uusi kysymys osoitteessa %{link}</span>"
217
+ pages:
218
+ home:
219
+ highlighted_consultations:
220
+ active_consultations: Aktiiviset kuulemiset
221
+ see_all_consultations: Katso kaikki kuulemiset
222
+ voting_ends_in:
223
+ one: Äänestys päättyy <strong>huomenna</strong>
224
+ other: Äänestys päättyy <strong>%{count} päivän</strong> päästä
225
+ voting_ends_today: Äänestys päättyy <strong>tänään</strong>
207
226
  question:
208
227
  take_part: Osallistu
209
228
  view_results: Näytä tulokset