decidim-accountability 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (100) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +46 -0
  3. data/Rakefile +3 -0
  4. data/app/assets/config/decidim_accountability_admin_manifest.js +1 -0
  5. data/app/assets/config/decidim_accountability_manifest.js +1 -0
  6. data/app/assets/images/decidim/accountability/icon.svg +1 -0
  7. data/app/assets/javascripts/decidim/accountability/accountability.js.es6 +10 -0
  8. data/app/assets/javascripts/decidim/accountability/admin/accountability_admin.js +8 -0
  9. data/app/assets/stylesheets/decidim/accountability/_accountability.scss +1 -0
  10. data/app/assets/stylesheets/decidim/accountability/accountability/_cards.scss +13 -0
  11. data/app/assets/stylesheets/decidim/accountability/accountability/_categories.scss +109 -0
  12. data/app/assets/stylesheets/decidim/accountability/accountability/_lines_breadcrumb.scss +29 -0
  13. data/app/assets/stylesheets/decidim/accountability/accountability/_results.scss +144 -0
  14. data/app/commands/decidim/accountability/admin/create_result.rb +72 -0
  15. data/app/commands/decidim/accountability/admin/create_status.rb +42 -0
  16. data/app/commands/decidim/accountability/admin/create_timeline_entry.rb +40 -0
  17. data/app/commands/decidim/accountability/admin/update_result.rb +80 -0
  18. data/app/commands/decidim/accountability/admin/update_status.rb +46 -0
  19. data/app/commands/decidim/accountability/admin/update_template_texts.rb +47 -0
  20. data/app/commands/decidim/accountability/admin/update_timeline_entry.rb +44 -0
  21. data/app/controllers/decidim/accountability/admin/application_controller.rb +15 -0
  22. data/app/controllers/decidim/accountability/admin/imports_controller.rb +30 -0
  23. data/app/controllers/decidim/accountability/admin/results_controller.rb +84 -0
  24. data/app/controllers/decidim/accountability/admin/statuses_controller.rb +70 -0
  25. data/app/controllers/decidim/accountability/admin/template_texts_controller.rb +38 -0
  26. data/app/controllers/decidim/accountability/admin/timeline_entries_controller.rb +75 -0
  27. data/app/controllers/decidim/accountability/application_controller.rb +13 -0
  28. data/app/controllers/decidim/accountability/result_widgets_controller.rb +19 -0
  29. data/app/controllers/decidim/accountability/results_controller.rb +77 -0
  30. data/app/forms/decidim/accountability/admin/result_form.rb +74 -0
  31. data/app/forms/decidim/accountability/admin/status_form.rb +21 -0
  32. data/app/forms/decidim/accountability/admin/template_texts_form.rb +19 -0
  33. data/app/forms/decidim/accountability/admin/timeline_entry_form.rb +20 -0
  34. data/app/helpers/decidim/accountability/application_helper.rb +50 -0
  35. data/app/models/decidim/accountability/application_record.rb +10 -0
  36. data/app/models/decidim/accountability/result.rb +66 -0
  37. data/app/models/decidim/accountability/status.rb +18 -0
  38. data/app/models/decidim/accountability/template_texts.rb +17 -0
  39. data/app/models/decidim/accountability/timeline_entry.rb +11 -0
  40. data/app/services/decidim/accountability/csv_exporter.rb +77 -0
  41. data/app/services/decidim/accountability/csv_importer.rb +106 -0
  42. data/app/services/decidim/accountability/result_search.rb +40 -0
  43. data/app/services/decidim/accountability/result_stats_calculator.rb +52 -0
  44. data/app/services/decidim/accountability/results_calculator.rb +34 -0
  45. data/app/views/decidim/accountability/admin/imports/new.html.erb +47 -0
  46. data/app/views/decidim/accountability/admin/results/_form.html.erb +70 -0
  47. data/app/views/decidim/accountability/admin/results/edit.html.erb +9 -0
  48. data/app/views/decidim/accountability/admin/results/index.html.erb +52 -0
  49. data/app/views/decidim/accountability/admin/results/new.html.erb +9 -0
  50. data/app/views/decidim/accountability/admin/shared/_subnav.html.erb +3 -0
  51. data/app/views/decidim/accountability/admin/statuses/_form.html.erb +23 -0
  52. data/app/views/decidim/accountability/admin/statuses/edit.html.erb +8 -0
  53. data/app/views/decidim/accountability/admin/statuses/index.html.erb +45 -0
  54. data/app/views/decidim/accountability/admin/statuses/new.html.erb +8 -0
  55. data/app/views/decidim/accountability/admin/template_texts/_form.html.erb +30 -0
  56. data/app/views/decidim/accountability/admin/template_texts/edit.html.erb +8 -0
  57. data/app/views/decidim/accountability/admin/timeline_entries/_form.html.erb +15 -0
  58. data/app/views/decidim/accountability/admin/timeline_entries/edit.html.erb +8 -0
  59. data/app/views/decidim/accountability/admin/timeline_entries/index.html.erb +41 -0
  60. data/app/views/decidim/accountability/admin/timeline_entries/new.html.erb +8 -0
  61. data/app/views/decidim/accountability/result_widgets/show.html.erb +2 -0
  62. data/app/views/decidim/accountability/results/_home_categories.html.erb +73 -0
  63. data/app/views/decidim/accountability/results/_home_header.html.erb +24 -0
  64. data/app/views/decidim/accountability/results/_linked_results.html.erb +12 -0
  65. data/app/views/decidim/accountability/results/_nav_breadcrumb.html.erb +29 -0
  66. data/app/views/decidim/accountability/results/_results_leaf.html.erb +45 -0
  67. data/app/views/decidim/accountability/results/_results_parent.html.erb +32 -0
  68. data/app/views/decidim/accountability/results/_scope_filters.html.erb +14 -0
  69. data/app/views/decidim/accountability/results/_search.html.erb +12 -0
  70. data/app/views/decidim/accountability/results/_show_leaf.html.erb +79 -0
  71. data/app/views/decidim/accountability/results/_show_parent.html.erb +25 -0
  72. data/app/views/decidim/accountability/results/_stats.html.erb +11 -0
  73. data/app/views/decidim/accountability/results/_stats_box.html.erb +36 -0
  74. data/app/views/decidim/accountability/results/_tags.html.erb +10 -0
  75. data/app/views/decidim/accountability/results/_timeline.html.erb +24 -0
  76. data/app/views/decidim/accountability/results/home.html.erb +9 -0
  77. data/app/views/decidim/accountability/results/index.html.erb +19 -0
  78. data/app/views/decidim/accountability/results/index.js.erb +2 -0
  79. data/app/views/decidim/accountability/results/show.html.erb +14 -0
  80. data/config/i18n-tasks.yml +10 -0
  81. data/config/locales/ca.yml +190 -0
  82. data/config/locales/en.yml +190 -0
  83. data/config/locales/es.yml +190 -0
  84. data/config/locales/eu.yml +79 -0
  85. data/config/locales/fi.yml +77 -0
  86. data/db/migrate/20170425154712_create_accountability_statuses.rb +13 -0
  87. data/db/migrate/20170426104125_create_accountability_results.rb +22 -0
  88. data/db/migrate/20170508104902_add_description_and_progress_to_statuses.rb +6 -0
  89. data/db/migrate/20170508161109_create_template_texts.rb +14 -0
  90. data/db/migrate/20170606102902_add_index_to_accountability_results_on_external_id.rb +5 -0
  91. data/db/migrate/20170620154712_create_accountability_timeline_entries.rb +13 -0
  92. data/db/migrate/20170623094200_migrate_accountability_results_category.rb +13 -0
  93. data/db/migrate/20170623144902_add_children_counter_cache_to_results.rb +5 -0
  94. data/lib/decidim/accountability.rb +12 -0
  95. data/lib/decidim/accountability/admin.rb +10 -0
  96. data/lib/decidim/accountability/admin_engine.rb +32 -0
  97. data/lib/decidim/accountability/feature.rb +86 -0
  98. data/lib/decidim/accountability/list_engine.rb +27 -0
  99. data/lib/decidim/accountability/test/factories.rb +45 -0
  100. metadata +238 -0
