decidim-accountability 0.29.1 → 0.30.0.rc1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/cells/decidim/accountability/project/show.erb +6 -0
- data/app/cells/decidim/accountability/project_cell.rb +23 -42
- data/app/cells/decidim/accountability/result_history_cell.rb +57 -0
- data/app/cells/decidim/accountability/result_metadata_cell.rb +17 -17
- data/app/cells/decidim/accountability/status_cell.rb +9 -13
- data/app/commands/decidim/accountability/admin/create_imported_result.rb +1 -1
- data/app/commands/decidim/accountability/admin/create_result.rb +3 -2
- data/app/commands/decidim/accountability/admin/import_component_to_accountability.rb +47 -0
- data/app/commands/decidim/accountability/admin/update_imported_result.rb +1 -1
- data/app/commands/decidim/accountability/admin/update_result.rb +3 -2
- data/app/commands/decidim/accountability/admin/update_result_dates.rb +56 -0
- data/app/commands/decidim/accountability/admin/update_result_status.rb +61 -0
- data/app/commands/decidim/accountability/admin/update_result_taxonomies.rb +18 -0
- data/app/controllers/concerns/decidim/accountability/admin/filterable.rb +8 -6
- data/app/controllers/decidim/accountability/admin/import_components_controller.rb +36 -0
- data/app/controllers/decidim/accountability/admin/results_bulk_actions_controller.rb +102 -0
- data/app/controllers/decidim/accountability/admin/results_controller.rb +21 -11
- data/app/controllers/decidim/accountability/results_controller.rb +10 -7
- data/app/forms/decidim/accountability/admin/import_component_form.rb +98 -0
- data/app/forms/decidim/accountability/admin/result_bulk_actions_form.rb +18 -0
- data/app/forms/decidim/accountability/admin/result_form.rb +18 -24
- data/app/forms/decidim/accountability/admin/timeline_entry_form.rb +1 -1
- data/app/helpers/decidim/accountability/admin/application_helper.rb +0 -1
- data/app/helpers/decidim/accountability/application_helper.rb +1 -32
- data/app/helpers/decidim/accountability/breadcrumb_helper.rb +10 -14
- data/app/jobs/decidim/accountability/admin/import_projects_job.rb +5 -3
- data/app/jobs/decidim/accountability/admin/import_proposals_job.rb +70 -0
- data/app/mailers/decidim/accountability/import_projects_mailer.rb +3 -0
- data/app/mailers/decidim/accountability/import_proposals_mailer.rb +28 -0
- data/app/models/decidim/accountability/result.rb +23 -1
- data/app/models/decidim/accountability/status.rb +4 -0
- data/app/packs/entrypoints/decidim_accountability_admin_form.js +1 -0
- data/app/packs/src/decidim/accountability/admin/imports.js +37 -14
- data/app/packs/src/decidim/accountability/admin/index/action_button.js +42 -0
- data/app/packs/src/decidim/accountability/admin/index/action_form.js +46 -0
- data/app/packs/src/decidim/accountability/admin/index/action_selector.js +37 -0
- data/app/packs/src/decidim/accountability/admin/index/counter.js +40 -0
- data/app/packs/src/decidim/accountability/admin/index/select_all.js +29 -0
- data/app/packs/src/decidim/accountability/admin/index.js +17 -7
- data/app/packs/src/decidim/accountability/admin/result_form.js +21 -0
- data/app/packs/stylesheets/accountability.scss +5 -0
- data/app/permissions/decidim/accountability/admin/permissions.rb +3 -2
- data/app/presenters/decidim/accountability/admin_log/result_presenter.rb +1 -1
- data/app/presenters/decidim/accountability/result_presenter.rb +30 -0
- data/app/queries/decidim/accountability/metrics/results_metric_manage.rb +6 -6
- data/app/services/decidim/accountability/results_calculator.rb +4 -6
- data/app/services/decidim/accountability/results_csv_importer.rb +1 -1
- data/app/views/decidim/accountability/admin/import_components/_filters.html.erb +26 -0
- data/app/views/decidim/accountability/admin/import_components/_form.html.erb +26 -0
- data/app/views/decidim/accountability/admin/import_components/new.html.erb +14 -0
- data/app/views/decidim/accountability/admin/results/_actions.html.erb +29 -0
- data/app/views/decidim/accountability/admin/results/_form.html.erb +15 -8
- data/app/views/decidim/accountability/admin/results/_result-tr.html.erb +32 -0
- data/app/views/decidim/accountability/admin/results/_results-thead.html.erb +26 -0
- data/app/views/decidim/accountability/admin/results/bulk_actions/_dates_form.html.erb +19 -0
- data/app/views/decidim/accountability/admin/results/bulk_actions/_dropdown.html.erb +40 -0
- data/app/views/decidim/accountability/admin/results/bulk_actions/_status_form.html.erb +16 -0
- data/app/views/decidim/accountability/admin/results/bulk_actions/_submit_buttons.html.erb +4 -0
- data/app/views/decidim/accountability/admin/results/bulk_actions/_taxonomies_form.html.erb +18 -0
- data/app/views/decidim/accountability/admin/results/edit.html.erb +2 -2
- data/app/views/decidim/accountability/admin/results/index.html.erb +50 -111
- data/app/views/decidim/accountability/admin/results/manage_trash.html.erb +26 -0
- data/app/views/decidim/accountability/admin/results/new.html.erb +2 -2
- data/app/views/decidim/accountability/import_projects_mailer/import.html.erb +1 -1
- data/app/views/decidim/accountability/import_proposals_mailer/import.html.erb +2 -0
- data/app/views/decidim/accountability/results/{_home_categories.html.erb → _home_taxonomies.html.erb} +6 -8
- data/app/views/decidim/accountability/results/_project.html.erb +1 -3
- data/app/views/decidim/accountability/results/_projects_aside.html.erb +9 -7
- data/app/views/decidim/accountability/results/home.html.erb +18 -6
- data/app/views/decidim/accountability/results/index.html.erb +8 -2
- data/app/views/decidim/accountability/results/show.html.erb +5 -5
- data/config/assets.rb +3 -2
- data/config/locales/ar.yml +141 -34
- data/config/locales/bg.yml +0 -57
- data/config/locales/bn-BD.yml +1 -0
- data/config/locales/bs-BA.yml +148 -0
- data/config/locales/ca.yml +128 -40
- data/config/locales/cs.yml +147 -56
- data/config/locales/da.yml +0 -11
- data/config/locales/de.yml +126 -39
- data/config/locales/el.yml +0 -56
- data/config/locales/en.yml +128 -40
- data/config/locales/es-MX.yml +129 -41
- data/config/locales/es-PY.yml +129 -41
- data/config/locales/es.yml +129 -41
- data/config/locales/eu.yml +168 -81
- data/config/locales/fi-plain.yml +137 -50
- data/config/locales/fi.yml +141 -54
- data/config/locales/fr-CA.yml +112 -57
- data/config/locales/fr.yml +112 -57
- data/config/locales/ga-IE.yml +0 -13
- data/config/locales/gl.yml +0 -17
- data/config/locales/he-IL.yml +47 -62
- data/config/locales/hu.yml +0 -57
- data/config/locales/id-ID.yml +0 -9
- data/config/locales/is-IS.yml +0 -17
- data/config/locales/it.yml +0 -18
- data/config/locales/ja.yml +133 -48
- data/config/locales/kaa.yml +0 -8
- data/config/locales/ko.yml +0 -53
- data/config/locales/lb.yml +0 -17
- data/config/locales/lt.yml +0 -60
- data/config/locales/lv.yml +0 -9
- data/config/locales/nl.yml +0 -17
- data/config/locales/no.yml +0 -17
- data/config/locales/pl.yml +0 -56
- data/config/locales/pt-BR.yml +6 -57
- data/config/locales/pt.yml +37 -19
- data/config/locales/ro-RO.yml +0 -37
- data/config/locales/ru.yml +0 -9
- data/config/locales/sk.yml +0 -9
- data/config/locales/sl.yml +0 -7
- data/config/locales/sq-AL.yml +0 -57
- data/config/locales/sr-CS.yml +0 -9
- data/config/locales/sv.yml +124 -36
- data/config/locales/th-TH.yml +0 -51
- data/config/locales/tr-TR.yml +0 -51
- data/config/locales/uk.yml +0 -9
- data/config/locales/zh-CN.yml +0 -11
- data/config/locales/zh-TW.yml +0 -54
- data/db/migrate/20200827154103_add_commentable_counter_cache_to_results.rb +1 -1
- data/db/migrate/20240828103202_add_deleted_at_to_decidim_accountability_results.rb +8 -0
- data/db/migrate/20240916112128_add_geolocation_fields_to_results.rb +9 -0
- data/decidim-accountability.gemspec +2 -2
- data/lib/decidim/accountability/admin_engine.rb +16 -2
- data/lib/decidim/accountability/component.rb +3 -3
- data/lib/decidim/accountability/result_serializer.rb +9 -13
- data/lib/decidim/accountability/seeds.rb +28 -21
- data/lib/decidim/accountability/test/factories.rb +6 -4
- data/lib/decidim/accountability/version.rb +1 -1
- data/lib/decidim/api/accountability_type.rb +5 -8
- data/lib/decidim/api/result_type.rb +10 -13
- data/lib/decidim/api/status_type.rb +3 -4
- data/lib/decidim/api/timeline_entry_type.rb +5 -6
- metadata +61 -31
- data/app/commands/decidim/accountability/admin/import_projects_to_accountability.rb +0 -37
- data/app/controllers/decidim/accountability/admin/projects_import_controller.rb +0 -31
- data/app/forms/decidim/accountability/admin/result_import_projects_form.rb +0 -51
- data/app/views/decidim/accountability/admin/projects_import/new.html.erb +0 -45
- data/app/views/decidim/accountability/results/_nav_breadcrumb.html.erb +0 -37
- data/app/views/decidim/accountability/results/_scope_filters.html.erb +0 -31
- /data/app/packs/entrypoints/{decidim_accountability_admin.js → decidim_accountability_admin_index.js} +0 -0
@@ -18,15 +18,14 @@
|
|
18
18
|
|
19
19
|
<% else %>
|
20
20
|
|
21
|
-
<% if
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
<div class="row column">
|
28
|
-
<%= form.categories_select :decidim_category_id, current_participatory_space.categories, include_blank: true, disable_parents: false %>
|
21
|
+
<% if @form.taxonomy_filters&.any? %>
|
22
|
+
<% @form.taxonomy_filters.each do |filter| %>
|
23
|
+
<div class="row column">
|
24
|
+
<%= filter_taxonomy_items_select_field form, :taxonomies, filter %>
|
25
|
+
</div>
|
26
|
+
<% end %>
|
29
27
|
</div>
|
28
|
+
<% end %>
|
30
29
|
|
31
30
|
<% end %>
|
32
31
|
|
@@ -40,6 +39,14 @@
|
|
40
39
|
</div>
|
41
40
|
</div>
|
42
41
|
|
42
|
+
<% if @form.geocoding_enabled? %>
|
43
|
+
<div class="row">
|
44
|
+
<div class="columns">
|
45
|
+
<%= form.geocoding_field(:address) %>
|
46
|
+
</div>
|
47
|
+
</div>
|
48
|
+
<% end %>
|
49
|
+
|
43
50
|
<div class="row">
|
44
51
|
<div class="columns">
|
45
52
|
<%= form.select :decidim_accountability_status_id, statuses.map { |status| [translated_attribute(status.name), status.id, { "data-progress" => status.progress }] }, include_blank: true %>
|
@@ -0,0 +1,32 @@
|
|
1
|
+
<tr data-id="<%= result.id %>">
|
2
|
+
<td>
|
3
|
+
<%= check_box_tag "result_ids_s[]", result.id, false, data: { result_id: result.id, result_checkbox: true } %><br>
|
4
|
+
</td>
|
5
|
+
<td>
|
6
|
+
<%= result.id %><br>
|
7
|
+
</td>
|
8
|
+
<td class="!text-left">
|
9
|
+
<% if result.parent_id.nil? %>
|
10
|
+
<%= link_to translated_attribute(result.title), results_path(parent_id: result.id) %><br>
|
11
|
+
<% else %>
|
12
|
+
<%= translated_attribute(result.title) %>
|
13
|
+
<% end %>
|
14
|
+
</td>
|
15
|
+
<td>
|
16
|
+
<%= result.taxonomies.map { |taxonomy| decidim_sanitize_translated(taxonomy.name) }.join(", ") %>
|
17
|
+
</td>
|
18
|
+
<td>
|
19
|
+
<% if result.status %>
|
20
|
+
<%= translated_attribute result.status.name %>
|
21
|
+
<% end %>
|
22
|
+
</td>
|
23
|
+
<td>
|
24
|
+
<%= result.progress&.to_i %>
|
25
|
+
</td>
|
26
|
+
<td>
|
27
|
+
<%= l result.created_at, format: :decidim_short %>
|
28
|
+
</td>
|
29
|
+
<td class="table-list__actions">
|
30
|
+
<%= render partial: "decidim/accountability/admin/results/actions", locals: { result:, view: } %>
|
31
|
+
</td>
|
32
|
+
</tr>
|
@@ -0,0 +1,26 @@
|
|
1
|
+
<thead>
|
2
|
+
<tr>
|
3
|
+
<th>
|
4
|
+
<%= check_box_tag "results_bulk", "all", false, data: { "select-all" => true } %>
|
5
|
+
</th>
|
6
|
+
<th>
|
7
|
+
<%= sort_link(query, :id, t("models.result.fields.id", scope: "decidim.accountability"), default_order: :desc ) %>
|
8
|
+
</th>
|
9
|
+
<th class="!text-left">
|
10
|
+
<%= sort_link(query, :title, t("models.result.fields.title", scope: "decidim.accountability")) %>
|
11
|
+
</th>
|
12
|
+
<th>
|
13
|
+
<%= sort_link(query, :taxonomies_name, t("models.result.fields.taxonomies", scope: "decidim.accountability") ) %>
|
14
|
+
</th>
|
15
|
+
<th>
|
16
|
+
<%= sort_link(query, :status_name, t("models.result.fields.status", scope: "decidim.accountability") ) %>
|
17
|
+
</th>
|
18
|
+
<th>
|
19
|
+
<%= sort_link(query, :progress, t("models.result.fields.progress", scope: "decidim.accountability") ) %>
|
20
|
+
</th>
|
21
|
+
<th>
|
22
|
+
<%= sort_link(query, :created_at, t("models.result.fields.created_at", scope: "decidim.accountability") ) %>
|
23
|
+
</th>
|
24
|
+
<th><%= t("actions.title", scope: "decidim.accountability") %></th>
|
25
|
+
</tr>
|
26
|
+
</thead>
|
@@ -0,0 +1,19 @@
|
|
1
|
+
<div class="item_show__header__action-options hide" data-action-form="change-dates">
|
2
|
+
<%= decidim_form_for(bulk_actions_form, url: update_dates_results_path, method: :post, html: { class: "form form-defaults w-full" }) do |f| %>
|
3
|
+
<div class="form__wrapper gap-6">
|
4
|
+
<%= f.hidden_field :result_ids, multiple: true, data: { result_ids_field: true } %>
|
5
|
+
|
6
|
+
<div class="row">
|
7
|
+
<div class="columns">
|
8
|
+
<%= f.date_field :start_date, label: t(".start_date") %>
|
9
|
+
</div>
|
10
|
+
|
11
|
+
<div class="columns">
|
12
|
+
<%= f.date_field :end_date, label: t(".end_date") %>
|
13
|
+
</div>
|
14
|
+
</div>
|
15
|
+
|
16
|
+
<%= render partial: "decidim/accountability/admin/results/bulk_actions/submit_buttons", locals: { submit_text: t(".change_dates") } %>
|
17
|
+
</div>
|
18
|
+
<% end %>
|
19
|
+
</div>
|
@@ -0,0 +1,40 @@
|
|
1
|
+
<div id="js-bulk-actions-wrapper">
|
2
|
+
<button
|
3
|
+
id="js-bulk-actions-button"
|
4
|
+
class="button button__sm button__secondary hide"
|
5
|
+
type="button"
|
6
|
+
data-toggle="js-bulk-actions-dropdown"
|
7
|
+
data-action-button>
|
8
|
+
<%= t(".actions") %>
|
9
|
+
<%= icon "arrow-down-s-line", class: "dropdown-filter-icon" %>
|
10
|
+
</button>
|
11
|
+
|
12
|
+
<div
|
13
|
+
id="js-bulk-actions-dropdown"
|
14
|
+
class="dropdown-pane dropdown-pane--buttons"
|
15
|
+
data-position="bottom"
|
16
|
+
data-alignment="right"
|
17
|
+
data-dropdown="dropdown"
|
18
|
+
data-auto-focus="false"
|
19
|
+
data-events="resize">
|
20
|
+
<ul>
|
21
|
+
<% if current_component_taxonomy_filters&.any? %>
|
22
|
+
<li>
|
23
|
+
<button type="button" data-action="change-taxonomies">
|
24
|
+
<%= t(".change_taxonomies") %>
|
25
|
+
</button>
|
26
|
+
</li>
|
27
|
+
<% end %>
|
28
|
+
<li>
|
29
|
+
<button type="button" data-action="change-dates">
|
30
|
+
<%= t(".change_dates") %>
|
31
|
+
</button>
|
32
|
+
</li>
|
33
|
+
<li>
|
34
|
+
<button type="button" data-action="change-status">
|
35
|
+
<%= t(".change_status") %>
|
36
|
+
</button>
|
37
|
+
</li>
|
38
|
+
</ul>
|
39
|
+
</div>
|
40
|
+
</div>
|
@@ -0,0 +1,16 @@
|
|
1
|
+
<div class="item_show__header__action-options hide" data-action-form="change-status">
|
2
|
+
<%= decidim_form_for(bulk_actions_form, url: update_status_results_path, method: :post, html: { class: "form form-defaults w-full" }) do |f| %>
|
3
|
+
<div class="form__wrapper gap-6">
|
4
|
+
<%= f.hidden_field :result_ids, multiple: true, data: { result_ids_field: true } %>
|
5
|
+
|
6
|
+
<div class="row column">
|
7
|
+
<%= f.select :decidim_accountability_status_id,
|
8
|
+
options_for_select(statuses.map { |status| [translated_attribute(status.name), status.id] }),
|
9
|
+
{ include_blank: true, label: t(".status") },
|
10
|
+
{ class: "w-full mt-2" } %>
|
11
|
+
</div>
|
12
|
+
|
13
|
+
<%= render partial: "decidim/accountability/admin/results/bulk_actions/submit_buttons", locals: { submit_text: t(".change_status") } %>
|
14
|
+
<% end %>
|
15
|
+
</div>
|
16
|
+
</div>
|
@@ -0,0 +1,4 @@
|
|
1
|
+
<div class="flex justify-end gap-x-4">
|
2
|
+
<%= submit_tag(submit_text, class: "button button__sm button__secondary small button--simple float-left") %>
|
3
|
+
<button class="button button__sm button__secondary" type="button" data-cancel-button><%= t(".cancel") %></button>
|
4
|
+
</div>
|
@@ -0,0 +1,18 @@
|
|
1
|
+
<div class="item_show__header__action-options hide" data-action-form="change-taxonomies">
|
2
|
+
<%= decidim_form_for(bulk_actions_form, url: update_taxonomies_results_path, method: :post, html: { class: "form form-defaults w-full" }) do |f| %>
|
3
|
+
<div class="form__wrapper gap-6">
|
4
|
+
<%= f.hidden_field :result_ids, multiple: true, data: { result_ids_field: true } %>
|
5
|
+
|
6
|
+
<% current_component_taxonomy_filters.each do |filter| %>
|
7
|
+
<div class="row column mb-6">
|
8
|
+
<%= f.select :taxonomies,
|
9
|
+
options_for_select(taxonomy_items_options_for_filter(filter)),
|
10
|
+
{ include_blank: I18n.t("decidim.taxonomies.prompt"), label: decidim_sanitize_translated(filter.name) },
|
11
|
+
{ class: "w-full mt-2", id: "taxonomies_for_filter_#{filter.id}", name: "result_bulk_actions[taxonomies][]" } %>
|
12
|
+
</div>
|
13
|
+
<% end %>
|
14
|
+
|
15
|
+
<%= render partial: "decidim/accountability/admin/results/bulk_actions/submit_buttons", locals: { submit_text: t(".change_taxonomies") } %>
|
16
|
+
<% end %>
|
17
|
+
</div>
|
18
|
+
</div>
|
@@ -7,7 +7,7 @@
|
|
7
7
|
|
8
8
|
<div class="item__edit item__edit-1col">
|
9
9
|
<div class="item__edit-form">
|
10
|
-
<%= decidim_form_for(@form, html: { class: "form form-defaults edit_result" }) do |f| %>
|
10
|
+
<%= decidim_form_for(@form, html: { class: "form form-defaults edit_result result_form_admin" }) do |f| %>
|
11
11
|
<%= render partial: "form", object: f %>
|
12
12
|
<div class="item__edit-sticky">
|
13
13
|
<div class="item__edit-sticky-container">
|
@@ -18,4 +18,4 @@
|
|
18
18
|
</div>
|
19
19
|
</div>
|
20
20
|
|
21
|
-
<%= append_javascript_pack_tag "
|
21
|
+
<%= append_javascript_pack_tag "decidim_accountability_admin_form" %>
|
@@ -1,130 +1,69 @@
|
|
1
1
|
<% add_decidim_page_title(t(".title")) %>
|
2
2
|
<div class="card">
|
3
|
-
<div class="item_show__header">
|
3
|
+
<div class="item_show__header item_show__header--with-action-options">
|
4
4
|
<h1 class="item_show__header-title">
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
5
|
+
<div>
|
6
|
+
<% if parent_result %>
|
7
|
+
<%= "#{translated_attribute(parent_result.title)} > " %>
|
8
|
+
<% end %>
|
9
|
+
<%= t(".title") %>
|
10
|
+
<span data-selected-count class="component-counter" title="<%= t(".selected") %>"></span>
|
11
|
+
</div>
|
9
12
|
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
13
|
+
<div class="flex items-center gap-x-4">
|
14
|
+
<%= render partial: "decidim/accountability/admin/results/bulk_actions/dropdown" %>
|
15
|
+
<%= export_dropdowns(query) %>
|
16
|
+
<%= import_dropdown do %>
|
17
|
+
<% if allowed_to?(:create, :result) && parent_result.nil? %>
|
18
|
+
<%= link_to new_import_component_path do %>
|
19
|
+
<li class="imports--component imports--results">
|
20
|
+
<%= t("actions.import", scope: "decidim.accountability", name: t("models.result.name", scope: "decidim.accountability.admin")) %>
|
21
|
+
</li>
|
22
|
+
<% end %>
|
17
23
|
<% end %>
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
+
<% if allowed_to? :create, :result %>
|
25
|
+
<%= link_to import_results_path do %>
|
26
|
+
<li class="imports--component imports--results">
|
27
|
+
<%= t("actions.import_csv", scope: "decidim.accountability") %>
|
28
|
+
</li>
|
29
|
+
<% end %>
|
24
30
|
<% end %>
|
25
31
|
<% end %>
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
32
|
+
<%= render partial: "decidim/accountability/admin/shared/subnav" unless parent_result %>
|
33
|
+
<%= link_to t("actions.new_result", scope: "decidim.accountability"), new_result_path(parent_id: parent_result), class: "button button__sm button__secondary" if allowed_to? :create, :result %>
|
34
|
+
<%= render partial: "decidim/admin/components/resource_action" %>
|
35
|
+
</div>
|
30
36
|
</h1>
|
37
|
+
|
38
|
+
<%= render partial: "decidim/accountability/admin/results/bulk_actions/taxonomies_form" %>
|
39
|
+
<%= render partial: "decidim/accountability/admin/results/bulk_actions/status_form" %>
|
40
|
+
<%= render partial: "decidim/accountability/admin/results/bulk_actions/dates_form" %>
|
31
41
|
</div>
|
32
42
|
|
33
43
|
<%= admin_filter_selector(:results) %>
|
34
44
|
<div class="table-scroll">
|
35
45
|
<table class="table-list">
|
36
|
-
|
37
|
-
<tr>
|
38
|
-
<th>
|
39
|
-
<%= sort_link(query, :id, t("models.result.fields.id", scope: "decidim.accountability"), default_order: :desc ) %>
|
40
|
-
</th>
|
41
|
-
<th class="!text-left">
|
42
|
-
<%= sort_link(query, :title, t("models.result.fields.title", scope: "decidim.accountability")) %>
|
43
|
-
</th>
|
44
|
-
<th>
|
45
|
-
<%= sort_link(query, :category_name, t("models.result.fields.category", scope: "decidim.accountability") ) %>
|
46
|
-
</th>
|
47
|
-
<% if resource_with_scopes_enabled? %>
|
48
|
-
<th>
|
49
|
-
<%= sort_link(query, :scope_name, t("models.result.fields.scope", scope: "decidim.accountability") ) %>
|
50
|
-
</th>
|
51
|
-
<% end %>
|
52
|
-
<th>
|
53
|
-
<%= sort_link(query, :status_name, t("models.result.fields.status", scope: "decidim.accountability") ) %>
|
54
|
-
</th>
|
55
|
-
<th>
|
56
|
-
<%= sort_link(query, :progress, t("models.result.fields.progress", scope: "decidim.accountability") ) %>
|
57
|
-
</th>
|
58
|
-
<th>
|
59
|
-
<%= sort_link(query, :created_at, t("models.result.fields.created_at", scope: "decidim.accountability") ) %>
|
60
|
-
</th>
|
61
|
-
<th><%= t("actions.title", scope: "decidim.accountability") %></th>
|
62
|
-
</tr>
|
63
|
-
</thead>
|
46
|
+
<%= render partial: "decidim/accountability/admin/results/results-thead", locals: { query: } %>
|
64
47
|
<tbody>
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
</td>
|
70
|
-
<td class="!text-left">
|
71
|
-
<% if result.parent_id.nil? %>
|
72
|
-
<%= link_to translated_attribute(result.title), results_path(parent_id: result.id) %><br>
|
73
|
-
<% else %>
|
74
|
-
<%= translated_attribute(result.title) %>
|
75
|
-
<% end %>
|
76
|
-
</td>
|
77
|
-
<td>
|
78
|
-
<% if result.category %>
|
79
|
-
<%= translated_attribute result.category.name %>
|
80
|
-
<% end %>
|
81
|
-
</td>
|
82
|
-
<%= td_resource_scope_for(result.scope) %>
|
83
|
-
<td>
|
84
|
-
<% if result.status %>
|
85
|
-
<%= translated_attribute result.status.name %>
|
86
|
-
<% end %>
|
87
|
-
</td>
|
88
|
-
<td>
|
89
|
-
<%= result.progress&.to_i %>
|
90
|
-
</td>
|
91
|
-
<td>
|
92
|
-
<%= l result.created_at, format: :decidim_short %>
|
93
|
-
</td>
|
94
|
-
|
95
|
-
<td class="table-list__actions">
|
96
|
-
<% if allowed_to? :update, :result, result: result %>
|
97
|
-
<%= icon_link_to "pencil-line", edit_result_path(result), t("actions.edit", scope: "decidim.accountability"), class: "action-icon--edit" %>
|
98
|
-
<% end %>
|
99
|
-
|
100
|
-
<% if allowed_to? :create_children, :result, result: result %>
|
101
|
-
<%= icon_link_to "add-line", results_path(parent_id: result.id), t("actions.new_result", scope: "decidim.accountability"), class: "action-icon--plus" %>
|
102
|
-
<% end %>
|
103
|
-
|
104
|
-
<% if allowed_to? :update, :result, result: result %>
|
105
|
-
<%= icon_link_to "time-line", result_timeline_entries_path(result), t("actions.timeline_entries", scope: "decidim.accountability"), class: "action-icon--clock" %>
|
106
|
-
<% end %>
|
107
|
-
|
108
|
-
<% if allowed_to? :update, :result, result: result %>
|
109
|
-
<%= icon_link_to "folder-line", result_attachment_collections_path(result), t("actions.attachment_collections", scope: "decidim.accountability"), class: "action-icon--attachment_collections" %>
|
110
|
-
<% end %>
|
111
|
-
|
112
|
-
<% if allowed_to? :update, :result, result: result %>
|
113
|
-
<%= icon_link_to "attachment-line", result_attachments_path(result), t("actions.attachments", scope: "decidim.accountability"), class: "action-icon--attachments" %>
|
114
|
-
<% end %>
|
115
|
-
|
116
|
-
<%= icon_link_to "eye-line", resource_locator(result).path, t("actions.preview", scope: "decidim.accountability"), class: "action-icon--preview", target: :blank, data: { "external-link": false } %>
|
117
|
-
|
118
|
-
<%= resource_permissions_link(result) %>
|
119
|
-
|
120
|
-
<% if allowed_to? :destroy, :result, result: result %>
|
121
|
-
<%= icon_link_to "delete-bin-line", result_path(result), t("actions.destroy", scope: "decidim.accountability"), class: "action-icon--remove", method: :delete, data: { confirm: t("actions.confirm_destroy", scope: "decidim.accountability", name: t("models.result.name", scope: "decidim.accountability.admin")) } %>
|
122
|
-
<% end %>
|
123
|
-
</td>
|
124
|
-
</tr>
|
125
|
-
<% end %>
|
48
|
+
<%= render partial: "decidim/accountability/admin/results/result-tr",
|
49
|
+
collection: results,
|
50
|
+
as: :result,
|
51
|
+
locals: { view: :index } %>
|
126
52
|
</tbody>
|
127
53
|
</table>
|
128
54
|
</div>
|
55
|
+
<% if allowed_to? :manage_trash, :result, participatory_space: current_participatory_space %>
|
56
|
+
<div class="card mt-4">
|
57
|
+
<%= link_to manage_trash_results_path(parent_id: params[:parent_id].presence), class: "flex items-center underline text-secondary" do %>
|
58
|
+
<%= icon "delete-bin-2-line", class: "mr-2 fill-current text-secondary", role: "img" %>
|
59
|
+
<%= t("actions.view_deleted_results", scope: "decidim.accountability") %>
|
60
|
+
<span class="ml-2">
|
61
|
+
<%= icon_with_tooltip("information-line", t("actions.deleted_results_info", scope: "decidim.accountability")) %>
|
62
|
+
</span>
|
63
|
+
<% end %>
|
64
|
+
</div>
|
65
|
+
<% end %>
|
129
66
|
</div>
|
130
67
|
<%= decidim_paginate results %>
|
68
|
+
|
69
|
+
<%= append_javascript_pack_tag "decidim_accountability_admin_index" %>
|
@@ -0,0 +1,26 @@
|
|
1
|
+
<% add_decidim_page_title(t(".title")) %>
|
2
|
+
<div class="card">
|
3
|
+
<div class="item_show__header">
|
4
|
+
<h1 class="item_show__header-title">
|
5
|
+
<% if parent_result %>
|
6
|
+
<%= "#{translated_attribute(parent_result.title)} > " %>
|
7
|
+
<% end %>
|
8
|
+
<%= t(".title") %>
|
9
|
+
</h1>
|
10
|
+
</div>
|
11
|
+
|
12
|
+
<%= admin_filter_selector(:results) %>
|
13
|
+
<div class="table-scroll">
|
14
|
+
<table class="table-list">
|
15
|
+
<%= render partial: "decidim/accountability/admin/results/results-thead", locals: { query: } %>
|
16
|
+
<tbody>
|
17
|
+
<%= render partial: "decidim/accountability/admin/results/result-tr",
|
18
|
+
collection: trashable_deleted_collection,
|
19
|
+
as: :result,
|
20
|
+
locals: { view: :deleted } %>
|
21
|
+
</tbody>
|
22
|
+
</table>
|
23
|
+
</div>
|
24
|
+
</div>
|
25
|
+
|
26
|
+
<%= decidim_paginate trashable_deleted_collection %>
|
@@ -7,7 +7,7 @@
|
|
7
7
|
|
8
8
|
<div class="item__edit item__edit-1col">
|
9
9
|
<div class="item__edit-form">
|
10
|
-
<%= decidim_form_for(@form, html: { class: "form form-defaults new_result" }) do |f| %>
|
10
|
+
<%= decidim_form_for(@form, html: { class: "form form-defaults new_result result_form_admin" }) do |f| %>
|
11
11
|
<%= render partial: "form", object: f %>
|
12
12
|
<div class="item__edit-sticky">
|
13
13
|
<div class="item__edit-sticky-container">
|
@@ -17,4 +17,4 @@
|
|
17
17
|
<% end %>
|
18
18
|
</div>
|
19
19
|
</div>
|
20
|
-
<%= append_javascript_pack_tag "
|
20
|
+
<%= append_javascript_pack_tag "decidim_accountability_admin_form" %>
|
@@ -1,2 +1,2 @@
|
|
1
|
-
<p><%= t(".success", component_name: @component.name
|
1
|
+
<p><%= t(".success", component_name: translated_attribute(@component.name)) %></p>
|
2
2
|
<p> <%= t(".added_projects", count: @projects) %></p>
|
@@ -1,28 +1,26 @@
|
|
1
1
|
<div class="accountability__grid">
|
2
|
-
<%
|
2
|
+
<% first_class_taxonomies.each do |taxonomy| %>
|
3
3
|
<% subelements = cell(
|
4
4
|
"decidim/accountability/status",
|
5
|
-
|
5
|
+
taxonomy,
|
6
6
|
extra_classes: "accountability__status__background",
|
7
|
-
url: results_path(filter: {
|
7
|
+
url: results_path(filter: { taxonomies_part_of_contains: taxonomy }),
|
8
8
|
render_blank: true
|
9
9
|
) %>
|
10
10
|
|
11
11
|
<div>
|
12
|
-
<span class="accountability__grid-title"><%= t("results.home.categories_label", scope: "decidim.accountability") %></span>
|
13
12
|
<%= subelements.call %>
|
14
13
|
</div>
|
15
14
|
|
16
15
|
<div>
|
17
|
-
<span class="accountability__grid-title"><%= t("results.home.subcategories_label", scope: "decidim.accountability") %></span>
|
18
16
|
<% if subelements.has_results? %>
|
19
17
|
<div class="accountability__subgrid">
|
20
|
-
<%
|
18
|
+
<% taxonomy.children.where(id: current_component.available_taxonomy_ids).each do |sub_taxonomy| %>
|
21
19
|
<%= cell(
|
22
20
|
"decidim/accountability/status",
|
23
|
-
|
21
|
+
sub_taxonomy,
|
24
22
|
extra_classes: "accountability__status__border",
|
25
|
-
url: results_path(filter: {
|
23
|
+
url: results_path(filter: { taxonomies_part_of_contains: sub_taxonomy })
|
26
24
|
) %>
|
27
25
|
<% end %>
|
28
26
|
</div>
|
@@ -1,11 +1,9 @@
|
|
1
1
|
<%= render layout: "layouts/decidim/shared/layout_item" do %>
|
2
2
|
<%= cell("decidim/accountability/project", result) %>
|
3
|
+
<%= cell("decidim/tags", result) %>
|
3
4
|
|
4
5
|
<section class="layout-main__section layout-main__buttons" data-buttons>
|
5
6
|
<%= cell "decidim/comments_button", nil %>
|
6
|
-
<div class="ml-auto">
|
7
|
-
<%= cell "decidim/tags", result %>
|
8
|
-
</div>
|
9
7
|
</section>
|
10
8
|
|
11
9
|
<% content_for :aside do %>
|
@@ -13,28 +13,30 @@
|
|
13
13
|
extra_classes: "accountability__status__parent",
|
14
14
|
render_blank: true
|
15
15
|
) %>
|
16
|
-
<%
|
16
|
+
<% taxonomies_hierarchy.each do |taxonomy| %>
|
17
17
|
<%= cell(
|
18
18
|
"decidim/accountability/status",
|
19
|
-
|
20
|
-
url: results_path(filter: {
|
19
|
+
taxonomy,
|
20
|
+
url: results_path(filter: { taxonomies_part_of_contains: taxonomy }),
|
21
21
|
extra_classes: "accountability__status__parent",
|
22
22
|
render_count: false,
|
23
23
|
render_blank: true
|
24
24
|
) %>
|
25
25
|
<% end %>
|
26
|
-
<% if
|
26
|
+
<% if taxonomy.present? %>
|
27
27
|
<div>
|
28
28
|
<%= external_icon "media/images/breadcrumb_arrow.svg" %>
|
29
29
|
<%= cell(
|
30
30
|
"decidim/accountability/status",
|
31
|
-
|
31
|
+
taxonomy,
|
32
32
|
extra_classes: "accountability__status__child",
|
33
|
-
url: results_path(filter: {
|
33
|
+
url: results_path(filter: { taxonomies_part_of_contains: taxonomy }),
|
34
34
|
render_blank: true
|
35
35
|
) %>
|
36
36
|
</div>
|
37
37
|
<% end %>
|
38
38
|
</div>
|
39
39
|
|
40
|
-
|
40
|
+
<div class="accountability__filters">
|
41
|
+
<%= render partial: "search" %>
|
42
|
+
</div>
|
@@ -1,4 +1,9 @@
|
|
1
|
-
<%
|
1
|
+
<% add_decidim_meta_tags(
|
2
|
+
description: translated_attribute(current_component.participatory_space.try(:description)),
|
3
|
+
title: component_name,
|
4
|
+
url: results_url,
|
5
|
+
resource: current_component) %>
|
6
|
+
|
2
7
|
<%= append_javascript_pack_tag "decidim_accountability" %>
|
3
8
|
<%= append_stylesheet_pack_tag "decidim_accountability" %>
|
4
9
|
|
@@ -10,28 +15,35 @@
|
|
10
15
|
"decidim/accountability/status",
|
11
16
|
nil,
|
12
17
|
title: t("decidim.accountability.results.home_header.global_status"),
|
13
|
-
progress: progress_calculator(
|
18
|
+
progress: progress_calculator(nil).presence,
|
14
19
|
extra_classes: "accountability__status__home"
|
15
20
|
) %>
|
16
21
|
<% end %>
|
17
|
-
|
18
|
-
|
22
|
+
<div class="accountability__filters">
|
23
|
+
<%= render partial: "search" %>
|
24
|
+
</div>
|
19
25
|
<% end %>
|
20
26
|
|
21
27
|
<%= render layout: "layouts/decidim/shared/layout_two_col" do %>
|
22
28
|
|
29
|
+
<% if Decidim::Map.available?(:geocoding, :dynamic) && component_settings.geocoding_enabled? %>
|
30
|
+
<div class="accountability__map">
|
31
|
+
<%= cell "decidim/map", @all_geocoded_results, metadata_card: "decidim/accountability/result_metadata" %>
|
32
|
+
</div>
|
33
|
+
<% end %>
|
34
|
+
|
23
35
|
<section class="layout-main__section">
|
24
36
|
<div class="editor-content"><%= decidim_sanitize_admin translated_attribute(component_settings.intro) %></div>
|
25
37
|
</section>
|
26
38
|
|
27
39
|
<section class="layout-main__section">
|
28
|
-
<% if
|
40
|
+
<% if first_class_taxonomies.empty? %>
|
29
41
|
<%= cell("decidim/announcement",
|
30
42
|
params[:filter].present? ?
|
31
43
|
t("empty_filters", scope: "decidim.accountability.results.home") :
|
32
44
|
t("empty", scope: "decidim.accountability.results.home")) %>
|
33
45
|
<% end %>
|
34
|
-
<%= render partial: "
|
46
|
+
<%= render partial: "home_taxonomies" %>
|
35
47
|
</section>
|
36
48
|
|
37
49
|
<% end %>
|
@@ -1,3 +1,9 @@
|
|
1
|
+
<% add_decidim_meta_tags(
|
2
|
+
description: translated_attribute(current_component.participatory_space.try(:description)),
|
3
|
+
title: component_name,
|
4
|
+
url: results_url,
|
5
|
+
resource: current_component) %>
|
6
|
+
|
1
7
|
<%= append_javascript_pack_tag "decidim_accountability" %>
|
2
8
|
<%= append_stylesheet_pack_tag "decidim_accountability" %>
|
3
9
|
|
@@ -7,11 +13,11 @@
|
|
7
13
|
|
8
14
|
<%= render layout: "layouts/decidim/shared/layout_two_col" do %>
|
9
15
|
<section class="layout-main__section">
|
10
|
-
<h2 class="h4"><%=
|
16
|
+
<h2 class="h4"><%= taxonomy.present? ? decidim_escape_translated(taxonomy.name) : t("decidim.accountability.results.home_header.global_status") %></h2>
|
11
17
|
</section>
|
12
18
|
|
13
19
|
<section id="results" class="layout-main__section">
|
14
20
|
<%= cell "decidim/accountability/results", results %>
|
15
|
-
<%= decidim_paginate results, order_start_time: params[:order_start_time]
|
21
|
+
<%= decidim_paginate results, order_start_time: params[:order_start_time] %>
|
16
22
|
</section>
|
17
23
|
<% end %>
|
@@ -1,8 +1,8 @@
|
|
1
|
-
<% add_decidim_meta_tags(
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
1
|
+
<% add_decidim_meta_tags(
|
2
|
+
description: translated_attribute(result.description),
|
3
|
+
title: translated_attribute(result.title),
|
4
|
+
url: result_url(result.id),
|
5
|
+
resource: result) %>
|
6
6
|
|
7
7
|
<%
|
8
8
|
edit_link(
|