decidim-assemblies 0.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/README.md +34 -0
- data/Rakefile +3 -0
- data/app/assets/config/admin/decidim_assemblies_manifest.js +1 -0
- data/app/assets/config/decidim_assemblies_manifest.js +1 -0
- data/app/assets/images/decidim/assemblies/assembly.svg +6 -0
- data/app/assets/javascripts/decidim/assemblies/admin/assemblies.js.es6 +12 -0
- data/app/commands/decidim/assemblies/admin/copy_assembly.rb +88 -0
- data/app/commands/decidim/assemblies/admin/create_assembly.rb +68 -0
- data/app/commands/decidim/assemblies/admin/publish_assembly.rb +34 -0
- data/app/commands/decidim/assemblies/admin/unpublish_assembly.rb +34 -0
- data/app/commands/decidim/assemblies/admin/update_assembly.rb +73 -0
- data/app/constraints/decidim/assemblies/current_assembly.rb +37 -0
- data/app/constraints/decidim/assemblies/current_feature.rb +28 -0
- data/app/controllers/concerns/decidim/assemblies/admin/assembly_context.rb +21 -0
- data/app/controllers/concerns/decidim/assemblies/assembly_context.rb +25 -0
- data/app/controllers/concerns/decidim/assemblies/needs_assembly.rb +50 -0
- data/app/controllers/decidim/assemblies/admin/application_controller.rb +11 -0
- data/app/controllers/decidim/assemblies/admin/assemblies_controller.rb +100 -0
- data/app/controllers/decidim/assemblies/admin/assembly_attachments_controller.rb +27 -0
- data/app/controllers/decidim/assemblies/admin/assembly_copies_controller.rb +35 -0
- data/app/controllers/decidim/assemblies/admin/assembly_publications_controller.rb +45 -0
- data/app/controllers/decidim/assemblies/admin/categories_controller.rb +13 -0
- data/app/controllers/decidim/assemblies/admin/concerns/assembly_admin.rb +26 -0
- data/app/controllers/decidim/assemblies/admin/exports_controller.rb +14 -0
- data/app/controllers/decidim/assemblies/admin/feature_permissions_controller.rb +14 -0
- data/app/controllers/decidim/assemblies/admin/features_controller.rb +14 -0
- data/app/controllers/decidim/assemblies/admin/moderations_controller.rb +12 -0
- data/app/controllers/decidim/assemblies/assemblies_controller.rb +43 -0
- data/app/controllers/decidim/assemblies/assembly_widgets_controller.rb +21 -0
- data/app/controllers/decidim/assemblies/categories_controller.rb +13 -0
- data/app/forms/decidim/assemblies/admin/assembly_copy_form.rb +34 -0
- data/app/forms/decidim/assemblies/admin/assembly_form.rb +63 -0
- data/app/models/decidim/assemblies/abilities/admin/admin_ability.rb +18 -0
- data/app/models/decidim/assemblies/abilities/admin_ability.rb +16 -0
- data/app/models/decidim/assemblies/abilities/everyone_ability.rb +17 -0
- data/app/models/decidim/assembly.rb +45 -0
- data/app/presenters/decidim/assemblies/assembly_stats_presenter.rb +52 -0
- data/app/queries/decidim/assemblies/admin/admin_users.rb +39 -0
- data/app/queries/decidim/assemblies/organization_assemblies.rb +16 -0
- data/app/queries/decidim/assemblies/organization_prioritized_assemblies.rb +20 -0
- data/app/queries/decidim/assemblies/organization_published_assemblies.rb +19 -0
- data/app/queries/decidim/assemblies/prioritized_assemblies.rb +13 -0
- data/app/queries/decidim/assemblies/promoted_assemblies.rb +12 -0
- data/app/queries/decidim/assemblies/published_assemblies.rb +12 -0
- data/app/views/decidim/assemblies/_assembly.html.erb +22 -0
- data/app/views/decidim/assemblies/_order_by_assemblies.html.erb +3 -0
- data/app/views/decidim/assemblies/admin/assemblies/_form.html.erb +89 -0
- data/app/views/decidim/assemblies/admin/assemblies/edit.html.erb +19 -0
- data/app/views/decidim/assemblies/admin/assemblies/index.html.erb +66 -0
- data/app/views/decidim/assemblies/admin/assemblies/new.html.erb +11 -0
- data/app/views/decidim/assemblies/admin/assembly_copies/_form.html.erb +34 -0
- data/app/views/decidim/assemblies/admin/assembly_copies/new.html.erb +7 -0
- data/app/views/decidim/assemblies/assemblies/_no_assemblies_yet.html.erb +3 -0
- data/app/views/decidim/assemblies/assemblies/_promoted_assembly.html.erb +27 -0
- data/app/views/decidim/assemblies/assemblies/_statistics.html.erb +10 -0
- data/app/views/decidim/assemblies/assemblies/index.html.erb +17 -0
- data/app/views/decidim/assemblies/assemblies/show.html.erb +74 -0
- data/app/views/decidim/assemblies/assembly_widgets/show.html.erb +11 -0
- data/app/views/layouts/decidim/_assembly_header.html.erb +64 -0
- data/app/views/layouts/decidim/admin/assemblies.html.erb +14 -0
- data/app/views/layouts/decidim/admin/assembly.html.erb +54 -0
- data/app/views/layouts/decidim/assembly.html.erb +30 -0
- data/config/locales/ca.yml +128 -0
- data/config/locales/en.yml +128 -0
- data/config/locales/es.yml +128 -0
- data/config/locales/eu.yml +127 -0
- data/config/locales/fi.yml +127 -0
- data/config/locales/fr.yml +127 -0
- data/config/locales/it.yml +127 -0
- data/config/locales/nl.yml +127 -0
- data/config/locales/pl.yml +128 -0
- data/config/locales/uk.yml +129 -0
- data/db/migrate/20170727190859_add_assemblies.rb +37 -0
- data/db/migrate/20170822153055_add_scopes_enabled_to_assemblies.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/assemblies.rb +12 -0
- data/lib/decidim/assemblies/admin.rb +10 -0
- data/lib/decidim/assemblies/admin_engine.rb +79 -0
- data/lib/decidim/assemblies/engine.rb +53 -0
- data/lib/decidim/assemblies/participatory_space.rb +69 -0
- data/lib/decidim/assemblies/test/factories.rb +41 -0
- metadata +188 -0
@@ -0,0 +1,89 @@
|
|
1
|
+
<div class="card">
|
2
|
+
<div class="card-divider">
|
3
|
+
<h2 class="card-title"><%= t "assemblies.form.title", scope: "decidim.admin" %></h2>
|
4
|
+
</div>
|
5
|
+
|
6
|
+
<div class="card-section">
|
7
|
+
<div class="row column">
|
8
|
+
<%= form.translated :text_field, :title, autofocus: true %>
|
9
|
+
</div>
|
10
|
+
|
11
|
+
<div class="row column">
|
12
|
+
<%= form.translated :text_field, :subtitle %>
|
13
|
+
</div>
|
14
|
+
|
15
|
+
<div class="row">
|
16
|
+
<div class="columns xlarge-6">
|
17
|
+
<%= form.text_field :slug %>
|
18
|
+
</div>
|
19
|
+
|
20
|
+
<div class="columns xlarge-6">
|
21
|
+
<%= form.text_field :hashtag %>
|
22
|
+
</div>
|
23
|
+
</div>
|
24
|
+
|
25
|
+
<div class="row column">
|
26
|
+
<%= form.check_box :promoted %>
|
27
|
+
</div>
|
28
|
+
|
29
|
+
<div class="row column">
|
30
|
+
<%= form.translated :editor, :short_description %>
|
31
|
+
</div>
|
32
|
+
|
33
|
+
<div class="row column">
|
34
|
+
<%= form.translated :editor, :description, toolbar: :full, lines: 25 %>
|
35
|
+
</div>
|
36
|
+
|
37
|
+
<div class="row">
|
38
|
+
<div class="columns xlarge-6">
|
39
|
+
<%= form.upload :hero_image %>
|
40
|
+
</div>
|
41
|
+
|
42
|
+
<div class="columns xlarge-6">
|
43
|
+
<%= form.upload :banner_image %>
|
44
|
+
</div>
|
45
|
+
</div>
|
46
|
+
|
47
|
+
<div class="row">
|
48
|
+
<div class="columns xlarge-6">
|
49
|
+
<%= form.translated :text_field, :meta_scope %>
|
50
|
+
</div>
|
51
|
+
</div>
|
52
|
+
|
53
|
+
<div class="row">
|
54
|
+
<div class="columns xlarge-6">
|
55
|
+
<%= form.translated :text_field, :developer_group %>
|
56
|
+
</div>
|
57
|
+
|
58
|
+
<div class="columns xlarge-6">
|
59
|
+
<%= form.translated :text_field, :local_area %>
|
60
|
+
</div>
|
61
|
+
</div>
|
62
|
+
|
63
|
+
<div class="row column">
|
64
|
+
<%= form.translated :text_field, :target %>
|
65
|
+
</div>
|
66
|
+
|
67
|
+
<div class="row column">
|
68
|
+
<%= form.check_box :scopes_enabled %>
|
69
|
+
</div>
|
70
|
+
|
71
|
+
<div class="row column">
|
72
|
+
<%= form.scopes_select :scope_id, prompt: t("decidim.scopes.global"), remote_path: decidim.scopes_search_path %>
|
73
|
+
</div>
|
74
|
+
|
75
|
+
<div class="row column">
|
76
|
+
<%= form.translated :text_field, :participatory_scope %>
|
77
|
+
</div>
|
78
|
+
|
79
|
+
<div class="row column">
|
80
|
+
<%= form.translated :text_field, :participatory_structure %>
|
81
|
+
</div>
|
82
|
+
|
83
|
+
<div class="row column">
|
84
|
+
<%= form.check_box :show_statistics %>
|
85
|
+
</div>
|
86
|
+
</div>
|
87
|
+
</div>
|
88
|
+
|
89
|
+
<%= javascript_include_tag "decidim/assemblies/admin/assemblies" %>
|
@@ -0,0 +1,19 @@
|
|
1
|
+
<%= decidim_form_for(@form, html: { class: "form edit_assembly" }) do |f| %>
|
2
|
+
<%= render partial: 'form', object: f %>
|
3
|
+
<div class="button--double form-general-submit">
|
4
|
+
<%= f.submit t("assemblies.edit.update", scope: "decidim.admin"), class: "button" %>
|
5
|
+
|
6
|
+
<% if can? :publish, current_assembly %>
|
7
|
+
<% if current_assembly.published? %>
|
8
|
+
<%= link_to t("actions.unpublish", scope: "decidim.admin"), assembly_publish_path(current_assembly), method: :delete, class: "button muted" %>
|
9
|
+
<% else %>
|
10
|
+
<%= link_to t("actions.publish", scope: "decidim.admin"), assembly_publish_path(current_assembly), method: :post, class: "button hollow" %>
|
11
|
+
<% end %>
|
12
|
+
<% end %>
|
13
|
+
|
14
|
+
<% if can? :destroy, current_assembly %>
|
15
|
+
<%= link_to t("decidim.admin.actions.destroy"), current_assembly, method: :delete, class: "alert button", data: { confirm: t("decidim.admin.actions.confirm_destroy") } %>
|
16
|
+
<% end %>
|
17
|
+
</div>
|
18
|
+
<% end %>
|
19
|
+
|
@@ -0,0 +1,66 @@
|
|
1
|
+
<div class="card" id="assemblies">
|
2
|
+
<div class="card-divider">
|
3
|
+
<h2 class="card-title">
|
4
|
+
<%= t "decidim.admin.titles.assemblies" %><%= link_to t("actions.new", scope: "decidim.admin", name: t("models.assembly.name", scope: "decidim.admin")), ['new', 'assembly'], class: 'button tiny button--title' if can? :create, Decidim::Assembly %>
|
5
|
+
</h2>
|
6
|
+
</div>
|
7
|
+
<div class="card-section">
|
8
|
+
<div class="table-scroll">
|
9
|
+
<table class="table-list">
|
10
|
+
<thead>
|
11
|
+
<tr>
|
12
|
+
<th><%= t("models.assembly.fields.title", scope: "decidim.admin") %></th>
|
13
|
+
<th><%= t("models.assembly.fields.created_at", scope: "decidim.admin") %></th>
|
14
|
+
<th class="table-list__actions"><%= t("models.assembly.fields.published", scope: "decidim.admin") %></th>
|
15
|
+
<th></th>
|
16
|
+
</tr>
|
17
|
+
</thead>
|
18
|
+
<tbody>
|
19
|
+
<% @assemblies.each do |assembly| %>
|
20
|
+
<tr>
|
21
|
+
<td>
|
22
|
+
<% if assembly.promoted? %>
|
23
|
+
<span data-tooltip class="icon-state icon-highlight" aria-haspopup="true" data-disable-hover="false" title="<%= t("models.assembly.fields.promoted", scope: "decidim.admin") %>">
|
24
|
+
<%= icon "star" %>
|
25
|
+
</span>
|
26
|
+
<% end %>
|
27
|
+
<% if can? :update, assembly %>
|
28
|
+
<%= link_to translated_attribute(assembly.title), edit_assembly_path(assembly) %><br />
|
29
|
+
<% elsif can? :preview, assembly %>
|
30
|
+
<%= link_to translated_attribute(assembly.title), decidim_assemblies.assembly_path(assembly) %><br />
|
31
|
+
<% elsif can? :read, Decidim::Moderation %>
|
32
|
+
<%= link_to translated_attribute(assembly.title), moderations_path(assembly) %><br />
|
33
|
+
<% else %>
|
34
|
+
<%= translated_attribute(assembly.title) %>
|
35
|
+
<% end %>
|
36
|
+
</td>
|
37
|
+
<td>
|
38
|
+
<%= l assembly.created_at, format: :short %>
|
39
|
+
</td>
|
40
|
+
<td class="table-list__state">
|
41
|
+
<% if assembly.published? %>
|
42
|
+
<strong class="text-success"><%= t('assemblies.index.published', scope: "decidim.admin") %></strong>
|
43
|
+
<% else %>
|
44
|
+
<strong class="text-alert"><%= t('assemblies.index.not_published', scope: "decidim.admin") %></strong>
|
45
|
+
<% end %>
|
46
|
+
</td>
|
47
|
+
<td class="table-list__actions">
|
48
|
+
<% if can? :create, assembly %>
|
49
|
+
<%= icon_link_to "clipboard", new_assembly_copy_path(assembly), t("actions.duplicate", scope: "decidim.admin"), class: "action-icon--copy" %>
|
50
|
+
<% end %>
|
51
|
+
|
52
|
+
<% if can? :update, assembly %>
|
53
|
+
<%= icon_link_to "pencil", edit_assembly_path(assembly), t("actions.configure", scope: "decidim.admin"), class: "action-icon--new" %>
|
54
|
+
<% end %>
|
55
|
+
|
56
|
+
<% if can? :preview, assembly %>
|
57
|
+
<%= icon_link_to "eye", decidim_assemblies.assembly_path(assembly), t("actions.preview", scope: "decidim.admin"), class: "action-icon--preview" %>
|
58
|
+
<% end %>
|
59
|
+
</td>
|
60
|
+
</tr>
|
61
|
+
<% end %>
|
62
|
+
</tbody>
|
63
|
+
</table>
|
64
|
+
</div>
|
65
|
+
</div>
|
66
|
+
</div>
|
@@ -0,0 +1,11 @@
|
|
1
|
+
<h2 class="assembly-title-summary">
|
2
|
+
<%= t "assemblies.new.title", scope: "decidim.admin" %>
|
3
|
+
</h2>
|
4
|
+
|
5
|
+
<%= decidim_form_for(@form, html: { class: "form new_assembly" }) do |f| %>
|
6
|
+
<%= render partial: 'form', object: f %>
|
7
|
+
|
8
|
+
<div class="button--double form-general-submit">
|
9
|
+
<%= f.submit t("assemblies.new.create", scope: "decidim.admin") %>
|
10
|
+
</div>
|
11
|
+
<% end %>
|
@@ -0,0 +1,34 @@
|
|
1
|
+
<div class="card" id="assemblies">
|
2
|
+
<div class="card-divider">
|
3
|
+
<h2 class="card-title"><%= title %></h2>
|
4
|
+
</div>
|
5
|
+
|
6
|
+
<div class="card-section">
|
7
|
+
<div class="row column">
|
8
|
+
<div class="row">
|
9
|
+
<div class="column xlarge-8">
|
10
|
+
<%= form.translated :text_field, :title, autofocus: true %>
|
11
|
+
</div>
|
12
|
+
<div class="column xlarge-4">
|
13
|
+
<%= form.text_field :slug %>
|
14
|
+
</div>
|
15
|
+
</div>
|
16
|
+
<div class="card">
|
17
|
+
<div class="card-divider">
|
18
|
+
<legend><%= select %></legend>
|
19
|
+
</div>
|
20
|
+
<div class="card-section">
|
21
|
+
<div class="row">
|
22
|
+
<div class="columns xlarge-3">
|
23
|
+
<%= form.check_box :copy_categories %>
|
24
|
+
</div>
|
25
|
+
|
26
|
+
<div class="columns xlarge-6">
|
27
|
+
<%= form.check_box :copy_features %>
|
28
|
+
</div>
|
29
|
+
</div>
|
30
|
+
</div>
|
31
|
+
</div>
|
32
|
+
</div>
|
33
|
+
</div>
|
34
|
+
</div>
|
@@ -0,0 +1,7 @@
|
|
1
|
+
<%= decidim_form_for(@form, url: assembly_copies_path(current_assembly), method: :post, html: { class: "form copy_assembly" }) do |f| %>
|
2
|
+
<%= render partial: 'form', object: f, locals: { title: t('assembly_copies.new.title', scope: "decidim.admin"), select: t('assembly_copies.new.select', scope: "decidim.admin")} %>
|
3
|
+
|
4
|
+
<div class="button--double form-general-submit">
|
5
|
+
<%= f.submit t("assembly_copies.new.copy", scope: "decidim.admin") %>
|
6
|
+
</div>
|
7
|
+
<% end %>
|
@@ -0,0 +1,27 @@
|
|
1
|
+
<article class="card card--full card--process">
|
2
|
+
<div class="row collapse card--process__row">
|
3
|
+
<div class="columns mediumlarge-8 large-6 card--process__column">
|
4
|
+
<div class="card__content">
|
5
|
+
<%= link_to assembly_path(promoted_assembly), class: "card__link" do %>
|
6
|
+
<h2 class="card__title"><%= translated_attribute promoted_assembly.title %></h2>
|
7
|
+
<% end %>
|
8
|
+
<%== html_truncate(translated_attribute(promoted_assembly.short_description), length: 630, separator: '...') %>
|
9
|
+
<%= link_to assembly_path(promoted_assembly), class: "button secondary small hollow card__button" do %>
|
10
|
+
<%= t("assemblies.promoted_assembly.more_info", scope: "layouts.decidim") %>
|
11
|
+
<% end %>
|
12
|
+
</div>
|
13
|
+
</div>
|
14
|
+
<div class="columns mediumlarge-8 large-6 card--process__column">
|
15
|
+
<div class="card--full__image"
|
16
|
+
style="background-image:url(<%= promoted_assembly.hero_image.url %>)">
|
17
|
+
<div class="card__content row collapse">
|
18
|
+
<div class="large-6 large-offset-6 columns">
|
19
|
+
<%= link_to assembly_path(promoted_assembly), class: "button expanded button--sc" do %>
|
20
|
+
<%= t("assemblies.promoted_assembly.take_part", scope: "layouts.decidim") %>
|
21
|
+
<% end %>
|
22
|
+
</div>
|
23
|
+
</div>
|
24
|
+
</div>
|
25
|
+
</div>
|
26
|
+
</div>
|
27
|
+
</article>
|
@@ -0,0 +1,10 @@
|
|
1
|
+
<section class="extended" id="assembly-statistics" class="statistics">
|
2
|
+
<div class="row column">
|
3
|
+
<h4 class="section-heading"><%= t("statistics.headline", scope: "decidim.assemblies", assembly: translated_attribute(current_assembly.title)) %></h3>
|
4
|
+
</div>
|
5
|
+
<div class="row">
|
6
|
+
<div class="columns small-centered mediumlarge-12 large-12 process_stats">
|
7
|
+
<%= stats.highlighted %>
|
8
|
+
</div>
|
9
|
+
</div>
|
10
|
+
</section>
|
@@ -0,0 +1,17 @@
|
|
1
|
+
<% provide :meta_title, t("assemblies.index.title", scope: "decidim") %>
|
2
|
+
|
3
|
+
<main class="wrapper">
|
4
|
+
<% if promoted_assemblies.any? %>
|
5
|
+
<section id ="highlighted-assemblies" class="row section">
|
6
|
+
<h1 class="section-heading"><%= t("assemblies.index.promoted_assemblies", scope: "layouts.decidim") %></h1>
|
7
|
+
<%= render partial: "promoted_assembly", collection: promoted_assemblies, as: :promoted_assembly %>
|
8
|
+
</section>
|
9
|
+
<% end %>
|
10
|
+
|
11
|
+
<section id="assemblies-grid" class="section row collapse">
|
12
|
+
<%= render partial: "decidim/assemblies/order_by_assemblies" %>
|
13
|
+
<div class="row small-up-1 medium-up-2 large-up-3 card-grid">
|
14
|
+
<%= render(collection) || render(partial: "no_assemblies_yet") %>
|
15
|
+
</div>
|
16
|
+
</section>
|
17
|
+
</main>
|
@@ -0,0 +1,74 @@
|
|
1
|
+
<% add_decidim_meta_tags({
|
2
|
+
image_url: current_assembly.hero_image.url,
|
3
|
+
description: translated_attribute(current_assembly.short_description),
|
4
|
+
title: translated_attribute(current_assembly.title),
|
5
|
+
url: assembly_url(current_assembly),
|
6
|
+
twitter_handler: current_organization.twitter_handler
|
7
|
+
}) %>
|
8
|
+
|
9
|
+
<div class="row column">
|
10
|
+
<div class="row">
|
11
|
+
<div class="columns medium-7 mediumlarge-8">
|
12
|
+
<div class="section">
|
13
|
+
<div class="lead">
|
14
|
+
<%== translated_attribute(current_assembly.short_description) %>
|
15
|
+
</div>
|
16
|
+
<%== translated_attribute(current_assembly.description) %>
|
17
|
+
</div>
|
18
|
+
<%= attachments_for current_assembly %>
|
19
|
+
</div>
|
20
|
+
<div class="section columns medium-5 mediumlarge-4 large-3">
|
21
|
+
<div class="card extra definition-data">
|
22
|
+
<% if translated_attribute(current_assembly.meta_scope).present? %>
|
23
|
+
<div class="definition-data__item scope">
|
24
|
+
<span class="definition-data__title"><%= t("assemblies.show.scope", scope: "decidim") %></span>
|
25
|
+
<%== translated_attribute(current_assembly.meta_scope) %>
|
26
|
+
</div>
|
27
|
+
<% end %>
|
28
|
+
|
29
|
+
<% if translated_attribute(current_assembly.developer_group).present? %>
|
30
|
+
<div class="definition-data__item developer-group">
|
31
|
+
<span class="definition-data__title"><%= t("assemblies.show.developer_group", scope: "decidim") %></span>
|
32
|
+
<%== translated_attribute(current_assembly.developer_group) %>
|
33
|
+
</div>
|
34
|
+
<% end %>
|
35
|
+
|
36
|
+
<% if translated_attribute(current_assembly.local_area).present? %>
|
37
|
+
<div class="definition-data__item local_area">
|
38
|
+
<span class="definition-data__title"><%= t("assemblies.show.local_area", scope: "decidim") %></span>
|
39
|
+
<%== translated_attribute(current_assembly.local_area) %>
|
40
|
+
</div>
|
41
|
+
<% end %>
|
42
|
+
|
43
|
+
<% if translated_attribute(current_assembly.target).present? %>
|
44
|
+
<div class="definition-data__item target">
|
45
|
+
<span class="definition-data__title"><%= t("assemblies.show.target", scope: "decidim") %></span>
|
46
|
+
<%== translated_attribute(current_assembly.target) %>
|
47
|
+
</div>
|
48
|
+
<% end %>
|
49
|
+
|
50
|
+
<% if translated_attribute(current_assembly.participatory_scope).present? %>
|
51
|
+
<div class="definition-data__item participatory_scope">
|
52
|
+
<span class="definition-data__title"><%= t("assemblies.show.participatory_scope", scope: "decidim") %></span>
|
53
|
+
<%== translated_attribute(current_assembly.participatory_scope) %>
|
54
|
+
</div>
|
55
|
+
<% end %>
|
56
|
+
|
57
|
+
<% if translated_attribute(current_assembly.participatory_structure).present? %>
|
58
|
+
<div class="definition-data__item participatory_structure">
|
59
|
+
<span class="definition-data__title"><%= t("assemblies.show.participatory_structure", scope: "decidim") %></span>
|
60
|
+
<%== translated_attribute(current_assembly.participatory_structure) %>
|
61
|
+
</div>
|
62
|
+
<% end %>
|
63
|
+
</div>
|
64
|
+
<%= render partial: "decidim/shared/share_modal" %>
|
65
|
+
<%= embed_modal_for assembly_assembly_widget_url(current_assembly, format: :js) %>
|
66
|
+
</div>
|
67
|
+
</div>
|
68
|
+
<% if current_assembly.show_statistics? %>
|
69
|
+
<%= render partial: 'statistics' %>
|
70
|
+
<% end %>
|
71
|
+
</div>
|
72
|
+
|
73
|
+
<%= javascript_include_tag "decidim/proposals/social_share" %>
|
74
|
+
<%= stylesheet_link_tag "decidim/proposals/social_share" %>
|
@@ -0,0 +1,11 @@
|
|
1
|
+
<% content_for(:header, "false") %>
|
2
|
+
<% content_for(:title, translated_attribute(model.title)) %>
|
3
|
+
<p class="card__desc"><%== html_truncate(translated_attribute(model.short_description), length: 630, separator: '...') %></p>
|
4
|
+
<% content_for(:footer) do %>
|
5
|
+
<div class="card__support">
|
6
|
+
<span class="card--process__small"></span>
|
7
|
+
<%= link_to assembly_path(model), class: "card__button button small" do %>
|
8
|
+
<%= t("assembly_widgets.show.take_part", scope: "layouts.decidim") %>
|
9
|
+
<% end %>
|
10
|
+
</div>
|
11
|
+
<% end %>
|
@@ -0,0 +1,64 @@
|
|
1
|
+
<div class="process-header row column">
|
2
|
+
<div class="row column process-header__main"
|
3
|
+
style="background-image:url(<%= current_assembly.banner_image.url %>);">
|
4
|
+
<div class="process-header__container row">
|
5
|
+
<div class="columns mediumlarge-9 process-header__info">
|
6
|
+
<div>
|
7
|
+
<h1 class="text-highlight heading2">
|
8
|
+
<%= translated_attribute(current_assembly.title) %>
|
9
|
+
</h1>
|
10
|
+
</div>
|
11
|
+
<div>
|
12
|
+
<h2 class="text-highlight heading-small">
|
13
|
+
<% if current_assembly.hashtag.present? %>
|
14
|
+
<span class="process-header__hashtag">
|
15
|
+
<%= link_to "##{current_assembly.hashtag}", "https://twitter.com/hashtag/#{current_assembly.hashtag}" %>
|
16
|
+
</span>
|
17
|
+
<% end %>
|
18
|
+
<%= translated_attribute(current_assembly.subtitle) %>
|
19
|
+
</h2>
|
20
|
+
</div>
|
21
|
+
</div>
|
22
|
+
</div>
|
23
|
+
</div>
|
24
|
+
<% if current_assembly.features.any? %>
|
25
|
+
<div class="row column">
|
26
|
+
<div class="process-nav">
|
27
|
+
<button class="process-nav__trigger hide-for-medium" data-toggle="process-nav-content">
|
28
|
+
<%= icon "caret-bottom", class: "icon--small process-nav__trigger__icon", aria_label: t('.unfold'), role: "img" %>
|
29
|
+
<div class="process-nav__link">
|
30
|
+
<% if self.try(:current_feature) %>
|
31
|
+
<%= feature_icon(current_feature) %>
|
32
|
+
<%= translated_attribute(current_feature.name) %>
|
33
|
+
<% else %>
|
34
|
+
<%= icon "assembly" %>
|
35
|
+
<%= t ".assembly_menu_item" %>
|
36
|
+
<% end %>
|
37
|
+
</div>
|
38
|
+
</button>
|
39
|
+
<div class="row column process-nav__content is-active" id="process-nav-content" data-toggler=".is-active">
|
40
|
+
<ul>
|
41
|
+
<li class="<%= "is-active" if is_active_link?(decidim_assemblies.assembly_path(current_assembly), :exclusive) %>">
|
42
|
+
<%= active_link_to decidim_assemblies.assembly_path(current_assembly), active: :exact, class: "process-nav__link", class_active: "is-active" do %>
|
43
|
+
<%= external_icon "decidim/assemblies/assembly.svg" %>
|
44
|
+
<%= t ".assembly_menu_item" %>
|
45
|
+
<% end %>
|
46
|
+
</li>
|
47
|
+
|
48
|
+
<% current_assembly.features.each do |feature| %>
|
49
|
+
<% if feature.published? || feature == self.try(:current_feature) %>
|
50
|
+
<li class="<%= "is-active" if is_active_link?(main_feature_path(feature), :inclusive) %>">
|
51
|
+
<%= active_link_to main_feature_path(feature), class: "process-nav__link", active: :inclusive, class_active: "is-active" do %>
|
52
|
+
<%= feature_icon(feature) %>
|
53
|
+
|
54
|
+
<%= translated_attribute(feature.name) %>
|
55
|
+
<% end %>
|
56
|
+
</li>
|
57
|
+
<% end %>
|
58
|
+
<% end %>
|
59
|
+
</ul>
|
60
|
+
</div>
|
61
|
+
</div>
|
62
|
+
</div>
|
63
|
+
<% end %>
|
64
|
+
</div>
|