decidim-accountability 0.1.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 +46 -0
- data/Rakefile +3 -0
- data/app/assets/config/decidim_accountability_admin_manifest.js +1 -0
- data/app/assets/config/decidim_accountability_manifest.js +1 -0
- data/app/assets/images/decidim/accountability/icon.svg +1 -0
- data/app/assets/javascripts/decidim/accountability/accountability.js.es6 +10 -0
- data/app/assets/javascripts/decidim/accountability/admin/accountability_admin.js +8 -0
- data/app/assets/stylesheets/decidim/accountability/_accountability.scss +1 -0
- data/app/assets/stylesheets/decidim/accountability/accountability/_cards.scss +13 -0
- data/app/assets/stylesheets/decidim/accountability/accountability/_categories.scss +109 -0
- data/app/assets/stylesheets/decidim/accountability/accountability/_lines_breadcrumb.scss +29 -0
- data/app/assets/stylesheets/decidim/accountability/accountability/_results.scss +144 -0
- data/app/commands/decidim/accountability/admin/create_result.rb +72 -0
- data/app/commands/decidim/accountability/admin/create_status.rb +42 -0
- data/app/commands/decidim/accountability/admin/create_timeline_entry.rb +40 -0
- data/app/commands/decidim/accountability/admin/update_result.rb +80 -0
- data/app/commands/decidim/accountability/admin/update_status.rb +46 -0
- data/app/commands/decidim/accountability/admin/update_template_texts.rb +47 -0
- data/app/commands/decidim/accountability/admin/update_timeline_entry.rb +44 -0
- data/app/controllers/decidim/accountability/admin/application_controller.rb +15 -0
- data/app/controllers/decidim/accountability/admin/imports_controller.rb +30 -0
- data/app/controllers/decidim/accountability/admin/results_controller.rb +84 -0
- data/app/controllers/decidim/accountability/admin/statuses_controller.rb +70 -0
- data/app/controllers/decidim/accountability/admin/template_texts_controller.rb +38 -0
- data/app/controllers/decidim/accountability/admin/timeline_entries_controller.rb +75 -0
- data/app/controllers/decidim/accountability/application_controller.rb +13 -0
- data/app/controllers/decidim/accountability/result_widgets_controller.rb +19 -0
- data/app/controllers/decidim/accountability/results_controller.rb +77 -0
- data/app/forms/decidim/accountability/admin/result_form.rb +74 -0
- data/app/forms/decidim/accountability/admin/status_form.rb +21 -0
- data/app/forms/decidim/accountability/admin/template_texts_form.rb +19 -0
- data/app/forms/decidim/accountability/admin/timeline_entry_form.rb +20 -0
- data/app/helpers/decidim/accountability/application_helper.rb +50 -0
- data/app/models/decidim/accountability/application_record.rb +10 -0
- data/app/models/decidim/accountability/result.rb +66 -0
- data/app/models/decidim/accountability/status.rb +18 -0
- data/app/models/decidim/accountability/template_texts.rb +17 -0
- data/app/models/decidim/accountability/timeline_entry.rb +11 -0
- data/app/services/decidim/accountability/csv_exporter.rb +77 -0
- data/app/services/decidim/accountability/csv_importer.rb +106 -0
- data/app/services/decidim/accountability/result_search.rb +40 -0
- data/app/services/decidim/accountability/result_stats_calculator.rb +52 -0
- data/app/services/decidim/accountability/results_calculator.rb +34 -0
- data/app/views/decidim/accountability/admin/imports/new.html.erb +47 -0
- data/app/views/decidim/accountability/admin/results/_form.html.erb +70 -0
- data/app/views/decidim/accountability/admin/results/edit.html.erb +9 -0
- data/app/views/decidim/accountability/admin/results/index.html.erb +52 -0
- data/app/views/decidim/accountability/admin/results/new.html.erb +9 -0
- data/app/views/decidim/accountability/admin/shared/_subnav.html.erb +3 -0
- data/app/views/decidim/accountability/admin/statuses/_form.html.erb +23 -0
- data/app/views/decidim/accountability/admin/statuses/edit.html.erb +8 -0
- data/app/views/decidim/accountability/admin/statuses/index.html.erb +45 -0
- data/app/views/decidim/accountability/admin/statuses/new.html.erb +8 -0
- data/app/views/decidim/accountability/admin/template_texts/_form.html.erb +30 -0
- data/app/views/decidim/accountability/admin/template_texts/edit.html.erb +8 -0
- data/app/views/decidim/accountability/admin/timeline_entries/_form.html.erb +15 -0
- data/app/views/decidim/accountability/admin/timeline_entries/edit.html.erb +8 -0
- data/app/views/decidim/accountability/admin/timeline_entries/index.html.erb +41 -0
- data/app/views/decidim/accountability/admin/timeline_entries/new.html.erb +8 -0
- data/app/views/decidim/accountability/result_widgets/show.html.erb +2 -0
- data/app/views/decidim/accountability/results/_home_categories.html.erb +73 -0
- data/app/views/decidim/accountability/results/_home_header.html.erb +24 -0
- data/app/views/decidim/accountability/results/_linked_results.html.erb +12 -0
- data/app/views/decidim/accountability/results/_nav_breadcrumb.html.erb +29 -0
- data/app/views/decidim/accountability/results/_results_leaf.html.erb +45 -0
- data/app/views/decidim/accountability/results/_results_parent.html.erb +32 -0
- data/app/views/decidim/accountability/results/_scope_filters.html.erb +14 -0
- data/app/views/decidim/accountability/results/_search.html.erb +12 -0
- data/app/views/decidim/accountability/results/_show_leaf.html.erb +79 -0
- data/app/views/decidim/accountability/results/_show_parent.html.erb +25 -0
- data/app/views/decidim/accountability/results/_stats.html.erb +11 -0
- data/app/views/decidim/accountability/results/_stats_box.html.erb +36 -0
- data/app/views/decidim/accountability/results/_tags.html.erb +10 -0
- data/app/views/decidim/accountability/results/_timeline.html.erb +24 -0
- data/app/views/decidim/accountability/results/home.html.erb +9 -0
- data/app/views/decidim/accountability/results/index.html.erb +19 -0
- data/app/views/decidim/accountability/results/index.js.erb +2 -0
- data/app/views/decidim/accountability/results/show.html.erb +14 -0
- data/config/i18n-tasks.yml +10 -0
- data/config/locales/ca.yml +190 -0
- data/config/locales/en.yml +190 -0
- data/config/locales/es.yml +190 -0
- data/config/locales/eu.yml +79 -0
- data/config/locales/fi.yml +77 -0
- data/db/migrate/20170425154712_create_accountability_statuses.rb +13 -0
- data/db/migrate/20170426104125_create_accountability_results.rb +22 -0
- data/db/migrate/20170508104902_add_description_and_progress_to_statuses.rb +6 -0
- data/db/migrate/20170508161109_create_template_texts.rb +14 -0
- data/db/migrate/20170606102902_add_index_to_accountability_results_on_external_id.rb +5 -0
- data/db/migrate/20170620154712_create_accountability_timeline_entries.rb +13 -0
- data/db/migrate/20170623094200_migrate_accountability_results_category.rb +13 -0
- data/db/migrate/20170623144902_add_children_counter_cache_to_results.rb +5 -0
- data/lib/decidim/accountability.rb +12 -0
- data/lib/decidim/accountability/admin.rb +10 -0
- data/lib/decidim/accountability/admin_engine.rb +32 -0
- data/lib/decidim/accountability/feature.rb +86 -0
- data/lib/decidim/accountability/list_engine.rb +27 -0
- data/lib/decidim/accountability/test/factories.rb +45 -0
- metadata +238 -0
@@ -0,0 +1,32 @@
|
|
1
|
+
<div class="title-action">
|
2
|
+
<h2 id="results-count" class="title-action__title section-heading">
|
3
|
+
<%= heading_parent_level_results(total_count) %>
|
4
|
+
</h2>
|
5
|
+
</div>
|
6
|
+
|
7
|
+
<div class="row">
|
8
|
+
<div id="results" class="columns">
|
9
|
+
<div class="card card--action card--list">
|
10
|
+
<% results.each do |result| %>
|
11
|
+
<div class="card--list__item">
|
12
|
+
<%= icon "proposals", class: "card--list__icon", remove_icon_class: true %>
|
13
|
+
|
14
|
+
<%= link_to result, class: "card--list__text card__link card__link--block" do %>
|
15
|
+
<h5 class="card--list__heading">
|
16
|
+
<%= translated_attribute result.title %>
|
17
|
+
</h5>
|
18
|
+
|
19
|
+
<span class="text-small"><%= heading_leaf_level_results(result.children.count) %></span>
|
20
|
+
<% end %>
|
21
|
+
|
22
|
+
<div class="card--list__data">
|
23
|
+
<span class="card--list__data__number"><%= display_percentage result.progress %></span>
|
24
|
+
</div>
|
25
|
+
</div>
|
26
|
+
<% end %>
|
27
|
+
</div>
|
28
|
+
<%= decidim_paginate results, order_start_time: params[:order_start_time], scope_id: params[:scope_id] %>
|
29
|
+
</div>
|
30
|
+
</div>
|
31
|
+
|
32
|
+
|
@@ -0,0 +1,14 @@
|
|
1
|
+
<div class="scope-filters section">
|
2
|
+
<% if current_organization.scopes.any? && !current_participatory_process.scope %>
|
3
|
+
<div><%= t('results.filters.scopes', scope: "decidim.accountability") %></div>
|
4
|
+
|
5
|
+
<ul class="tags tags--action">
|
6
|
+
<li <%= active_class_if_current(nil) %>><%= link_to t("results.filters.all", scope: "decidim.accountability"), url_for(filter: { category_id: category.try(:id) }) %></li>
|
7
|
+
<li <%= active_class_if_current("global") %>><%= link_to t("results.filters.global", scope: "decidim.accountability"), url_for(filter: { scope_id: "global", category_id: category.try(:id) }) %></li>
|
8
|
+
|
9
|
+
<% current_organization.scopes.each do |scope| %>
|
10
|
+
<li <%= active_class_if_current(scope.id) %>><%= link_to scope.name, url_for(filter: { scope_id: scope.id, category_id: category.try(:id) }) %></li>
|
11
|
+
<% end %>
|
12
|
+
</ul>
|
13
|
+
<% end %>
|
14
|
+
</div>
|
@@ -0,0 +1,12 @@
|
|
1
|
+
<%= form_tag results_path, method: :get do %>
|
2
|
+
<div class="filters__search">
|
3
|
+
<div class="input-group">
|
4
|
+
<%= search_field_tag "filter[search_text]", nil, label: false, class: "input-group-field", placeholder: t('.search'), value: "" %>
|
5
|
+
<div class="input-group-button">
|
6
|
+
<button type="submit" class="button button--muted">
|
7
|
+
<%= icon "magnifying-glass", aria_label: t('.search') %>
|
8
|
+
</button>
|
9
|
+
</div>
|
10
|
+
</div>
|
11
|
+
</div>
|
12
|
+
<% end %>
|
@@ -0,0 +1,79 @@
|
|
1
|
+
<div class="row accountability result-view">
|
2
|
+
<div class="small-12 columns">
|
3
|
+
<%= render partial: "decidim/accountability/results/nav_breadcrumb", locals: { category: result.parent.try(:category) || result.category } %>
|
4
|
+
</div>
|
5
|
+
<div class="small-12 columns">
|
6
|
+
<div class="title">
|
7
|
+
<%= icon("proposals", class: "icon", aria_label: t("models.result.fields.title", scope: "decidim.accountability"), role: "img") %>
|
8
|
+
<h2 class="heading2"><%= translated_attribute result.title %></h2>
|
9
|
+
</div>
|
10
|
+
|
11
|
+
<div class="row">
|
12
|
+
<div class="columns section mediumlarge-3 mediumlarge-push-9">
|
13
|
+
<div class="progress-level">
|
14
|
+
<div class="progress-label">
|
15
|
+
<span class="progress-text"><%= t("models.result.fields.progress", scope: "decidim.accountability") %>:</span>
|
16
|
+
<span class="progress-figure">
|
17
|
+
<%= display_percentage result.progress %>
|
18
|
+
</span>
|
19
|
+
</div>
|
20
|
+
|
21
|
+
<div class="progress">
|
22
|
+
<div class="progress-meter" style="width:<%= result.progress %>%"></div>
|
23
|
+
</div>
|
24
|
+
</div>
|
25
|
+
</div>
|
26
|
+
|
27
|
+
<div class="columns mediumlarge-9 mediumlarge-pull-3">
|
28
|
+
<div class="section">
|
29
|
+
<div class="result-meta row">
|
30
|
+
<% if result.start_date %>
|
31
|
+
<div class="result-meta--label medium-2 columns"><%= t("models.result.fields.start_date", scope: "decidim.accountability") %></div>
|
32
|
+
<div class="result-meta--data medium-10 columns"><%= result.start_date %></div>
|
33
|
+
<% end %>
|
34
|
+
</div>
|
35
|
+
|
36
|
+
<div class="result-meta row">
|
37
|
+
<% if result.end_date %>
|
38
|
+
<div class="result-meta--label medium-2 columns"><%= t("models.result.fields.end_date", scope: "decidim.accountability") %></div>
|
39
|
+
<div class="result-meta--data medium-10 columns"><%= result.end_date %></div>
|
40
|
+
<% end %>
|
41
|
+
</div>
|
42
|
+
|
43
|
+
<div class="result-meta row">
|
44
|
+
<% if result.status %>
|
45
|
+
<div class="result-meta--label medium-2 columns"><%= t("models.result.fields.status", scope: "decidim.accountability") %></div>
|
46
|
+
<div class="result-meta--data medium-10 columns"><%= translated_attribute(result.status.name) %></div>
|
47
|
+
<% end %>
|
48
|
+
</div>
|
49
|
+
|
50
|
+
<div class="result-meta row">
|
51
|
+
<% if result.status && translated_attribute(result.status.description).present? %>
|
52
|
+
<div class="result-meta--label medium-2 columns"><%= t("models.status.fields.description", scope: "decidim.accountability") %></div>
|
53
|
+
<div class="result-meta--data medium-10 columns"><%= translated_attribute(result.status.description) %></div>
|
54
|
+
<% end %>
|
55
|
+
</div>
|
56
|
+
</div>
|
57
|
+
</div>
|
58
|
+
|
59
|
+
<hr>
|
60
|
+
|
61
|
+
<div class="small-12 mediumlarge-8 large-9 columns">
|
62
|
+
<div class="section result-description">
|
63
|
+
<%== translated_attribute result.description %>
|
64
|
+
<%= render partial: "tags", locals: { result: result } %>
|
65
|
+
</div>
|
66
|
+
</div>
|
67
|
+
|
68
|
+
|
69
|
+
|
70
|
+
<%= render partial: "stats_box" %>
|
71
|
+
|
72
|
+
<%= render partial: "timeline", locals: { result: result } if result.timeline_entries.any? %>
|
73
|
+
</div>
|
74
|
+
</div>
|
75
|
+
|
76
|
+
<%= render partial: "stats" %>
|
77
|
+
</div>
|
78
|
+
|
79
|
+
<%= comments_for result %>
|
@@ -0,0 +1,25 @@
|
|
1
|
+
<div class="row accountability">
|
2
|
+
<div class="small-12 columns">
|
3
|
+
<%= render partial: "decidim/accountability/results/nav_breadcrumb", locals: { category: result.try(:category) } %>
|
4
|
+
</div>
|
5
|
+
|
6
|
+
<div class="small-12 columns">
|
7
|
+
<h2 class="heading2"><%= translated_attribute result.title %></h2>
|
8
|
+
|
9
|
+
<div class="small-12 medium-8 column row end">
|
10
|
+
<div class="section">
|
11
|
+
<div class="description">
|
12
|
+
<%== translated_attribute result.description %>
|
13
|
+
</div>
|
14
|
+
<%= render partial: "tags", locals: { result: result } %>
|
15
|
+
</div>
|
16
|
+
</div>
|
17
|
+
|
18
|
+
<%= render partial: "results_leaf", locals: { results: result.children.page(1).per(result.children_count), total_count: result.children_count } %>
|
19
|
+
|
20
|
+
</div>
|
21
|
+
|
22
|
+
<%= render partial: "stats" %>
|
23
|
+
|
24
|
+
<%= comments_for result %>
|
25
|
+
</div>
|
@@ -0,0 +1,11 @@
|
|
1
|
+
<div class="small-12 columns section">
|
2
|
+
<div class="row">
|
3
|
+
<div class="small-12 medium-9 columns section">
|
4
|
+
<%= linked_resources_for result, :proposals, "included_proposals" %>
|
5
|
+
</div>
|
6
|
+
|
7
|
+
<div class="small-12 medium-9 columns end">
|
8
|
+
<%= linked_resources_for result, :meetings, "meetings_through_proposals" %>
|
9
|
+
</div>
|
10
|
+
</div>
|
11
|
+
</div>
|
@@ -0,0 +1,36 @@
|
|
1
|
+
<div class="columns section view-side mediumlarge-4 large-3 end">
|
2
|
+
<% if result.linked_resources(:proposals, "included_proposals").any? %>
|
3
|
+
<div class="card extra line-stats">
|
4
|
+
<div class="definition-data">
|
5
|
+
<div class="definition-data__item definition-data__item--double">
|
6
|
+
<span class="definition-data__title"><%= t("results.show.stats.proposals", scope: "decidim.accountability") %></span>
|
7
|
+
<span class="definition-data__number"><%= stats_calculator.proposals_count %></span>
|
8
|
+
</div>
|
9
|
+
<div class="definition-data__item definition-data__item--double">
|
10
|
+
<span class="definition-data__title"><%= t("results.show.stats.meetings", scope: "decidim.accountability") %></span>
|
11
|
+
<span class="definition-data__number"><%= stats_calculator.meetings_count %></span>
|
12
|
+
</div>
|
13
|
+
<div class="definition-data__item definition-data__item--double">
|
14
|
+
<span class="definition-data__title"><%= t("results.show.stats.comments", scope: "decidim.accountability") %></span>
|
15
|
+
<span class="definition-data__number"><%= stats_calculator.comments_count %></span>
|
16
|
+
</div>
|
17
|
+
<div class="definition-data__item definition-data__item--double">
|
18
|
+
<span class="definition-data__title"><%= t("results.show.stats.attendees", scope: "decidim.accountability") %></span>
|
19
|
+
<span class="definition-data__number"><%= stats_calculator.attendees_count %></span>
|
20
|
+
</div>
|
21
|
+
<div class="definition-data__item definition-data__item--double">
|
22
|
+
<span class="definition-data__title"><%= t("results.show.stats.votes", scope: "decidim.accountability") %></span>
|
23
|
+
<span class="definition-data__number"><%= stats_calculator.votes_count %></span>
|
24
|
+
</div>
|
25
|
+
<div class="definition-data__item definition-data__item--double">
|
26
|
+
<span class="definition-data__title"><%= t("results.show.stats.contributions", scope: "decidim.accountability") %></span>
|
27
|
+
<span class="definition-data__number"><%= stats_calculator.contributions_count %></span>
|
28
|
+
</div>
|
29
|
+
</div>
|
30
|
+
</div>
|
31
|
+
<% end %>
|
32
|
+
|
33
|
+
<%= feature_reference(result) %>
|
34
|
+
<%= render partial: "decidim/shared/share_modal" %>
|
35
|
+
<%= embed_modal_for result_result_widget_url(result, format: :js) %>
|
36
|
+
</div>
|
@@ -0,0 +1,10 @@
|
|
1
|
+
<% if result.category.present? || result.scope.present? %>
|
2
|
+
<ul class="tags tags--result" >
|
3
|
+
<% if result.category.present? %>
|
4
|
+
<li><%= link_to translated_attribute(result.category.name), results_path(filter: { category_id: result.category.id }) %></li>
|
5
|
+
<% end %>
|
6
|
+
<% if !current_participatory_process.scope && result.scope.present? %>
|
7
|
+
<li><%= link_to result.scope.name, results_path(filter: { scope_id: [result.scope.id] }) %></li>
|
8
|
+
<% end %>
|
9
|
+
</ul>
|
10
|
+
<% end %>
|
@@ -0,0 +1,24 @@
|
|
1
|
+
<div class="small-12 columns">
|
2
|
+
<div class="section">
|
3
|
+
<h4 class="section-heading"><%= t(".title") %></h4>
|
4
|
+
<ol class="timeline">
|
5
|
+
<% result.timeline_entries.each_with_index do |timeline_entry, i| %>
|
6
|
+
<li class="timeline__item ">
|
7
|
+
<div class="timeline__phase">
|
8
|
+
<span class="timeline__phase__number"><%= i + 1 %></span>
|
9
|
+
</div>
|
10
|
+
<div class="timeline__info">
|
11
|
+
<div class="timeline__description">
|
12
|
+
<span class="timeline__date text-small">
|
13
|
+
<%= timeline_entry.entry_date %>
|
14
|
+
</span>
|
15
|
+
<h6 class="timeline__title">
|
16
|
+
<%= translated_attribute timeline_entry.description %>
|
17
|
+
</h6>
|
18
|
+
</div>
|
19
|
+
</div>
|
20
|
+
</li>
|
21
|
+
<% end %>
|
22
|
+
</ol>
|
23
|
+
</div>
|
24
|
+
</div>
|
@@ -0,0 +1,9 @@
|
|
1
|
+
<div class="row accountability">
|
2
|
+
<div class="small-12 columns">
|
3
|
+
<%= render partial: "home_header" %>
|
4
|
+
<%= render partial: "scope_filters", locals: { url_method: :root_path} %>
|
5
|
+
<%= render partial: "home_categories" %>
|
6
|
+
</div>
|
7
|
+
</div>
|
8
|
+
|
9
|
+
<%= javascript_include_tag "decidim/accountability/accountability" %>
|
@@ -0,0 +1,19 @@
|
|
1
|
+
<div class="row accountability">
|
2
|
+
<div class="small-12 columns">
|
3
|
+
<%= render partial: "scope_filters", locals: { url_method: :results_path} %>
|
4
|
+
</div>
|
5
|
+
|
6
|
+
<div class="small-12 columns">
|
7
|
+
<%= render partial: "nav_breadcrumb", locals: { category: category, result: nil} %>
|
8
|
+
</div>
|
9
|
+
|
10
|
+
<div class="small-12 columns end">
|
11
|
+
<% if results.any?{|r| r.children_count > 0 } %>
|
12
|
+
<%= render partial: "results_parent", locals: { results: results, total_count: results.total_count } %>
|
13
|
+
<% else %>
|
14
|
+
<%= render partial: "results_leaf", locals: { results: results, total_count: results.total_count } %>
|
15
|
+
<% end %>
|
16
|
+
</div>
|
17
|
+
</div>
|
18
|
+
|
19
|
+
<%= javascript_include_tag("decidim/filters") %>
|
@@ -0,0 +1,14 @@
|
|
1
|
+
<% add_decidim_meta_tags({
|
2
|
+
description: translated_attribute(result.description),
|
3
|
+
title: translated_attribute(result.title),
|
4
|
+
url: result_url(result.id)
|
5
|
+
}) %>
|
6
|
+
|
7
|
+
<% if result.children.any? %>
|
8
|
+
<%= render partial: "show_parent", locals: { result: result } %>
|
9
|
+
<% else %>
|
10
|
+
<%= render partial: "show_leaf", locals: { result: result } %>
|
11
|
+
<% end %>
|
12
|
+
|
13
|
+
<%= javascript_include_tag "decidim/proposals/social_share" %>
|
14
|
+
<%= stylesheet_link_tag "decidim/proposals/social_share" %>
|
@@ -0,0 +1,10 @@
|
|
1
|
+
base_locale: en
|
2
|
+
locales: [en, es, ca]
|
3
|
+
ignore_unused:
|
4
|
+
- "decidim.features.accountability.name"
|
5
|
+
- "decidim.features.accountability.settings.*"
|
6
|
+
- "decidim.resource_links.*"
|
7
|
+
- "decidim.accountability.models.project.valid_statuses.*"
|
8
|
+
- activerecord.attributes.*
|
9
|
+
- activemodel.attributes.*
|
10
|
+
- activemodel.errors.*
|
@@ -0,0 +1,190 @@
|
|
1
|
+
---
|
2
|
+
ca:
|
3
|
+
activemodel:
|
4
|
+
attributes:
|
5
|
+
result:
|
6
|
+
decidim_accountability_status_id: Estat
|
7
|
+
decidim_category_id: Categoria
|
8
|
+
decidim_scope_id: Àmbit
|
9
|
+
description: Descripció
|
10
|
+
end_date: Fi
|
11
|
+
external_id: External ID
|
12
|
+
progress: Progrés
|
13
|
+
proposal_ids: Propostes incloses
|
14
|
+
start_date: Inici
|
15
|
+
title: Títol
|
16
|
+
status:
|
17
|
+
description: Descripció
|
18
|
+
key: Key
|
19
|
+
name: Nom
|
20
|
+
progress: Progrés
|
21
|
+
template_texts:
|
22
|
+
categories_label: Nom per "Categories"
|
23
|
+
heading_leaf_level_results: Nom per "Projectes"
|
24
|
+
heading_parent_level_results: Nom per "Resultats"
|
25
|
+
intro: Text d'introducció
|
26
|
+
subcategories_label: Nom per "Subcategories"
|
27
|
+
timeline_entry:
|
28
|
+
description: Descripció
|
29
|
+
entry_date: Data
|
30
|
+
errors:
|
31
|
+
models:
|
32
|
+
result:
|
33
|
+
attributes:
|
34
|
+
end_date:
|
35
|
+
invalid_date: no vàlida
|
36
|
+
start_date:
|
37
|
+
invalid_date: no vàlida
|
38
|
+
decidim:
|
39
|
+
accountability:
|
40
|
+
actions:
|
41
|
+
confirm_destroy: Estàs segur que vols suprimir aquest %{name}?
|
42
|
+
destroy: Esborra
|
43
|
+
edit: Edita
|
44
|
+
new: Nou/va %{name}
|
45
|
+
preview: Previsualitzar
|
46
|
+
timeline_entries: Evolució del projecte
|
47
|
+
title: Accions
|
48
|
+
admin:
|
49
|
+
imports:
|
50
|
+
create:
|
51
|
+
invalid: Hi ha hagut un problema en importar aquest fitxer
|
52
|
+
not_found: No s'ha trobat un resultat amb result_id %{result_id}
|
53
|
+
success: El fitxer ha estat importat correctament
|
54
|
+
new:
|
55
|
+
errors: Errors
|
56
|
+
import: Import
|
57
|
+
row_number: Fila
|
58
|
+
title: Importar resultats des de CSV
|
59
|
+
models:
|
60
|
+
result:
|
61
|
+
name: Resultat
|
62
|
+
status:
|
63
|
+
name: Estat
|
64
|
+
timeline_entry:
|
65
|
+
name: Element
|
66
|
+
results:
|
67
|
+
create:
|
68
|
+
invalid: Hi ha hagut un problema en crear aquest resultat
|
69
|
+
success: El resultat ha estat creat correctament
|
70
|
+
destroy:
|
71
|
+
success: El resultat ha estat eliminat correctament
|
72
|
+
edit:
|
73
|
+
title: Edita resultat
|
74
|
+
update: Actualitza resultat
|
75
|
+
index:
|
76
|
+
title: Resultats
|
77
|
+
new:
|
78
|
+
create: Crea resultat
|
79
|
+
title: Nou resultat
|
80
|
+
update:
|
81
|
+
invalid: Hi ha hagut un problema en actualitzar aquest resultat
|
82
|
+
success: El resultat ha estat actualitzat correctament
|
83
|
+
shared:
|
84
|
+
subnav:
|
85
|
+
import_csv: Importa CSV
|
86
|
+
statuses: Estats
|
87
|
+
template_texts: Portada
|
88
|
+
statuses:
|
89
|
+
create:
|
90
|
+
invalid: Hi ha hagut un problema en crear aquest estat
|
91
|
+
success: El estat ha estat creat correctament
|
92
|
+
destroy:
|
93
|
+
success: El estat ha estat eliminat correctament
|
94
|
+
edit:
|
95
|
+
title: Edita estat
|
96
|
+
update: Actualitza estat
|
97
|
+
index:
|
98
|
+
title: Estats
|
99
|
+
new:
|
100
|
+
create: Crea estat
|
101
|
+
title: Nou estat
|
102
|
+
update:
|
103
|
+
invalid: Hi ha hagut un problema en actualitzar aquest estat
|
104
|
+
success: El estat ha estat actualitzat correctament
|
105
|
+
template_texts:
|
106
|
+
edit:
|
107
|
+
title: Actualitza texts
|
108
|
+
update: Actualitza texts
|
109
|
+
form:
|
110
|
+
title: Actualitza texts
|
111
|
+
update:
|
112
|
+
invalid: Hi ha hagut un problema en actualitzar les texts
|
113
|
+
success: Texts ha estat actualitzat correctament
|
114
|
+
timeline_entries:
|
115
|
+
create:
|
116
|
+
invalid: Hi ha hagut un problema en crear aquest element
|
117
|
+
success: El element ha estat creat correctament
|
118
|
+
destroy:
|
119
|
+
success: El element ha estat eliminat correctament
|
120
|
+
edit:
|
121
|
+
title: Edita element
|
122
|
+
update: Actualitza element
|
123
|
+
index:
|
124
|
+
title: Evolució del projecte
|
125
|
+
new:
|
126
|
+
create: Crea element
|
127
|
+
title: Nou element
|
128
|
+
update:
|
129
|
+
invalid: Hi ha hagut un problema en actualitzar aquest element
|
130
|
+
success: El element ha estat actualitzat correctament
|
131
|
+
models:
|
132
|
+
result:
|
133
|
+
fields:
|
134
|
+
end_date: Fi
|
135
|
+
progress: Progrés
|
136
|
+
start_date: Inici
|
137
|
+
status: Estat
|
138
|
+
title: Títol
|
139
|
+
status:
|
140
|
+
fields:
|
141
|
+
description: Descripció
|
142
|
+
key: Key
|
143
|
+
name: Nom
|
144
|
+
progress: Progrés
|
145
|
+
timeline_entry:
|
146
|
+
fields:
|
147
|
+
description: Descripció
|
148
|
+
entry_date: Data
|
149
|
+
results:
|
150
|
+
count:
|
151
|
+
results_count:
|
152
|
+
one: 1 resultat
|
153
|
+
other: "%{count} resultats"
|
154
|
+
filters:
|
155
|
+
all: Tots
|
156
|
+
global: Global
|
157
|
+
scopes: Àmbits
|
158
|
+
home:
|
159
|
+
categories_label: Categories
|
160
|
+
subcategories_label: Subcategories
|
161
|
+
home_header:
|
162
|
+
csv_download: Descarregar dades en CSV
|
163
|
+
global_status: Estat d'execució global
|
164
|
+
nav_breadcrumb:
|
165
|
+
global: Execució global
|
166
|
+
search:
|
167
|
+
search: Cerca actuacions
|
168
|
+
show:
|
169
|
+
stats:
|
170
|
+
attendees: Assistents
|
171
|
+
comments: Comentaris
|
172
|
+
contributions: Aportacions
|
173
|
+
meetings: Trobades
|
174
|
+
proposals: Propostes
|
175
|
+
votes: Suports
|
176
|
+
timeline:
|
177
|
+
title: Evolució del projecte
|
178
|
+
features:
|
179
|
+
accountability:
|
180
|
+
name: Seguiment
|
181
|
+
settings:
|
182
|
+
global:
|
183
|
+
comments_enabled: Comentaris habilitats
|
184
|
+
step:
|
185
|
+
comments_blocked: Comentaris bloquejats
|
186
|
+
resource_links:
|
187
|
+
included_proposals:
|
188
|
+
result_proposals: Propostes incloses en aquest resultat
|
189
|
+
meetings_through_proposals:
|
190
|
+
result_meetings: Trobades relacionades
|