decidim-consultations 0.11.0.pre1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/README.md +51 -0
- data/Rakefile +3 -0
- data/app/assets/config/decidim_consultations_manifest.js +5 -0
- data/app/assets/config/decidim_consultations_manifest.scss +3 -0
- data/app/assets/images/decidim/consultations/icon.svg +70 -0
- data/app/assets/images/decidim/consultations/icon2.svg +88 -0
- data/app/assets/javascripts/decidim/consultations/show_more.js.es6 +12 -0
- data/app/assets/javascripts/decidim/consultations/social_share.js +2 -0
- data/app/assets/javascripts/decidim/consultations/utils.js.es6 +19 -0
- data/app/assets/javascripts/decidim/consultations/vote_dialog.js +36 -0
- data/app/assets/stylesheets/decidim/consultations/_question.scss +46 -0
- data/app/assets/stylesheets/decidim/consultations/_stats.scss +22 -0
- data/app/assets/stylesheets/decidim/consultations/_video_wrapper.scss +14 -0
- data/app/assets/stylesheets/decidim/consultations/banners/_block-banner.scss +39 -0
- data/app/assets/stylesheets/decidim/consultations/consultations.scss +6 -0
- data/app/assets/stylesheets/decidim/consultations/consultations/_consultations-banner.scss +13 -0
- data/app/assets/stylesheets/decidim/consultations/consultations/_consultations-card.scss +17 -0
- data/app/assets/stylesheets/decidim/consultations/consultations/_consultations-header.scss +115 -0
- data/app/assets/stylesheets/decidim/consultations/consultations/_consultations-home-banner.scss +15 -0
- data/app/assets/stylesheets/decidim/consultations/consultations/_consultations-home-intro.scss +30 -0
- data/app/assets/stylesheets/decidim/consultations/consultations/_consultations-intro.scss +11 -0
- data/app/assets/stylesheets/decidim/consultations/consultations/_consultations-title.scss +26 -0
- data/app/assets/stylesheets/decidim/consultations/consultations/_consultations_nav.scss +7 -0
- data/app/assets/stylesheets/decidim/consultations/consultations/introductory_image.scss +3 -0
- data/app/assets/stylesheets/decidim/consultations/highlighted-content-banner.css.scss +42 -0
- data/app/assets/stylesheets/decidim/consultations/social_share.css.scss +18 -0
- data/app/commands/decidim/consultations/admin/create_consultation.rb +61 -0
- data/app/commands/decidim/consultations/admin/create_question.rb +68 -0
- data/app/commands/decidim/consultations/admin/create_response.rb +39 -0
- data/app/commands/decidim/consultations/admin/publish_consultation.rb +34 -0
- data/app/commands/decidim/consultations/admin/publish_consultation_results.rb +34 -0
- data/app/commands/decidim/consultations/admin/publish_question.rb +34 -0
- data/app/commands/decidim/consultations/admin/unpublish_consultation.rb +34 -0
- data/app/commands/decidim/consultations/admin/unpublish_consultation_results.rb +34 -0
- data/app/commands/decidim/consultations/admin/unpublish_question.rb +34 -0
- data/app/commands/decidim/consultations/admin/update_consultation.rb +64 -0
- data/app/commands/decidim/consultations/admin/update_question.rb +72 -0
- data/app/commands/decidim/consultations/admin/update_response.rb +46 -0
- data/app/commands/decidim/consultations/unvote_question.rb +37 -0
- data/app/commands/decidim/consultations/vote_question.rb +42 -0
- data/app/constraints/decidim/consultations/current_component.rb +28 -0
- data/app/constraints/decidim/consultations/current_question.rb +36 -0
- data/app/controllers/concerns/decidim/consultations/action_authorization.rb +38 -0
- data/app/controllers/concerns/decidim/consultations/admin/consultation_admin.rb +24 -0
- data/app/controllers/concerns/decidim/consultations/admin/question_admin.rb +28 -0
- data/app/controllers/concerns/decidim/consultations/needs_consultation.rb +54 -0
- data/app/controllers/concerns/decidim/consultations/needs_question.rb +79 -0
- data/app/controllers/concerns/decidim/consultations/orderable.rb +52 -0
- data/app/controllers/decidim/consultations/admin/application_controller.rb +14 -0
- data/app/controllers/decidim/consultations/admin/categories_controller.rb +13 -0
- data/app/controllers/decidim/consultations/admin/component_permissions_controller.rb +13 -0
- data/app/controllers/decidim/consultations/admin/components_controller.rb +13 -0
- data/app/controllers/decidim/consultations/admin/consultation_publications_controller.rb +44 -0
- data/app/controllers/decidim/consultations/admin/consultation_results_publications_controller.rb +44 -0
- data/app/controllers/decidim/consultations/admin/consultations_controller.rb +100 -0
- data/app/controllers/decidim/consultations/admin/question_attachments_controller.rb +25 -0
- data/app/controllers/decidim/consultations/admin/question_publications_controller.rb +44 -0
- data/app/controllers/decidim/consultations/admin/questions_controller.rb +88 -0
- data/app/controllers/decidim/consultations/admin/responses_controller.rb +85 -0
- data/app/controllers/decidim/consultations/consultation_widgets_controller.rb +25 -0
- data/app/controllers/decidim/consultations/consultations_controller.rb +75 -0
- data/app/controllers/decidim/consultations/question_votes_controller.rb +40 -0
- data/app/controllers/decidim/consultations/question_widgets_controller.rb +26 -0
- data/app/controllers/decidim/consultations/questions_controller.rb +23 -0
- data/app/forms/decidim/consultations/admin/consultation_form.rb +56 -0
- data/app/forms/decidim/consultations/admin/question_form.rb +74 -0
- data/app/forms/decidim/consultations/admin/response_form.rb +18 -0
- data/app/forms/decidim/consultations/vote_form.rb +28 -0
- data/app/helpers/decidim/consultations/admin/consultations_helper.rb +14 -0
- data/app/helpers/decidim/consultations/admin/questions_helper.rb +14 -0
- data/app/helpers/decidim/consultations/consultations_helper.rb +17 -0
- data/app/models/concerns/decidim/consultations/override_categorization.rb +21 -0
- data/app/models/concerns/decidim/consultations/publicable_results.rb +51 -0
- data/app/models/decidim/consultation.rb +79 -0
- data/app/models/decidim/consultations/abilities/admin/consultation_admin_ability.rb +34 -0
- data/app/models/decidim/consultations/abilities/admin/question_admin_ability.rb +30 -0
- data/app/models/decidim/consultations/abilities/admin/response_admin_ability.rb +26 -0
- data/app/models/decidim/consultations/abilities/current_user_ability.rb +45 -0
- data/app/models/decidim/consultations/abilities/everyone_ability.rb +23 -0
- data/app/models/decidim/consultations/application_record.rb +9 -0
- data/app/models/decidim/consultations/question.rb +127 -0
- data/app/models/decidim/consultations/response.rb +19 -0
- data/app/models/decidim/consultations/vote.rb +26 -0
- data/app/presenters/decidim/consultations/question_stats_presenter.rb +52 -0
- data/app/queries/decidim/consultations/admin/admin_users.rb +40 -0
- data/app/queries/decidim/consultations/organization_active_consultations.rb +20 -0
- data/app/queries/decidim/consultations/organization_consultations.rb +20 -0
- data/app/queries/decidim/consultations/organization_questions.rb +20 -0
- data/app/services/decidim/consultations/consultation_search.rb +51 -0
- data/app/views/decidim/consultations/_consultation.html.erb +32 -0
- data/app/views/decidim/consultations/admin/consultations/_form.html.erb +58 -0
- data/app/views/decidim/consultations/admin/consultations/edit.html.erb +42 -0
- data/app/views/decidim/consultations/admin/consultations/index.html.erb +74 -0
- data/app/views/decidim/consultations/admin/consultations/new.html.erb +11 -0
- data/app/views/decidim/consultations/admin/questions/_form.html.erb +84 -0
- data/app/views/decidim/consultations/admin/questions/edit.html.erb +32 -0
- data/app/views/decidim/consultations/admin/questions/index.html.erb +74 -0
- data/app/views/decidim/consultations/admin/questions/new.html.erb +13 -0
- data/app/views/decidim/consultations/admin/responses/_form.html.erb +11 -0
- data/app/views/decidim/consultations/admin/responses/edit.html.erb +18 -0
- data/app/views/decidim/consultations/admin/responses/index.html.erb +48 -0
- data/app/views/decidim/consultations/admin/responses/new.html.erb +13 -0
- data/app/views/decidim/consultations/consultation_widgets/show.html.erb +5 -0
- data/app/views/decidim/consultations/consultations/_consultation_card.html.erb +24 -0
- data/app/views/decidim/consultations/consultations/_consultation_details.html.erb +17 -0
- data/app/views/decidim/consultations/consultations/_consultations.html.erb +16 -0
- data/app/views/decidim/consultations/consultations/_count.html.erb +1 -0
- data/app/views/decidim/consultations/consultations/_filters.html.erb +25 -0
- data/app/views/decidim/consultations/consultations/_filters_small_view.html.erb +23 -0
- data/app/views/decidim/consultations/consultations/_highlighted_questions.html.erb +13 -0
- data/app/views/decidim/consultations/consultations/_question.html.erb +40 -0
- data/app/views/decidim/consultations/consultations/_regular_questions.html.erb +14 -0
- data/app/views/decidim/consultations/consultations/finished.html.erb +15 -0
- data/app/views/decidim/consultations/consultations/index.html.erb +27 -0
- data/app/views/decidim/consultations/consultations/index.js.erb +10 -0
- data/app/views/decidim/consultations/consultations/show.html.erb +11 -0
- data/app/views/decidim/consultations/question_votes/update_vote_button.js.erb +9 -0
- data/app/views/decidim/consultations/question_widgets/show.html.erb +2 -0
- data/app/views/decidim/consultations/questions/_results.html.erb +15 -0
- data/app/views/decidim/consultations/questions/_right_column.html.erb +20 -0
- data/app/views/decidim/consultations/questions/_statistics.html.erb +31 -0
- data/app/views/decidim/consultations/questions/_technical_data.html.erb +38 -0
- data/app/views/decidim/consultations/questions/_vote_button.html.erb +76 -0
- data/app/views/decidim/consultations/questions/_vote_modal.html.erb +27 -0
- data/app/views/decidim/consultations/questions/_vote_modal_confirm.html.erb +33 -0
- data/app/views/decidim/consultations/questions/show.html.erb +58 -0
- data/app/views/layouts/decidim/_consultation_header.html.erb +16 -0
- data/app/views/layouts/decidim/_consultation_voting_data.html.erb +10 -0
- data/app/views/layouts/decidim/_question_components.html.erb +38 -0
- data/app/views/layouts/decidim/_question_header.html.erb +46 -0
- data/app/views/layouts/decidim/admin/consultation.html.erb +28 -0
- data/app/views/layouts/decidim/admin/consultations.html.erb +16 -0
- data/app/views/layouts/decidim/admin/question.html.erb +72 -0
- data/app/views/layouts/decidim/consultation.html.erb +17 -0
- data/app/views/layouts/decidim/consultation_choose.html.erb +7 -0
- data/app/views/layouts/decidim/question.html.erb +19 -0
- data/config/locales/ca.yml +248 -0
- data/config/locales/en.yml +249 -0
- data/config/locales/es.yml +248 -0
- data/config/locales/eu.yml +248 -0
- data/config/locales/fi.yml +248 -0
- data/config/locales/fr.yml +248 -0
- data/config/locales/gl.yml +248 -0
- data/config/locales/it.yml +248 -0
- data/config/locales/nl.yml +248 -0
- data/config/locales/pl.yml +258 -0
- data/config/locales/pt-BR.yml +248 -0
- data/config/locales/pt.yml +248 -0
- data/config/locales/ru.yml +6 -0
- data/config/locales/sv.yml +248 -0
- data/config/locales/uk.yml +6 -0
- data/db/migrate/20180109092205_create_decidim_consultations.rb +37 -0
- data/db/migrate/20180112053247_create_decidim_consultations_questions.rb +35 -0
- data/db/migrate/20180115132000_add_end_voting_date_to_decidim_consultations.rb +18 -0
- data/db/migrate/20180115170933_add_slug_to_decidim_consultations_questions.rb +32 -0
- data/db/migrate/20180119084217_create_decidim_consultations_votes.rb +17 -0
- data/db/migrate/20180119084331_add_votes_count_to_decidim_consultations_question.rb +7 -0
- data/db/migrate/20180122113155_add_origin_scope_to_decidim_consultations_questions.rb +8 -0
- data/db/migrate/20180122113400_add_origin_title_to_decidim_consultations_questions.rb +8 -0
- data/db/migrate/20180122113447_add_origin_string_to_decidim_consultations_questions.rb +7 -0
- data/db/migrate/20180126142459_add_enable_highlighted_banner_to_decidim_consultations.rb +7 -0
- data/db/migrate/20180129063438_add_i_frame_url_to_decidim_consultations_questions.rb +8 -0
- data/db/migrate/20180129063700_create_decidim_consultations_responses.rb +14 -0
- data/db/migrate/20180129122226_rename_decidim_consultations_vote_to_decidim_consultations_endorsement.rb +7 -0
- data/db/migrate/20180129122504_rename_decidim_consultations_questions_votes_count_to_endorsements_count.rb +7 -0
- data/db/migrate/20180130060754_add_responses_count_to_decidim_consultations_questions.rb +22 -0
- data/db/migrate/20180130110449_rename_vote_related_attributes.rb +9 -0
- data/db/migrate/20180130142018_add_decidim_user_group_id_to_decidim_consultations_endorsements.rb +7 -0
- data/db/migrate/20180130142411_rename_vote_indexes_to_endorsement_indexes.rb +36 -0
- data/db/migrate/20180131083844_add_response_to_decidim_consultations_endorsements.rb +10 -0
- data/db/migrate/20180201135823_rename_endorsement_to_vote.rb +23 -0
- data/db/migrate/20180202050920_add_hero_image_to_decidim_consultations_question.rb +8 -0
- data/db/migrate/20180202085309_add_results_published_at_to_decidim_consultations.rb +7 -0
- data/db/migrate/20180202133655_add_votes_count_to_decidim_consultations_response.rb +7 -0
- data/db/migrate/20180212100503_remove_enable_highlighted_banner_flag.rb +7 -0
- data/db/migrate/20180219092120_add_order_to_decidim_consultations_questions.rb +7 -0
- data/db/migrate/20180320100658_add_introductory_image_to_decidim_consultations.rb +7 -0
- data/db/seeds/Exampledocument.pdf +0 -0
- data/db/seeds/city.jpeg +0 -0
- data/db/seeds/city2.jpeg +0 -0
- data/db/seeds/homepage_image.jpg +0 -0
- data/lib/decidim/consultations.rb +18 -0
- data/lib/decidim/consultations/admin.rb +10 -0
- data/lib/decidim/consultations/admin_engine.rb +72 -0
- data/lib/decidim/consultations/engine.rb +83 -0
- data/lib/decidim/consultations/participatory_space.rb +171 -0
- data/lib/decidim/consultations/test/factories.rb +104 -0
- data/lib/decidim/consultations/version.rb +9 -0
- metadata +288 -0
@@ -0,0 +1,38 @@
|
|
1
|
+
<div class="section">
|
2
|
+
<h2 class=section-heading>
|
3
|
+
<%= t "questions.technical_info.technical_data", scope: "decidim" %>
|
4
|
+
</h2>
|
5
|
+
|
6
|
+
<% unless translated_attribute(current_question.origin_scope).blank? %>
|
7
|
+
<h3 class="heading6"><%= t "question.origin_scope", scope: "activemodel.attributes" %></h3>
|
8
|
+
<p><%= translated_attribute current_question.origin_scope %></p>
|
9
|
+
<% end %>
|
10
|
+
|
11
|
+
<h3 class="heading6"><%= t "question.promoter_group", scope: "activemodel.attributes" %></h3>
|
12
|
+
<p><%= translated_attribute current_question.promoter_group %></p>
|
13
|
+
|
14
|
+
<% unless translated_attribute(current_question.origin_title).blank? %>
|
15
|
+
<h3 class="heading6"><%= t "question.origin_title", scope: "activemodel.attributes" %></h3>
|
16
|
+
<p>
|
17
|
+
<% if current_question.origin_url.blank? %>
|
18
|
+
<%= translated_attribute current_question.origin_title %>
|
19
|
+
<% else %>
|
20
|
+
<%= link_to translated_attribute(current_question.origin_title),
|
21
|
+
current_question.origin_url,
|
22
|
+
target: "_blank" %>
|
23
|
+
<% end %>
|
24
|
+
</p>
|
25
|
+
<% end %>
|
26
|
+
|
27
|
+
<h3 class="heading6"><%= t "question.scope", scope: "activemodel.attributes" %></h3>
|
28
|
+
<p><%= translated_attribute current_question.scope.name %></p>
|
29
|
+
|
30
|
+
<h3 class="heading6"><%= t "question.participatory_scope", scope: "activemodel.attributes" %></h3>
|
31
|
+
<p><%= translated_attribute current_question.participatory_scope %></p>
|
32
|
+
|
33
|
+
<h3 class="heading6"><%= t "consultation.start_voting_date", scope: "activemodel.attributes" %></h3>
|
34
|
+
<p><%= l current_question.start_voting_date, format: :long %></p>
|
35
|
+
|
36
|
+
<h3 class="heading6"><%= t "consultation.end_voting_date", scope: "activemodel.attributes" %></h3>
|
37
|
+
<p><%= l current_question.end_voting_date, format: :long %></p>
|
38
|
+
</div>
|
@@ -0,0 +1,76 @@
|
|
1
|
+
<div class="row question-vote-cabin">
|
2
|
+
<div class="columns mediumlarge-4 mediumlarge-push-4">
|
3
|
+
<% if question.consultation.upcoming? %>
|
4
|
+
<%= action_authorized_button_to :vote,
|
5
|
+
decidim_consultations.question_question_votes_path(question),
|
6
|
+
remote: true,
|
7
|
+
data: { disable: true },
|
8
|
+
class: "card__button button expanded disabled",
|
9
|
+
id: "vote_button" do %>
|
10
|
+
<div class="vote-button-caption"><%= t("questions.vote_button.vote", scope: "decidim") %></div>
|
11
|
+
<div>
|
12
|
+
<%= t "questions.vote_button.starting_from",
|
13
|
+
scope: "decidim",
|
14
|
+
date: l(question.start_voting_date) %>
|
15
|
+
</div>
|
16
|
+
<% end %>
|
17
|
+
<% end %>
|
18
|
+
|
19
|
+
<% if question.consultation.finished? && signed_in? && question.voted_by?(current_user) %>
|
20
|
+
<%= action_authorized_button_to :unvote,
|
21
|
+
decidim_consultations.question_question_votes_path(question),
|
22
|
+
method: :delete,
|
23
|
+
remote: true,
|
24
|
+
data: { disable: true },
|
25
|
+
class: "card__button button expanded success disabled",
|
26
|
+
id: "unvote_button" do %>
|
27
|
+
<div class="vote-button-caption">
|
28
|
+
<%= t("questions.vote_button.already_voted", scope: "decidim") %>
|
29
|
+
</div>
|
30
|
+
<% end %>
|
31
|
+
<% end %>
|
32
|
+
|
33
|
+
<% if signed_in? && question.consultation.active? %>
|
34
|
+
<% if can? :unvote, question %>
|
35
|
+
<%= action_authorized_button_to :unvote,
|
36
|
+
decidim_consultations.question_question_votes_path(question),
|
37
|
+
method: :delete,
|
38
|
+
remote: true,
|
39
|
+
data: {
|
40
|
+
disable: true
|
41
|
+
},
|
42
|
+
class: "card__button button expanded success",
|
43
|
+
id: "unvote_button" do %>
|
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") %>">
|
47
|
+
<%= t("questions.vote_button.already_voted", scope: "decidim") %>
|
48
|
+
</div>
|
49
|
+
<% end %>
|
50
|
+
<% end %>
|
51
|
+
|
52
|
+
<% if can? :vote, question %>
|
53
|
+
<%= link_to "#", class: "card__button button expanded", id: "vote_button" do %>
|
54
|
+
<div class="vote-button-caption"><%= t "questions.vote_button.vote", scope: "decidim" %></div>
|
55
|
+
<% end %>
|
56
|
+
<% end %>
|
57
|
+
<% else %>
|
58
|
+
<% if question.consultation.active? %>
|
59
|
+
<%= action_authorized_button_to :vote,
|
60
|
+
decidim_consultations.question_question_votes_path(question),
|
61
|
+
class: "card__button button expanded",
|
62
|
+
data: { disable: true },
|
63
|
+
id: "vote_button" do %>
|
64
|
+
<div class="vote-button-caption">
|
65
|
+
<%= t("questions.vote_button.vote", scope: "decidim") %>
|
66
|
+
</div>
|
67
|
+
<% end %>
|
68
|
+
<% end %>
|
69
|
+
<% end %>
|
70
|
+
</div>
|
71
|
+
</div>
|
72
|
+
|
73
|
+
<%= render partial: "decidim/consultations/questions/vote_modal", locals: { question: question } %>
|
74
|
+
<%= render partial: "decidim/consultations/questions/vote_modal_confirm", locals: { question: question } %>
|
75
|
+
<%= javascript_include_tag "decidim/consultations/utils" %>
|
76
|
+
<%= javascript_include_tag "decidim/consultations/vote_dialog" %>
|
@@ -0,0 +1,27 @@
|
|
1
|
+
<div class="reveal" data-reveal id="question-vote-modal">
|
2
|
+
<div class="reveal__header">
|
3
|
+
<h3 class="reveal__title">
|
4
|
+
<%= t "questions.vote_modal.title", scope: "decidim" %>
|
5
|
+
</h3>
|
6
|
+
<button class="close-button" data-close aria-label="Close modal" type="button">
|
7
|
+
<span aria-hidden="true">×</span>
|
8
|
+
</button>
|
9
|
+
</div>
|
10
|
+
<p><%= t "questions.vote_modal.contextual_help", scope: "decidim" %></p>
|
11
|
+
<div class="card card--secondary">
|
12
|
+
<div class="card__content">
|
13
|
+
<h4 class="heading5 text-center"><%= translated_attribute question.title %></h4>
|
14
|
+
</div>
|
15
|
+
</div>
|
16
|
+
|
17
|
+
<% question.responses.each do |response| %>
|
18
|
+
<div class="row">
|
19
|
+
<div class="columns medium-8 medium-offset-2">
|
20
|
+
<button class="button hollow expanded response-title"
|
21
|
+
data-response-id="<%= response.id %>">
|
22
|
+
<%= translated_attribute response.title %>
|
23
|
+
</button>
|
24
|
+
</div>
|
25
|
+
</div>
|
26
|
+
<% end %>
|
27
|
+
</div>
|
@@ -0,0 +1,33 @@
|
|
1
|
+
<div class="reveal" data-reveal id="question-vote-confirm-modal">
|
2
|
+
<div class="reveal__header">
|
3
|
+
<h3 class="reveal__title">
|
4
|
+
<%= t "questions.vote_modal_confirm.title", scope: "decidim" %>
|
5
|
+
</h3>
|
6
|
+
<button class="close-button" data-close aria-label="Close modal" type="button">
|
7
|
+
<span aria-hidden="true">×</span>
|
8
|
+
</button>
|
9
|
+
</div>
|
10
|
+
<p><%= t "questions.vote_modal_confirm.contextual_help", scope: "decidim" %></p>
|
11
|
+
<div class="card card--secondary">
|
12
|
+
<div class="card__content">
|
13
|
+
<h4 class="heading5 text-center"><%= translated_attribute question.title %></h4>
|
14
|
+
<h5 class="heading6 text-center" id="question-vote-confirm-modal-question-title"></h5>
|
15
|
+
</div>
|
16
|
+
</div>
|
17
|
+
<div class="row">
|
18
|
+
<div class="columns medium-8 medium-offset-2">
|
19
|
+
<%= form_with url: decidim_consultations.question_question_votes_path(question),
|
20
|
+
id: "confirm-vote-form" do |form| %>
|
21
|
+
<%= form.hidden_field :decidim_consultations_response_id, id: "decidim_consultations_response_id" %>
|
22
|
+
<%= form.submit t("questions.vote_modal_confirm.confirm", scope: "decidim"),
|
23
|
+
class: "button expanded",
|
24
|
+
data: { disable: true } %>
|
25
|
+
<% end %>
|
26
|
+
</div>
|
27
|
+
</div>
|
28
|
+
<div class="text-center">
|
29
|
+
<button class="link" id="question-vote-confirm-modal-button-change">
|
30
|
+
<%= t "questions.vote_modal_confirm.change", scope: "decidim" %>
|
31
|
+
</button>
|
32
|
+
</div>
|
33
|
+
</div>
|
@@ -0,0 +1,58 @@
|
|
1
|
+
<div class="row column">
|
2
|
+
<div class="row">
|
3
|
+
<div class="columns medium-7 mediumlarge-8">
|
4
|
+
<div class="section">
|
5
|
+
<%= decidim_sanitize translated_attribute current_question.question_context %>
|
6
|
+
|
7
|
+
<div class="show-more">
|
8
|
+
<button class="button button--muted small"><%= t "read_more", scope: "decidim.questions.show" %></button>
|
9
|
+
</div>
|
10
|
+
|
11
|
+
<div class="hide show-more-panel">
|
12
|
+
<%= render partial: "technical_data" %>
|
13
|
+
|
14
|
+
<div class="section">
|
15
|
+
<h2 class=section-heading><%= t "question.what_is_decided", scope: "activemodel.attributes" %></h2>
|
16
|
+
<p><%= decidim_sanitize translated_attribute current_question.what_is_decided %></p>
|
17
|
+
</div>
|
18
|
+
|
19
|
+
<div class="section">
|
20
|
+
<h2 class=section-heading><%= t "question.question_context", scope: "activemodel.attributes" %></h2>
|
21
|
+
<p><%= decidim_sanitize translated_attribute current_question.question_context %></p>
|
22
|
+
</div>
|
23
|
+
</div>
|
24
|
+
</div>
|
25
|
+
|
26
|
+
<%= attachments_for current_question %>
|
27
|
+
</div>
|
28
|
+
|
29
|
+
<%= render partial: "right_column", locals: { question: current_question } %>
|
30
|
+
</div>
|
31
|
+
</div>
|
32
|
+
|
33
|
+
<%= javascript_include_tag "decidim/consultations/show_more" %>
|
34
|
+
<%= comments_for current_question if current_question.published? %>
|
35
|
+
|
36
|
+
<%= content_for :question_header_details do %>
|
37
|
+
<div id="question-header-details" class="row consultations-home-intro">
|
38
|
+
<div class="columns medium-5">
|
39
|
+
<img src="<%= current_question.hero_image&.url %>" />
|
40
|
+
</div>
|
41
|
+
|
42
|
+
<div class="columns medium-5">
|
43
|
+
<% unless translated_attribute(current_question.origin_scope).blank? %>
|
44
|
+
<h4 class="heading6"><%= t "question.origin_scope", scope: "activemodel.attributes" %></h4>
|
45
|
+
<p><%= translated_attribute current_question.origin_scope %></p>
|
46
|
+
<% end %>
|
47
|
+
|
48
|
+
<h4 class="heading6"><%= t "question.promoter_group", scope: "activemodel.attributes" %></h4>
|
49
|
+
<p><%= translated_attribute current_question.promoter_group %></p>
|
50
|
+
|
51
|
+
<h4 class="heading6"><%= t "question.scope", scope: "activemodel.attributes" %></h4>
|
52
|
+
<p><%= translated_attribute current_question.scope.name %></p>
|
53
|
+
|
54
|
+
<h4 class="heading6"><%= t "question.participatory_scope", scope: "activemodel.attributes" %></h4>
|
55
|
+
<p><%= translated_attribute current_question.participatory_scope %></p>
|
56
|
+
</div>
|
57
|
+
</div>
|
58
|
+
<% end %>
|
@@ -0,0 +1,16 @@
|
|
1
|
+
<div class="consultations-header consultations-home-banner row column">
|
2
|
+
<div class="row column consultations-header__main"
|
3
|
+
style="background-image:url(<%= current_consultation.banner_image.url %>);">
|
4
|
+
<div class="consultations-header__container row">
|
5
|
+
<div class="columns mediumlarge-9 consultations-header__info">
|
6
|
+
<div>
|
7
|
+
<h1 class="heading2 text-highlight">
|
8
|
+
<%= translated_attribute(current_consultation.title) %>
|
9
|
+
</h1>
|
10
|
+
<p class="text-highlight"><%= translated_attribute current_consultation.subtitle %></p>
|
11
|
+
</div>
|
12
|
+
</div>
|
13
|
+
<%= render partial: "layouts/decidim/consultation_voting_data", locals: { consultation: current_consultation } %>
|
14
|
+
</div>
|
15
|
+
</div>
|
16
|
+
</div>
|
@@ -0,0 +1,10 @@
|
|
1
|
+
<div class="columns mediumlarge-3">
|
2
|
+
<div class="consultations-header__extra">
|
3
|
+
<div>
|
4
|
+
<span class="consultations-header__extra-title"><%= t ".start_voting_date" %></span>
|
5
|
+
<span class="consultations-header__extra-date">
|
6
|
+
<%= l consultation.start_voting_date %>
|
7
|
+
</span>
|
8
|
+
</div>
|
9
|
+
</div>
|
10
|
+
</div>
|
@@ -0,0 +1,38 @@
|
|
1
|
+
<div class="row column">
|
2
|
+
<div class="process-nav consultations-nav">
|
3
|
+
<button class="process-nav__trigger hide-for-medium" data-toggle="process-nav-content">
|
4
|
+
<%= icon "caret-bottom", class: "icon--small process-nav__trigger__icon", aria_label: t(".unfold"), role: "img" %>
|
5
|
+
<div class="process-nav__link">
|
6
|
+
<% if self.try(:current_component) %>
|
7
|
+
<%= component_icon(current_component) %>
|
8
|
+
<%= translated_attribute(current_component.name) %>
|
9
|
+
<% else %>
|
10
|
+
<%= external_icon "decidim/pages/icon.svg" %>
|
11
|
+
<%= t ".question_menu_item" %>
|
12
|
+
<% end %>
|
13
|
+
</div>
|
14
|
+
</button>
|
15
|
+
<div class="row column process-nav__content is-active" id="process-nav-content" data-toggler=".is-active">
|
16
|
+
<ul>
|
17
|
+
<li class="<%= "is-active" if is_active_link?(decidim_consultations.question_path(question), :exclusive) %>"
|
18
|
+
<%= active_link_to decidim_consultations.question_path(question),
|
19
|
+
active: :exclusive,
|
20
|
+
class: "process-nav__link",
|
21
|
+
class_active: "is-active" do %>
|
22
|
+
<%= external_icon "decidim/pages/icon.svg" %>
|
23
|
+
<%= t ".question_menu_item" %>
|
24
|
+
<% end %>>
|
25
|
+
<% question.components.each do |component| %>
|
26
|
+
<% if component.published? || component == self.try(:current_component) %>
|
27
|
+
<li class="<%= "is-active" if is_active_link?(main_component_path(component), :inclusive) %>">
|
28
|
+
<%= active_link_to main_component_path(component), class: "process-nav__link", active: :inclusive, class_active: "is-active" do %>
|
29
|
+
<%= component_icon(component) %>
|
30
|
+
<%= translated_attribute(component.name) %>
|
31
|
+
<% end %>
|
32
|
+
</li>
|
33
|
+
<% end %>
|
34
|
+
<% end %>
|
35
|
+
</ul>
|
36
|
+
</div>
|
37
|
+
</div>
|
38
|
+
</div>
|
@@ -0,0 +1,46 @@
|
|
1
|
+
<div class="consultations-header row column">
|
2
|
+
<div class="row column consultations-header__main"
|
3
|
+
style="background-image:url(<%= question.banner_image_url %>);">
|
4
|
+
<div class="consultations-header__container row">
|
5
|
+
<div class="columns mediumlarge-9 consultations-header__info">
|
6
|
+
<div>
|
7
|
+
<h1 class="text-highlight heading2">
|
8
|
+
<%= link_to translated_attribute(question.consultation.title),
|
9
|
+
decidim_consultations.consultation_path(question.consultation) %>
|
10
|
+
</h1>
|
11
|
+
<%= link_to decidim_consultations.consultations_path, class: "consultations-header__link" do %>
|
12
|
+
<%= t ".back_to_consultation" %>
|
13
|
+
<%= icon "media-play" %>
|
14
|
+
<% end %>
|
15
|
+
</div>
|
16
|
+
</div>
|
17
|
+
|
18
|
+
<%= render partial: "layouts/decidim/consultation_voting_data", locals: { consultation: question.consultation } %>
|
19
|
+
</div>
|
20
|
+
</div>
|
21
|
+
</div>
|
22
|
+
|
23
|
+
<div class="row column consultations-title">
|
24
|
+
<h1 class="heading2"><%= decidim_sanitize translated_attribute question.title %></h1>
|
25
|
+
<% unless question.hashtag.blank? %>
|
26
|
+
<div class="text-center">
|
27
|
+
<%= link_to "##{question.hashtag}", "https://twitter.com/hashtag/#{question.hashtag}", target: "_blank" %>
|
28
|
+
</div>
|
29
|
+
<% end %>
|
30
|
+
|
31
|
+
<%= yield :question_header_details if content_for? :question_header_details %>
|
32
|
+
</div>
|
33
|
+
|
34
|
+
<% if question.external_voting %>
|
35
|
+
<iframe src="<%= question.i_frame_url %>"></iframe>
|
36
|
+
<% else %>
|
37
|
+
<% if question.results_published? %>
|
38
|
+
<%= render partial: "decidim/consultations/questions/results", locals: { question: question } %>
|
39
|
+
<% else %>
|
40
|
+
<div id="question-<%= question.id %>-vote-button">
|
41
|
+
<%= render partial: "decidim/consultations/questions/vote_button", locals: { question: question } %>
|
42
|
+
</div>
|
43
|
+
<% end %>
|
44
|
+
<% end %>
|
45
|
+
|
46
|
+
<%= render partial: "layouts/decidim/question_components", locals: { question: question} %>
|
@@ -0,0 +1,28 @@
|
|
1
|
+
<% content_for :secondary_nav do %>
|
2
|
+
<div class="secondary-nav secondary-nav--subnav">
|
3
|
+
<ul>
|
4
|
+
<% if can? :update, current_consultation %>
|
5
|
+
<li <% if is_active_link?(decidim_admin_consultations.edit_consultation_path(current_consultation)) %> class="is-active" <% end %>>
|
6
|
+
<%= aria_selected_link_to t("info", scope: "decidim.admin.menu.consultations_submenu"),
|
7
|
+
decidim_admin_consultations.edit_consultation_path(current_consultation) %>
|
8
|
+
</li>
|
9
|
+
<% end %>
|
10
|
+
|
11
|
+
<% if can?(:index, Decidim::Consultations::Question) %>
|
12
|
+
<li <% if is_active_link?(decidim_admin_consultations.consultation_questions_path(current_consultation)) %> class="is-active" <% end %>>
|
13
|
+
<%= aria_selected_link_to t("questions", scope: "decidim.admin.menu.consultations_submenu"),
|
14
|
+
decidim_admin_consultations.consultation_questions_path(current_consultation) %>
|
15
|
+
</li>
|
16
|
+
<% end %>
|
17
|
+
</ul>
|
18
|
+
</div>
|
19
|
+
<% end %>
|
20
|
+
|
21
|
+
<%= render "layouts/decidim/admin/application" do %>
|
22
|
+
<div class="process-title">
|
23
|
+
<div class="process-title-content">
|
24
|
+
<%= translated_attribute(current_consultation.title) %>
|
25
|
+
</div>
|
26
|
+
</div>
|
27
|
+
<%= yield %>
|
28
|
+
<% end %>
|
@@ -0,0 +1,16 @@
|
|
1
|
+
<% content_for :secondary_nav do %>
|
2
|
+
<div class="secondary-nav secondary-nav--subnav">
|
3
|
+
<ul>
|
4
|
+
<% if can?(:index, Decidim::Consultation) %>
|
5
|
+
<li <% if is_active_link?(decidim_admin_consultations.consultations_path) %> class="is-active" <% end %>>
|
6
|
+
<%= aria_selected_link_to I18n.t("menu.consultations", scope: "decidim.admin"),
|
7
|
+
decidim_admin_consultations.consultations_path %>
|
8
|
+
</li>
|
9
|
+
<% end %>
|
10
|
+
</ul>
|
11
|
+
</div>
|
12
|
+
<% end %>
|
13
|
+
|
14
|
+
<%= render "layouts/decidim/admin/application" do %>
|
15
|
+
<%= yield %>
|
16
|
+
<% end %>
|
@@ -0,0 +1,72 @@
|
|
1
|
+
<% content_for :secondary_nav do %>
|
2
|
+
<div class="secondary-nav secondary-nav--subnav">
|
3
|
+
<ul>
|
4
|
+
<% if can? :update, current_participatory_space.consultation %>
|
5
|
+
<li <% if is_active_link?(decidim_admin_consultations.edit_consultation_path(current_participatory_space.consultation)) %> class="is-active" <% end %>>
|
6
|
+
<%= aria_selected_link_to t("consultation", scope: "decidim.admin.menu.questions_submenu"),
|
7
|
+
decidim_admin_consultations.edit_consultation_path(current_participatory_space.consultation) %>
|
8
|
+
</li>
|
9
|
+
<% end %>
|
10
|
+
|
11
|
+
<% if can?(:update, current_participatory_space) %>
|
12
|
+
<li <% if is_active_link?(decidim_admin_consultations.edit_question_path(current_participatory_space)) %> class="is-active" <% end %>>
|
13
|
+
<%= aria_selected_link_to t("info", scope: "decidim.admin.menu.questions_submenu"),
|
14
|
+
decidim_admin_consultations.edit_question_path(current_participatory_space) %>
|
15
|
+
</li>
|
16
|
+
<% end %>
|
17
|
+
|
18
|
+
<% if can? :read, Decidim::Consultations::Response %>
|
19
|
+
<li <% if is_active_link?(decidim_admin_consultations.responses_path(current_participatory_space)) %> class="is-active" <% end %>>
|
20
|
+
<%= aria_selected_link_to t("responses", scope: "decidim.admin.menu.questions_submenu"),
|
21
|
+
decidim_admin_consultations.responses_path(current_participatory_space) %>
|
22
|
+
</li>
|
23
|
+
<% end %>
|
24
|
+
|
25
|
+
<% if can? :read, Decidim::Component %>
|
26
|
+
<li <% if is_active_link?(decidim_admin_consultations.components_path(current_participatory_space)) %> class="is-active" <% end %>>
|
27
|
+
<%= aria_selected_link_to t("components", scope: "decidim.admin.menu.questions_submenu"),
|
28
|
+
decidim_admin_consultations.components_path(current_participatory_space) %>
|
29
|
+
<ul>
|
30
|
+
<% current_participatory_space.components.each do |component| %>
|
31
|
+
<% if component.manifest.admin_engine %>
|
32
|
+
<li <% if is_active_link?(manage_component_path(component)) || is_active_link?(decidim_admin_consultations.edit_component_path(current_participatory_space, component)) || is_active_link?(decidim_admin_consultations.edit_component_permissions_path(current_participatory_space, component)) %> class="is-active" <% end %>>
|
33
|
+
<%= link_to manage_component_path(component) do %>
|
34
|
+
<%= translated_attribute component.name %>
|
35
|
+
<% if component.primary_stat.present? %>
|
36
|
+
<span class="component-counter <%= "component-counter--off" if component.primary_stat.zero? %>">
|
37
|
+
<%= component.primary_stat %>
|
38
|
+
</span>
|
39
|
+
<% end %>
|
40
|
+
<% end %>
|
41
|
+
</li>
|
42
|
+
<% end %>
|
43
|
+
<% end %>
|
44
|
+
</ul>
|
45
|
+
</li>
|
46
|
+
<% end %>
|
47
|
+
|
48
|
+
<% if can? :read, Decidim::Category %>
|
49
|
+
<li <% if is_active_link?(decidim_admin_consultations.categories_path(current_participatory_space)) %> class="is-active" <% end %>>
|
50
|
+
<%= aria_selected_link_to t(".categories"),
|
51
|
+
decidim_admin_consultations.categories_path(current_participatory_space) %>
|
52
|
+
</li>
|
53
|
+
<% end %>
|
54
|
+
|
55
|
+
<% if can? :read, Decidim::Attachment %>
|
56
|
+
<li <% if is_active_link?(decidim_admin_consultations.question_attachments_path(current_participatory_space)) %> class="is-active" <% end %>>
|
57
|
+
<%= aria_selected_link_to t(".attachments"),
|
58
|
+
decidim_admin_consultations.question_attachments_path(current_participatory_space) %>
|
59
|
+
</li>
|
60
|
+
<% end %>
|
61
|
+
</ul>
|
62
|
+
</div>
|
63
|
+
<% end %>
|
64
|
+
|
65
|
+
<%= render "layouts/decidim/admin/application" do %>
|
66
|
+
<div class="process-title">
|
67
|
+
<div class="process-title-content">
|
68
|
+
<%= translated_attribute(current_participatory_space.consultation.title) %>
|
69
|
+
</div>
|
70
|
+
</div>
|
71
|
+
<%= yield %>
|
72
|
+
<% end %>
|