decidim-consultations 0.20.0 → 0.23.1.rc1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/images/decidim/consultations/icon.svg +1 -3
- data/app/assets/images/decidim/consultations/icon2.svg +1 -88
- data/app/assets/stylesheets/decidim/consultations/_question.scss +0 -6
- data/app/assets/stylesheets/decidim/consultations/consultations/_consultations-header.scss +0 -1
- data/app/cells/decidim/consultations/consultation_m/data.erb +1 -1
- data/app/cells/decidim/consultations/consultation_m/footer.erb +1 -1
- data/app/cells/decidim/consultations/content_blocks/highlighted_consultations/show.erb +3 -3
- data/app/commands/decidim/consultations/admin/update_consultation.rb +9 -4
- data/app/controllers/concerns/decidim/consultations/admin/filterable.rb +27 -0
- data/app/controllers/decidim/consultations/admin/consultations_controller.rb +2 -1
- data/app/forms/decidim/consultations/admin/consultation_form.rb +5 -6
- data/app/forms/decidim/consultations/admin/question_form.rb +5 -6
- data/app/models/decidim/consultation.rb +14 -0
- data/app/models/decidim/consultations/question.rb +12 -1
- data/app/models/decidim/consultations/response.rb +4 -0
- data/app/models/decidim/consultations/response_group.rb +4 -0
- data/app/permissions/decidim/consultations/permissions.rb +2 -0
- data/app/presenters/decidim/consultations/question_stats_presenter.rb +1 -1
- data/app/types/decidim/consultations/consultation_question_type.rb +57 -0
- data/app/types/decidim/consultations/consultation_type.rb +32 -0
- data/app/views/decidim/consultations/admin/consultations/index.html.erb +3 -2
- data/app/views/decidim/consultations/consultations/_consultation_card.html.erb +3 -3
- data/app/views/decidim/consultations/consultations/_consultation_details.html.erb +2 -2
- data/app/views/decidim/consultations/consultations/_filters.html.erb +9 -4
- data/app/views/decidim/consultations/consultations/_question.html.erb +2 -2
- data/app/views/decidim/consultations/consultations/index.html.erb +3 -3
- data/app/views/decidim/consultations/questions/_vote_button.html.erb +70 -67
- data/app/views/decidim/consultations/questions/_vote_modal.html.erb +1 -1
- data/app/views/decidim/consultations/questions/_vote_modal_confirm.html.erb +1 -1
- data/app/views/decidim/consultations/questions/show.html.erb +4 -4
- data/app/views/layouts/decidim/_question_components.html.erb +3 -3
- data/app/views/layouts/decidim/_question_header.html.erb +1 -1
- data/app/views/layouts/decidim/consultation.html.erb +1 -0
- data/config/locales/am-ET.yml +1 -0
- data/config/locales/ar.yml +29 -1
- data/config/locales/bg-BG.yml +1 -0
- data/config/locales/bg.yml +1 -0
- data/config/locales/ca.yml +16 -1
- data/config/locales/cs.yml +12 -9
- data/config/locales/da-DK.yml +1 -0
- data/config/locales/da.yml +1 -0
- data/config/locales/de.yml +82 -1
- data/config/locales/el-GR.yml +1 -0
- data/config/locales/el.yml +377 -0
- data/config/locales/en.yml +4 -1
- data/config/locales/eo.yml +1 -0
- data/config/locales/es-MX.yml +29 -1
- data/config/locales/es-PY.yml +29 -1
- data/config/locales/es.yml +29 -1
- data/config/locales/et-EE.yml +1 -0
- data/config/locales/et.yml +1 -0
- data/config/locales/eu.yml +0 -1
- data/config/locales/fi-plain.yml +4 -1
- data/config/locales/fi.yml +15 -12
- data/config/locales/fr-CA.yml +377 -0
- data/config/locales/fr.yml +5 -2
- data/config/locales/ga-IE.yml +1 -0
- data/config/locales/gl.yml +0 -1
- data/config/locales/hr-HR.yml +1 -0
- data/config/locales/hr.yml +1 -0
- data/config/locales/hu.yml +0 -1
- data/config/locales/id-ID.yml +0 -1
- data/config/locales/is-IS.yml +185 -0
- data/config/locales/is.yml +185 -0
- data/config/locales/it.yml +58 -55
- data/config/locales/ja-JP.yml +367 -0
- data/config/locales/ja.yml +367 -0
- data/config/locales/ko-KR.yml +1 -0
- data/config/locales/ko.yml +1 -0
- data/config/locales/lt-LT.yml +1 -0
- data/config/locales/lt.yml +1 -0
- data/config/locales/lv.yml +383 -0
- data/config/locales/mt-MT.yml +1 -0
- data/config/locales/mt.yml +1 -0
- data/config/locales/nl.yml +4 -1
- data/config/locales/no.yml +310 -1
- data/config/locales/om-ET.yml +1 -0
- data/config/locales/pl.yml +183 -102
- data/config/locales/pt-BR.yml +1 -2
- data/config/locales/pt.yml +156 -75
- data/config/locales/ro-RO.yml +338 -0
- data/config/locales/ru.yml +0 -1
- data/config/locales/sk-SK.yml +394 -0
- data/config/locales/sk.yml +393 -0
- data/config/locales/sl.yml +9 -0
- data/config/locales/so-SO.yml +1 -0
- data/config/locales/sr-CS.yml +1 -0
- data/config/locales/sv.yml +46 -12
- data/config/locales/ti-ER.yml +1 -0
- data/config/locales/tr-TR.yml +0 -1
- data/config/locales/uk.yml +0 -1
- data/config/locales/vi-VN.yml +1 -0
- data/config/locales/vi.yml +1 -0
- data/config/locales/zh-CN.yml +367 -0
- data/config/locales/zh-TW.yml +1 -0
- data/db/migrate/20200320105916_index_foreign_keys_in_decidim_consultations_votes.rb +7 -0
- data/db/migrate/20200827154143_add_commentable_counter_cache_to_consultations.rb +9 -0
- data/db/seeds/city.jpeg +0 -0
- data/db/seeds/city2.jpeg +0 -0
- data/lib/decidim/consultations/admin_engine.rb +1 -0
- data/lib/decidim/consultations/participatory_space.rb +19 -17
- data/lib/decidim/consultations/test/factories.rb +1 -0
- data/lib/decidim/consultations/version.rb +1 -1
- metadata +55 -13
@@ -0,0 +1,32 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Decidim
|
4
|
+
module Consultations
|
5
|
+
# This type represents a consultation.
|
6
|
+
ConsultationType = GraphQL::ObjectType.define do
|
7
|
+
interfaces [
|
8
|
+
-> { Decidim::Core::ParticipatorySpaceInterface }
|
9
|
+
]
|
10
|
+
|
11
|
+
name "Consultation"
|
12
|
+
description "A consultation"
|
13
|
+
|
14
|
+
field :subtitle, Decidim::Core::TranslatedFieldType, "The subtitle of this consultation"
|
15
|
+
field :description, Decidim::Core::TranslatedFieldType, "The description of this consultation"
|
16
|
+
field :slug, !types.String, "Slug of this consultation"
|
17
|
+
field :createdAt, !Decidim::Core::DateTimeType, "The time this consultation was created", property: :created_at
|
18
|
+
field :updatedAt, !Decidim::Core::DateTimeType, "The time this consultation was updated", property: :updated_at
|
19
|
+
field :publishedAt, !Decidim::Core::DateTimeType, "The time this consultation was published", property: :published_at
|
20
|
+
|
21
|
+
field :introductoryVideoUrl, types.String, "The introductory video url for this consultation", property: :introductory_video_url
|
22
|
+
field :introductoryImage, types.String, "The introductory image for this consultation", property: :introductory_image
|
23
|
+
field :bannerImage, types.String, "The banner image for this consultation", property: :banner_image
|
24
|
+
field :highlightedScope, Decidim::Core::ScopeApiType, "This is the highlighted scope of this consultation", property: :highlighted_scope
|
25
|
+
field :startVotingDate, Decidim::Core::DateType, "Start date of the voting for this consultation", property: :start_voting_date
|
26
|
+
field :endVotingDate, Decidim::Core::DateType, "End date of the voting for this consultation", property: :end_voting_date
|
27
|
+
field :resultsPublishedAt, Decidim::Core::DateType, "Date when the results have been published", property: :results_published_at
|
28
|
+
|
29
|
+
field :questions, types[Decidim::Consultations::ConsultationQuestionType], ""
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
<div class="card" id="consultations">
|
1
|
+
<div class="card with-overflow" id="consultations">
|
2
2
|
<div class="card-divider">
|
3
3
|
<h2 class="card-title">
|
4
4
|
<%= t "decidim.admin.titles.consultations" %>
|
@@ -6,13 +6,14 @@
|
|
6
6
|
["new", "consultation"], class: "button tiny button--title" if allowed_to? :create, :consultation %>
|
7
7
|
</h2>
|
8
8
|
</div>
|
9
|
+
<%= admin_filter_selector %>
|
9
10
|
<div class="card-section">
|
10
11
|
<div class="table-scroll">
|
11
12
|
<table class="table-list">
|
12
13
|
<thead>
|
13
14
|
<tr>
|
14
15
|
<th><%= t("models.consultation.fields.title", scope: "decidim.admin") %></th>
|
15
|
-
<th><%= t("models.consultation.fields.created_at", scope: "decidim.admin") %></th>
|
16
|
+
<th><%= sort_link(query, :created_at, t("models.consultation.fields.created_at", scope: "decidim.admin"), default_order: :desc) %></th>
|
16
17
|
<th class="table-list__actions">
|
17
18
|
<%= t("models.consultation.fields.published", scope: "decidim.admin") %>
|
18
19
|
</th>
|
@@ -1,12 +1,12 @@
|
|
1
1
|
<div class="column">
|
2
|
-
<
|
2
|
+
<div class="card card--process">
|
3
3
|
<%= link_to consultation_path(consultation), class: "card__link" do %>
|
4
4
|
<div class="card__image-top"
|
5
5
|
style="background-image:url(<%= consultation.banner_image.url %>)"></div>
|
6
6
|
<% end %>
|
7
7
|
<div class="card__content">
|
8
8
|
<%= link_to consultation_path(consultation), class: "card__link" do %>
|
9
|
-
<
|
9
|
+
<span class="card__title"><%= translated_attribute consultation.title %></span>
|
10
10
|
<% end %>
|
11
11
|
<p class="card__desc">
|
12
12
|
<%= decidim_sanitize html_truncate(translated_attribute(consultation.subtitle), length: 630, separator: "...") %>
|
@@ -20,5 +20,5 @@
|
|
20
20
|
<% end %>
|
21
21
|
</div>
|
22
22
|
</div>
|
23
|
-
</
|
23
|
+
</div>
|
24
24
|
</div>
|
@@ -1,6 +1,6 @@
|
|
1
1
|
<div class="row section" id="consultation-details">
|
2
2
|
<div class="columns medium-6 large-5 large-push-1">
|
3
|
-
<p class="lead"><%= decidim_sanitize translated_attribute
|
3
|
+
<p class="lead"><%= decidim_sanitize translated_attribute(consultation.description), strip_tags: true %></p>
|
4
4
|
</div>
|
5
5
|
<div class="columns medium-6 large-5 large-pull-1">
|
6
6
|
<% if consultation.introductory_video_url.blank? %>
|
@@ -9,7 +9,7 @@
|
|
9
9
|
</div>
|
10
10
|
<% else %>
|
11
11
|
<div class="embed-container">
|
12
|
-
<iframe src="<%= consultation.introductory_video_url %>"
|
12
|
+
<iframe src="<%= consultation.introductory_video_url %>" allowfullscreen>
|
13
13
|
</iframe>
|
14
14
|
</div>
|
15
15
|
<% end %>
|
@@ -1,3 +1,5 @@
|
|
1
|
+
<%= render partial: "decidim/shared/filter_form_help", locals: { skip_to_id: "consultations" } %>
|
2
|
+
|
1
3
|
<%= filter_form_for filter do |form| %>
|
2
4
|
<div class="filters__section">
|
3
5
|
<div class="filters__search">
|
@@ -5,10 +7,12 @@
|
|
5
7
|
<%= form.search_field :search_text,
|
6
8
|
label: false,
|
7
9
|
class: "input-group-field",
|
8
|
-
placeholder: t("consultations.filters.search", scope: "decidim")
|
10
|
+
placeholder: t("consultations.filters.search", scope: "decidim"),
|
11
|
+
title: t("consultations.filters.search", scope: "decidim"),
|
12
|
+
data: { disable_dynamic_change: true } %>
|
9
13
|
<div class="input-group-button">
|
10
|
-
<button type="submit" class="button
|
11
|
-
<%= icon "magnifying-glass", aria_label: t("consultations.filters.search", scope: "decidim") %>
|
14
|
+
<button type="submit" class="button" aria-controls="consultations">
|
15
|
+
<%= icon "magnifying-glass", aria_label: t("consultations.filters.search", scope: "decidim"), role: "img" %>
|
12
16
|
</button>
|
13
17
|
</div>
|
14
18
|
</div>
|
@@ -19,7 +23,8 @@
|
|
19
23
|
options_for_state_filter,
|
20
24
|
:first,
|
21
25
|
:last,
|
22
|
-
legend_title: t("consultations.filters.state", scope: "decidim")
|
26
|
+
{ legend_title: t("consultations.filters.state", scope: "decidim") },
|
27
|
+
"aria-controls": "consultations" %>
|
23
28
|
|
24
29
|
<%= hidden_field_tag :order, order, id: nil, class: "order_filter" %>
|
25
30
|
<% end %>
|
@@ -1,4 +1,4 @@
|
|
1
|
-
<
|
1
|
+
<div class="card consultations-card">
|
2
2
|
<div class="row collapse card--process__row">
|
3
3
|
<div class="columns mediumlarge-8 large-9 card--process__column">
|
4
4
|
<div class="card__content">
|
@@ -35,4 +35,4 @@
|
|
35
35
|
</div>
|
36
36
|
</div>
|
37
37
|
</div>
|
38
|
-
</
|
38
|
+
</div>
|
@@ -11,9 +11,9 @@ edit_link(
|
|
11
11
|
<div class="row columns">
|
12
12
|
<div class="title-action">
|
13
13
|
<div class="row collapse">
|
14
|
-
<
|
14
|
+
<h1 id="consultations-count" class="title-action__title section-heading">
|
15
15
|
<%= render partial: "count", locals: { count: consultations.count } %>
|
16
|
-
</
|
16
|
+
</h1>
|
17
17
|
</div>
|
18
18
|
</div>
|
19
19
|
</div>
|
@@ -32,4 +32,4 @@ edit_link(
|
|
32
32
|
<% end %>
|
33
33
|
|
34
34
|
<%= javascript_include_tag "decidim/filters" %>
|
35
|
-
<%= javascript_include_tag "decidim/
|
35
|
+
<%= javascript_include_tag "decidim/results_listing" %>
|
@@ -8,88 +8,91 @@
|
|
8
8
|
</div>
|
9
9
|
</div>
|
10
10
|
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
<div>
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
<%= button_to decidim_consultations.question_question_votes_path(question),
|
27
|
-
method: :delete,
|
28
|
-
remote: true,
|
29
|
-
data: { disable: true },
|
30
|
-
class: "card__button button expanded success disabled",
|
31
|
-
id: "unvote_button" do %>
|
32
|
-
<div class="vote-button-caption">
|
33
|
-
<%= t("questions.vote_button.already_voted", scope: "decidim") %>
|
11
|
+
<%# Check if controller has questions_helper %>
|
12
|
+
<% if defined? display_next_previous_button %>
|
13
|
+
<div class="row column question-vote-cabin">
|
14
|
+
<div class="columns mediumlarge-4 show-for-mediumlarge previous-question">
|
15
|
+
<%= display_next_previous_button(:previous, "float-left") %>
|
16
|
+
</div>
|
17
|
+
<div class="columns mediumlarge-4">
|
18
|
+
<% if question.consultation.upcoming? %>
|
19
|
+
<div class="card__button button expanded disabled">
|
20
|
+
<div class="vote-button-caption"><%= t("questions.vote_button.vote", scope: "decidim") %></div>
|
21
|
+
<div>
|
22
|
+
<%= t "questions.vote_button.starting_from",
|
23
|
+
scope: "decidim",
|
24
|
+
date: l(question.start_voting_date) %>
|
25
|
+
</div>
|
34
26
|
</div>
|
35
|
-
<%
|
36
|
-
<% elsif signed_in? && question.consultation.active? %>
|
37
|
-
<% if allowed_to? :unvote, :question, question: question %>
|
27
|
+
<% elsif question.consultation.finished? && signed_in? && question.voted_by?(current_user) %>
|
38
28
|
<%= button_to decidim_consultations.question_question_votes_path(question),
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
<div class="vote-button-caption"
|
45
|
-
data-original="<%= t("questions.vote_button.already_voted", scope: "decidim") %>"
|
46
|
-
data-replace="<%= t("questions.vote_button.already_voted_hover", scope: "decidim") %>">
|
29
|
+
method: :delete,
|
30
|
+
remote: true,
|
31
|
+
data: { disable: true },
|
32
|
+
class: "card__button button expanded success disabled",
|
33
|
+
id: "unvote_button" do %>
|
34
|
+
<div class="vote-button-caption">
|
47
35
|
<%= t("questions.vote_button.already_voted", scope: "decidim") %>
|
48
36
|
</div>
|
49
37
|
<% end %>
|
50
|
-
<% elsif
|
51
|
-
<% if
|
52
|
-
<%=
|
53
|
-
|
54
|
-
|
55
|
-
|
38
|
+
<% elsif signed_in? && question.consultation.active? %>
|
39
|
+
<% if allowed_to? :unvote, :question, question: question %>
|
40
|
+
<%= button_to decidim_consultations.question_question_votes_path(question),
|
41
|
+
method: :delete,
|
42
|
+
remote: true,
|
43
|
+
data: { disable: true },
|
44
|
+
class: "card__button button expanded success",
|
45
|
+
id: "unvote_button" do %>
|
46
|
+
<div class="vote-button-caption"
|
47
|
+
data-original="<%= t("questions.vote_button.already_voted", scope: "decidim") %>"
|
48
|
+
data-replace="<%= t("questions.vote_button.already_voted_hover", scope: "decidim") %>">
|
49
|
+
<%= t("questions.vote_button.already_voted", scope: "decidim") %>
|
50
|
+
</div>
|
51
|
+
<% end %>
|
52
|
+
<% elsif allowed_to? :vote, :question, question: question %>
|
53
|
+
<% if question.multiple? %>
|
54
|
+
<%= link_to decidim_consultations.question_question_multiple_votes_path(question),
|
55
|
+
class: "card__button button expanded",
|
56
|
+
id: "multivote_button" do %>
|
57
|
+
<div class="vote-button-caption"><%= t "questions.vote_button.vote", scope: "decidim" %></div>
|
58
|
+
<% end %>
|
59
|
+
<% else %>
|
60
|
+
<%= link_to "#", class: "card__button button expanded", id: "vote_button" do %>
|
61
|
+
<div class="vote-button-caption"><%= t "questions.vote_button.vote", scope: "decidim" %></div>
|
62
|
+
<% end %>
|
56
63
|
<% end %>
|
57
64
|
<% else %>
|
58
|
-
<%=
|
59
|
-
|
65
|
+
<%= authorized_vote_modal_button(question, remote: true, class: "button expanded light button--sc") do %>
|
66
|
+
<%= t("questions.vote_button.verification_required", scope: "decidim") %>
|
60
67
|
<% end %>
|
61
68
|
<% end %>
|
62
|
-
<%
|
63
|
-
<%=
|
64
|
-
|
69
|
+
<% elsif question.consultation.active? %>
|
70
|
+
<%= logged_button_to decidim_consultations.question_question_votes_path(question),
|
71
|
+
class: "card__button button expanded",
|
72
|
+
data: { disable: true },
|
73
|
+
id: "vote_button" do %>
|
74
|
+
<div class="vote-button-caption">
|
75
|
+
<%= t("questions.vote_button.vote", scope: "decidim") %>
|
76
|
+
</div>
|
65
77
|
<% end %>
|
66
78
|
<% end %>
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
id: "vote_button" do %>
|
72
|
-
<div class="vote-button-caption">
|
73
|
-
<%= t("questions.vote_button.vote", scope: "decidim") %>
|
74
|
-
</div>
|
75
|
-
<% end %>
|
76
|
-
<% end %>
|
77
|
-
</div>
|
78
|
-
<div class="columns mediumlarge-4 show-for-mediumlarge next-question">
|
79
|
-
<%= display_next_previous_button(:next, "float-right") %>
|
79
|
+
</div>
|
80
|
+
<div class="columns mediumlarge-4 show-for-mediumlarge next-question">
|
81
|
+
<%= display_next_previous_button(:next, "float-right") %>
|
82
|
+
</div>
|
80
83
|
</div>
|
81
|
-
</div>
|
82
84
|
|
83
|
-
<div class="row column section hide-for-mediumlarge">
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
85
|
+
<div class="row column section hide-for-mediumlarge">
|
86
|
+
<div class="small-buttons">
|
87
|
+
<div class="columns small-6 previous-question">
|
88
|
+
<%= display_next_previous_button(:previous, "expanded") %>
|
89
|
+
</div>
|
90
|
+
<div class="columns small-6 next-question">
|
91
|
+
<%= display_next_previous_button(:next, "expanded") %>
|
92
|
+
</div>
|
90
93
|
</div>
|
91
94
|
</div>
|
92
|
-
|
95
|
+
<% end %>
|
93
96
|
|
94
97
|
<%= render partial: "decidim/consultations/questions/vote_modal", locals: { question: question } %>
|
95
98
|
<%= render partial: "decidim/consultations/questions/vote_modal_confirm", locals: { question: question } %>
|
@@ -3,7 +3,7 @@
|
|
3
3
|
<h3 class="reveal__title">
|
4
4
|
<%= t "questions.vote_modal.title", scope: "decidim" %>
|
5
5
|
</h3>
|
6
|
-
<button class="close-button" data-close aria-label="
|
6
|
+
<button class="close-button" data-close aria-label="<%= t "questions.vote_modal.close_modal", scope: "decidim" %>" type="button">
|
7
7
|
<span aria-hidden="true">×</span>
|
8
8
|
</button>
|
9
9
|
</div>
|
@@ -3,7 +3,7 @@
|
|
3
3
|
<h3 class="reveal__title">
|
4
4
|
<%= t "questions.vote_modal_confirm.title", scope: "decidim" %>
|
5
5
|
</h3>
|
6
|
-
<button class="close-button" data-close aria-label="
|
6
|
+
<button class="close-button" data-close aria-label="<%= t("questions.vote_modal_confirm.close_modal", scope: "decidim") %>" type="button">
|
7
7
|
<span aria-hidden="true">×</span>
|
8
8
|
</button>
|
9
9
|
</div>
|
@@ -5,7 +5,7 @@
|
|
5
5
|
<%= decidim_sanitize translated_attribute current_question.question_context %>
|
6
6
|
|
7
7
|
<div class="show-more">
|
8
|
-
<button class="button
|
8
|
+
<button class="button hollow small"><%= t "read_more", scope: "decidim.questions.show" %></button>
|
9
9
|
</div>
|
10
10
|
|
11
11
|
<div class="hide show-more-panel">
|
@@ -13,12 +13,12 @@
|
|
13
13
|
|
14
14
|
<div class="section">
|
15
15
|
<h2 class=section-heading><%= t "question.what_is_decided", scope: "activemodel.attributes" %></h2>
|
16
|
-
<p><%= decidim_sanitize translated_attribute
|
16
|
+
<p><%= decidim_sanitize translated_attribute(current_question.what_is_decided), strip_tags: true %></p>
|
17
17
|
</div>
|
18
18
|
|
19
19
|
<div class="section">
|
20
20
|
<h2 class=section-heading><%= t "question.question_context", scope: "activemodel.attributes" %></h2>
|
21
|
-
<p><%= decidim_sanitize translated_attribute
|
21
|
+
<p><%= decidim_sanitize translated_attribute(current_question.question_context), strip_tags: true %></p>
|
22
22
|
</div>
|
23
23
|
</div>
|
24
24
|
</div>
|
@@ -36,7 +36,7 @@
|
|
36
36
|
<%= content_for :question_header_details do %>
|
37
37
|
<div id="question-header-details" class="row consultations-home-intro">
|
38
38
|
<div class="columns medium-5">
|
39
|
-
|
39
|
+
<%= image_tag current_question.hero_image&.url, alt: t("question.hero_image", scope: "activemodel.attributes") if current_question.hero_image&.url %>
|
40
40
|
</div>
|
41
41
|
|
42
42
|
<div class="columns medium-5">
|
@@ -2,15 +2,15 @@
|
|
2
2
|
<div class="process-nav consultations-nav">
|
3
3
|
<button class="process-nav__trigger hide-for-medium" data-toggle="process-nav-content">
|
4
4
|
<%= icon "caret-bottom", class: "icon--small process-nav__trigger__icon", aria_label: t(".unfold"), role: "img" %>
|
5
|
-
<
|
5
|
+
<span class="process-nav__link">
|
6
6
|
<% if self.try(:current_component) %>
|
7
7
|
<%= component_icon(current_component) %>
|
8
8
|
<%= translated_attribute(current_component.name) %>
|
9
9
|
<% else %>
|
10
|
-
<%= external_icon "decidim/pages/icon.svg" %>
|
10
|
+
<%= external_icon "decidim/pages/icon.svg", role: "img", "aria-hidden": true %>
|
11
11
|
<%= t ".question_menu_item" %>
|
12
12
|
<% end %>
|
13
|
-
</
|
13
|
+
</span>
|
14
14
|
</button>
|
15
15
|
|
16
16
|
<%
|
@@ -10,7 +10,7 @@
|
|
10
10
|
</h1>
|
11
11
|
<%= link_to decidim_consultations.consultations_path, class: "consultations-header__link" do %>
|
12
12
|
<%= t ".back_to_consultation" %>
|
13
|
-
<%= icon "media-play" %>
|
13
|
+
<%= icon "media-play", role: "img", "aria-hidden": true %>
|
14
14
|
<% end %>
|
15
15
|
</div>
|
16
16
|
</div>
|
@@ -0,0 +1 @@
|
|
1
|
+
am:
|
data/config/locales/ar.yml
CHANGED
@@ -19,6 +19,7 @@ ar:
|
|
19
19
|
hashtag: رابطة هاشتاق
|
20
20
|
hero_image: الصورة الرئيسية
|
21
21
|
i_frame_url: عنوان URL لنظام التصويت الخارجي
|
22
|
+
instructions: تعليمات إضافية خاصة بالتصويت
|
22
23
|
max_votes: الحد الأقصى لعدد الأصوات
|
23
24
|
min_votes: الحد الأدنى لعدد الأصوات
|
24
25
|
origin_scope: نطاق
|
@@ -31,14 +32,21 @@ ar:
|
|
31
32
|
scope: منطقة البلدية
|
32
33
|
slug: سبيكة العنوان الشبكي
|
33
34
|
subtitle: عنوان فرعي
|
34
|
-
title: عنوان
|
35
35
|
vote: نظام التصويت الخارجي
|
36
36
|
what_is_decided: ما الذي تقرر
|
37
|
+
response:
|
38
|
+
decidim_consultations_response_group_id: الفريق
|
37
39
|
errors:
|
38
40
|
vote:
|
39
41
|
decidim_consultations_response_id:
|
40
42
|
not_found: الرد غير موجود.
|
41
43
|
activerecord:
|
44
|
+
errors:
|
45
|
+
models:
|
46
|
+
decidim/consultations/vote:
|
47
|
+
attributes:
|
48
|
+
question:
|
49
|
+
invalid_num_votes: عدد الأصوات غير صالح
|
42
50
|
models:
|
43
51
|
decidim/consultation:
|
44
52
|
zero: المشاورات
|
@@ -71,9 +79,11 @@ ar:
|
|
71
79
|
decidim:
|
72
80
|
admin:
|
73
81
|
actions:
|
82
|
+
back_to_responses: العودة إلى الأجوبة
|
74
83
|
new_consultation: استشارة جديدة
|
75
84
|
new_question: سؤال جديد
|
76
85
|
new_response: استجابة جديدة
|
86
|
+
new_response_group: فريق جديد
|
77
87
|
publish_results: نشر النتائج
|
78
88
|
unpublish_results: نتائج غير منشورة
|
79
89
|
consultation_publications:
|
@@ -119,6 +129,7 @@ ar:
|
|
119
129
|
results: النتائج
|
120
130
|
questions_submenu:
|
121
131
|
components: المكونات
|
132
|
+
configuration: الإعدادا
|
122
133
|
consultation: تشاور
|
123
134
|
info: معلومات
|
124
135
|
responses: استجابات
|
@@ -150,6 +161,7 @@ ar:
|
|
150
161
|
response:
|
151
162
|
fields:
|
152
163
|
created_at: أنشئت في
|
164
|
+
response_group: الفريق
|
153
165
|
title: عنوان
|
154
166
|
name:
|
155
167
|
zero: استجابات
|
@@ -158,6 +170,9 @@ ar:
|
|
158
170
|
few: استجابات
|
159
171
|
many: استجابات
|
160
172
|
other: استجابات
|
173
|
+
question_configuration:
|
174
|
+
form:
|
175
|
+
title: الإعداد المتقدّم
|
161
176
|
question_publications:
|
162
177
|
create:
|
163
178
|
error: حدثت مشكلة في نشر هذا السؤال.
|
@@ -184,6 +199,16 @@ ar:
|
|
184
199
|
update:
|
185
200
|
error: حدثت مشكلة أثناء تحديث هذا السؤال.
|
186
201
|
success: تم تحديث السؤال بنجاح.
|
202
|
+
response_groups:
|
203
|
+
edit:
|
204
|
+
update: تحديث
|
205
|
+
form:
|
206
|
+
title: معلومات عامة
|
207
|
+
new:
|
208
|
+
create: إنشاء
|
209
|
+
update:
|
210
|
+
error: وقعت هناك مشكلة عند تحديث هذه الإجابة.
|
211
|
+
success: تم تحديث الإجابة بنجاح.
|
187
212
|
responses:
|
188
213
|
create:
|
189
214
|
error: كانت هناك مشكلة في إنشاء استجابة جديدة.
|
@@ -276,7 +301,10 @@ ar:
|
|
276
301
|
other: يصوت من
|
277
302
|
question_multiple_votes:
|
278
303
|
results_rules:
|
304
|
+
title: خيارات عديدة متاحة مسموحة للإجابة على هذا السؤال
|
279
305
|
total_participants: لقد شارك مجموع يقدّر بـ %{count} أشخاص في التصويت.
|
306
|
+
vote_limit:
|
307
|
+
description: يمكن للمشارِكين التصويت على %{limit} خيارات كأقصى حد.
|
280
308
|
voting_rules:
|
281
309
|
title: 'التصويت خاضع للقواعد التالية:'
|
282
310
|
vote_limit:
|