@@ -0,0 +1,190 @@
1
+ ---
2
+ en:
3
+ activemodel:
4
+ attributes:
5
+ result:
6
+ decidim_accountability_status_id: status
7
+ decidim_category_id: Category
8
+ decidim_scope_id: Scope
9
+ description: Description
10
+ end_date: End date
11
+ external_id: External ID
12
+ progress: Progress
13
+ proposal_ids: Included proposals
14
+ start_date: Start date
15
+ title: Title
16
+ status:
17
+ description: Description
18
+ key: Key
19
+ name: Name
20
+ progress: Progress
21
+ template_texts:
22
+ categories_label: Name for "Categories"
23
+ heading_leaf_level_results: Name for "Projects"
24
+ heading_parent_level_results: Name for "Results"
25
+ intro: Intro text
26
+ subcategories_label: Name for "Subcategories"
27
+ timeline_entry:
28
+ description: Description
29
+ entry_date: Date
30
+ errors:
31
+ models:
32
+ result:
33
+ attributes:
34
+ end_date:
35
+ invalid_date: is invalid
36
+ start_date:
37
+ invalid_date: is invalid
38
+ decidim:
39
+ accountability:
40
+ actions:
41
+ confirm_destroy: Are you sure you want to delete this %{name}?
42
+ destroy: Delete
43
+ edit: Edit
44
+ new: New %{name}
45
+ preview: Preview
46
+ timeline_entries: Project evolution
47
+ title: Actions
48
+ admin:
49
+ imports:
50
+ create:
51
+ invalid: There's been a problem importing this file
52
+ not_found: No result found with result_id %{result_id}
53
+ success: File successfully imported
54
+ new:
55
+ errors: Errors
56
+ import: Import
57
+ row_number: Row
58
+ title: Import results from CSV
59
+ models:
60
+ result:
61
+ name: Result
62
+ status:
63
+ name: Status
64
+ timeline_entry:
65
+ name: Timeline entry
66
+ results:
67
+ create:
68
+ invalid: There's been a problem creating this result
69
+ success: Result successfully created
70
+ destroy:
71
+ success: Result successfully deleted
72
+ edit:
73
+ title: Edit result
74
+ update: Update result
75
+ index:
76
+ title: Results
77
+ new:
78
+ create: Create result
79
+ title: New result
80
+ update:
81
+ invalid: There's been a problem updating this result
82
+ success: Result successfully updated
83
+ shared:
84
+ subnav:
85
+ import_csv: Import CSV
86
+ statuses: Statuses
87
+ template_texts: Template Texts
88
+ statuses:
89
+ create:
90
+ invalid: There's been a problem creating this status
91
+ success: Status successfully created
92
+ destroy:
93
+ success: Status successfully deleted
94
+ edit:
95
+ title: Edit status
96
+ update: Update status
97
+ index:
98
+ title: Estats
99
+ new:
100
+ create: Create status
101
+ title: New status
102
+ update:
103
+ invalid: There's been a problem updating this status
104
+ success: Status successfully updated
105
+ template_texts:
106
+ edit:
107
+ title: Update template texts
108
+ update: Update texts
109
+ form:
110
+ title: Update texts
111
+ update:
112
+ invalid: There's been a problem updating template texts
113
+ success: Template texts successfully updated
114
+ timeline_entries:
115
+ create:
116
+ invalid: There's been a problem creating this entry
117
+ success: Entry successfully created
118
+ destroy:
119
+ success: Entry successfully deleted
120
+ edit:
121
+ title: Edit entry
122
+ update: Update entry
123
+ index:
124
+ title: Project timeline entries
125
+ new:
126
+ create: Create entry
127
+ title: New entry
128
+ update:
129
+ invalid: There's been a problem updating this entry
130
+ success: Entry successfully updated
131
+ models:
132
+ result:
133
+ fields:
134
+ end_date: End date
135
+ progress: Progress
136
+ start_date: Start date
137
+ status: Status
138
+ title: Title
139
+ status:
140
+ fields:
141
+ description: Description
142
+ key: Key
143
+ name: Name
144
+ progress: Progress
145
+ timeline_entry:
146
+ fields:
147
+ description: Description
148
+ entry_date: Date
149
+ results:
150
+ count:
151
+ results_count:
152
+ one: 1 result
153
+ other: "%{count} results"
154
+ filters:
155
+ all: All
156
+ global: Global
157
+ scopes: Scopes
158
+ home:
159
+ categories_label: Categories
160
+ subcategories_label: Subcategories
161
+ home_header:
162
+ csv_download: Download data in CSV
163
+ global_status: Global execution status
164
+ nav_breadcrumb:
165
+ global: Global execution
166
+ search:
167
+ search: Search for actions
168
+ show:
169
+ stats:
170
+ attendees: Attendees
171
+ comments: Comments
172
+ contributions: Contributions
173
+ meetings: Meetings
174
+ proposals: Proposals
175
+ votes: Supports
176
+ timeline:
177
+ title: Project evolution
178
+ features:
179
+ accountability:
180
+ name: Accountability
181
+ settings:
182
+ global:
183
+ comments_enabled: Comments enabled
184
+ step:
185
+ comments_blocked: Comments blocked
186
+ resource_links:
187
+ included_proposals:
188
+ result_proposals: Proposals included in this result
189
+ meetings_through_proposals:
190
+ result_meetings: Related meetings
@@ -0,0 +1,190 @@
1
+ ---
2
+ es:
3
+ activemodel:
4
+ attributes:
5
+ result:
6
+ decidim_accountability_status_id: Estado
7
+ decidim_category_id: Categoría
8
+ decidim_scope_id: Ámbito
9
+ description: Descripción
10
+ end_date: Fin
11
+ external_id: External ID
12
+ progress: Progreso
13
+ proposal_ids: Propuestas incluidas
14
+ start_date: Inicio
15
+ title: Título
16
+ status:
17
+ description: Descripción
18
+ key: Key
19
+ name: Nombre
20
+ progress: Progreso
21
+ template_texts:
22
+ categories_label: Nombre para "Categorías"
23
+ heading_leaf_level_results: Nombre para "Proyectos"
24
+ heading_parent_level_results: Nombre para "Resultados"
25
+ intro: Texto de introducción
26
+ subcategories_label: Nombre para "Subcategorías"
27
+ timeline_entry:
28
+ description: Descripción
29
+ entry_date: Fecha
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á seguro de que quiere eliminar este %{name}?"
42
+ destroy: Borrar
43
+ edit: Editar
44
+ new: Nuevo/a %{name}
45
+ preview: Previsualizar
46
+ timeline_entries: Evolución del proyecto
47
+ title: Acciones
48
+ admin:
49
+ imports:
50
+ create:
51
+ invalid: Ha habido un problema al importar este fichero
52
+ not_found: No se ha encontrado ningún resultado con result_id %{result_id}
53
+ success: El fichero ha sido importado correctamente
54
+ new:
55
+ errors: Errores
56
+ import: Importar
57
+ row_number: Fila
58
+ title: Importar resultados desde CSV
59
+ models:
60
+ result:
61
+ name: Resultado
62
+ status:
63
+ name: Estado
64
+ timeline_entry:
65
+ name: Evolución del proyecto
66
+ results:
67
+ create:
68
+ invalid: Ha habido un problema al crear este resultado
69
+ success: El resultado ha sido creado correctamente
70
+ destroy:
71
+ success: El resultado se ha eliminado correctamente
72
+ edit:
73
+ title: Editar resultado
74
+ update: Actualizar resultado
75
+ index:
76
+ title: Resultados
77
+ new:
78
+ create: Crear resultado
79
+ title: Nuevo resultado
80
+ update:
81
+ invalid: Ha habido un problema al actualizar este resultado
82
+ success: El resultado ha actualizado correctamente
83
+ shared:
84
+ subnav:
85
+ import_csv: Import CSV
86
+ statuses: Estados
87
+ template_texts: Portada
88
+ statuses:
89
+ create:
90
+ invalid: Ha habido un problema al crear este estado
91
+ success: El estado ha sido creado correctamente
92
+ destroy:
93
+ success: El estado se ha eliminado correctamente
94
+ edit:
95
+ title: Editar estado
96
+ update: Actualizar estado
97
+ index:
98
+ title: Estados
99
+ new:
100
+ create: Crear estado
101
+ title: Nuevo estado
102
+ update:
103
+ invalid: Ha habido un problema al actualizar este estado
104
+ success: El estado ha actualizado correctamente
105
+ template_texts:
106
+ edit:
107
+ title: Actualizar textos
108
+ update: Actualizar textos
109
+ form:
110
+ title: Actualizar textos
111
+ update:
112
+ invalid: Ha habido un problema al actualizar los textos
113
+ success: Los textos se han actualizado correctamente
114
+ timeline_entries:
115
+ create:
116
+ invalid: Ha habido un problema al crear este elemento
117
+ success: El elemento ha sido creado correctamente
118
+ destroy:
119
+ success: El elemento se ha eliminado correctamente
120
+ edit:
121
+ title: Editar elemento
122
+ update: Actualizar elemento
123
+ index:
124
+ title: Evolución del proyecto
125
+ new:
126
+ create: Crear elemento
127
+ title: Nuevo elemento
128
+ update:
129
+ invalid: Ha habido un problema al actualizar este elemento
130
+ success: El elemento ha actualizado correctamente
131
+ models:
132
+ result:
133
+ fields:
134
+ end_date: Fin
135
+ progress: Progreso
136
+ start_date: Inicio
137
+ status: Estado
138
+ title: Título
139
+ status:
140
+ fields:
141
+ description: Descripción
142
+ key: Key
143
+ name: Nombre
144
+ progress: Progreso
145
+ timeline_entry:
146
+ fields:
147
+ description: Descripción
148
+ entry_date: Fecha
149
+ results:
150
+ count:
151
+ results_count:
152
+ one: 1 resultado
153
+ other: "%{count} resultados"
154
+ filters:
155
+ all: Todos
156
+ global: Global
157
+ scopes: Ámbitos
158
+ home:
159
+ categories_label: Categorías
160
+ subcategories_label: Subcategorías
161
+ home_header:
162
+ csv_download: Descargar datos en CSV
163
+ global_status: Estado de ejecución global
164
+ nav_breadcrumb:
165
+ global: Ejecución global
166
+ search:
167
+ search: Buscar actuaciones
168
+ show:
169
+ stats:
170
+ attendees: Asistentes
171
+ comments: Comentarios
172
+ contributions: Aportes
173
+ meetings: Lista de encuentros
174
+ proposals: Propuestas
175
+ votes: Soportes
176
+ timeline:
177
+ title: Evolución del proyecto
178
+ features:
179
+ accountability:
180
+ name: Seguimiento
181
+ settings:
182
+ global:
183
+ comments_enabled: Comentarios habilitados
184
+ step:
185
+ comments_blocked: Comentarios bloqueados
186
+ resource_links:
187
+ included_proposals:
188
+ result_proposals: Propuestas incluidas en este resultado
189
+ meetings_through_proposals:
190
+ result_meetings: Encuentros relacionados
@@ -0,0 +1,79 @@
1
+ eu:
2
+ activemodel:
3
+ attributes:
4
+ result:
5
+ decidim_category_id: Kategoria
6
+ decidim_scope_id: Esparrua
7
+ description: Deskribapena
8
+ proposal_ids: Sartutako proposamenak
9
+ title: Izenburua
10
+ decidim:
11
+ features:
12
+ accountability:
13
+ name: Emaitzak
14
+ settings:
15
+ global:
16
+ comments_enabled: Iruzkinak gaituta
17
+ step:
18
+ comments_blocked: Iruzkinak blokeatuta
19
+ resource_links:
20
+ included_proposals:
21
+ result_proposals: Emaitza honetan jasotako proposamenak
22
+ meetings_through_proposals:
23
+ result_meetings: Proposamenarekin lotutako topaketak
24
+ accountability:
25
+ actions:
26
+ confirm_destroy: Ziur zaude emaitza hau ezabatu nahi duzula?
27
+ destroy: Ezabatu
28
+ edit: Editatu
29
+ new: '%{name} berria'
30
+ preview: Aurreikusi
31
+ title: Ekintzak
32
+ admin:
33
+ models:
34
+ result:
35
+ name: Emaitza
36
+ results:
37
+ create:
38
+ invalid: Arazo bat izan da emaitza hau sortzean.
39
+ success: Emaitza zuzen sortu da
40
+ destroy:
41
+ success: Emaitza zuzen ezabatu da.
42
+ edit:
43
+ title: Editatu emaitza
44
+ update: Eguneratu emaitza
45
+ index:
46
+ title: Emaitzak
47
+ new:
48
+ create: Sortu emaitza
49
+ title: Emaitza berria
50
+ update:
51
+ invalid: Arazo bat izan da emaitza hau eguneratzean.
52
+ success: Emaitza zuzen eguneratu da.
53
+ models:
54
+ result:
55
+ fields:
56
+ title: Izenburua
57
+ results:
58
+ count:
59
+ results_count:
60
+ one: 1 emaitza
61
+ other: "%{count} emaitza"
62
+ filters:
63
+ category: Kategoria
64
+ category_prompt: Aukeratu kategoria bat
65
+ scopes: Esparruak
66
+ search: Bilatu
67
+ filters_small_view:
68
+ close_modal: Itxi leihoa
69
+ filter: Iragazi
70
+ filter_by: 'Iragazi honen arabera:'
71
+ unfold: Zabaldu
72
+ show:
73
+ stats:
74
+ attendees: Bertaratuak
75
+ comments: Iruzkinak
76
+ contributions: Ekarpenak
77
+ meetings: Topaketa-zerrenda
78
+ proposals: Proposamenak
79
+ votes: Sostenguak