decidim-time_tracker 0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (134) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE-AGPLv3.txt +661 -0
  3. data/README.md +174 -0
  4. data/Rakefile +40 -0
  5. data/app/assets/config/admin/decidim_time_tracker_manifest.css +2 -0
  6. data/app/assets/config/admin/decidim_time_tracker_manifest.js +1 -0
  7. data/app/assets/config/decidim_time_tracker_manifest.css +3 -0
  8. data/app/assets/config/decidim_time_tracker_manifest.js +1 -0
  9. data/app/assets/images/decidim/time_tracker/icon.svg +1 -0
  10. data/app/assets/javascripts/decidim/time_tracker/activity_ui.js.es6 +112 -0
  11. data/app/assets/javascripts/decidim/time_tracker/admin/assignations.js.es6 +35 -0
  12. data/app/assets/javascripts/decidim/time_tracker/reports/reports.js.es6 +19 -0
  13. data/app/assets/javascripts/decidim/time_tracker/time_tracker.js.es6 +82 -0
  14. data/app/assets/javascripts/decidim/time_tracker/timer_api.js.es6 +55 -0
  15. data/app/assets/stylesheets/decidim/time_tracker/_variables.scss +1 -0
  16. data/app/assets/stylesheets/decidim/time_tracker/admin/time_tracker.scss +59 -0
  17. data/app/assets/stylesheets/decidim/time_tracker/time_tracker.scss +118 -0
  18. data/app/cells/decidim/time_tracker/milestone/show.erb +42 -0
  19. data/app/cells/decidim/time_tracker/milestone_cell.rb +54 -0
  20. data/app/commands/decidim/time_tracker/admin/create_activity.rb +39 -0
  21. data/app/commands/decidim/time_tracker/admin/create_assignation.rb +75 -0
  22. data/app/commands/decidim/time_tracker/admin/create_task.rb +33 -0
  23. data/app/commands/decidim/time_tracker/admin/create_time_tracker.rb +76 -0
  24. data/app/commands/decidim/time_tracker/admin/destroy_activity.rb +43 -0
  25. data/app/commands/decidim/time_tracker/admin/destroy_assignation.rb +43 -0
  26. data/app/commands/decidim/time_tracker/admin/destroy_task.rb +43 -0
  27. data/app/commands/decidim/time_tracker/admin/export_time_tracker.rb +150 -0
  28. data/app/commands/decidim/time_tracker/admin/update_activity.rb +49 -0
  29. data/app/commands/decidim/time_tracker/admin/update_assignation.rb +42 -0
  30. data/app/commands/decidim/time_tracker/admin/update_task.rb +44 -0
  31. data/app/commands/decidim/time_tracker/create_milestone.rb +57 -0
  32. data/app/commands/decidim/time_tracker/create_request_assignation.rb +39 -0
  33. data/app/commands/decidim/time_tracker/start_time_event.rb +104 -0
  34. data/app/commands/decidim/time_tracker/stop_last_time_event.rb +45 -0
  35. data/app/controllers/concerns/decidim/time_tracker/admin/filterable_assignations.rb +50 -0
  36. data/app/controllers/decidim/time_tracker/activity_questionnaire_controller.rb +76 -0
  37. data/app/controllers/decidim/time_tracker/admin/activities_controller.rb +82 -0
  38. data/app/controllers/decidim/time_tracker/admin/activity_questionnaire_controller.rb +52 -0
  39. data/app/controllers/decidim/time_tracker/admin/application_controller.rb +22 -0
  40. data/app/controllers/decidim/time_tracker/admin/assignations_controller.rb +84 -0
  41. data/app/controllers/decidim/time_tracker/admin/assignee_questionnaire_controller.rb +58 -0
  42. data/app/controllers/decidim/time_tracker/admin/stats_controller.rb +24 -0
  43. data/app/controllers/decidim/time_tracker/admin/tasks_controller.rb +112 -0
  44. data/app/controllers/decidim/time_tracker/admin/time_tracker_exports_controller.rb +25 -0
  45. data/app/controllers/decidim/time_tracker/application_controller.rb +24 -0
  46. data/app/controllers/decidim/time_tracker/assignations_controller.rb +38 -0
  47. data/app/controllers/decidim/time_tracker/assignee_questionnaire_controller.rb +80 -0
  48. data/app/controllers/decidim/time_tracker/milestones_controller.rb +62 -0
  49. data/app/controllers/decidim/time_tracker/reports/user_controller.rb +38 -0
  50. data/app/controllers/decidim/time_tracker/time_events_controller.rb +68 -0
  51. data/app/controllers/decidim/time_tracker/time_tracker_controller.rb +43 -0
  52. data/app/forms/decidim/time_tracker/admin/activity_form.rb +27 -0
  53. data/app/forms/decidim/time_tracker/admin/assignation_form.rb +29 -0
  54. data/app/forms/decidim/time_tracker/admin/task_form.rb +22 -0
  55. data/app/forms/decidim/time_tracker/milestone_form.rb +32 -0
  56. data/app/forms/decidim/time_tracker/time_event_form.rb +47 -0
  57. data/app/helpers/decidim/time_tracker/admin/application_helper.rb +33 -0
  58. data/app/helpers/decidim/time_tracker/application_helper.rb +95 -0
  59. data/app/jobs/decidim/time_tracker/stop_counter_job.rb +29 -0
  60. data/app/models/decidim/time_tracker/activity.rb +135 -0
  61. data/app/models/decidim/time_tracker/application_record.rb +10 -0
  62. data/app/models/decidim/time_tracker/assignation.rb +68 -0
  63. data/app/models/decidim/time_tracker/assignee.rb +29 -0
  64. data/app/models/decidim/time_tracker/assignee_data.rb +19 -0
  65. data/app/models/decidim/time_tracker/milestone.rb +27 -0
  66. data/app/models/decidim/time_tracker/task.rb +44 -0
  67. data/app/models/decidim/time_tracker/time_event.rb +62 -0
  68. data/app/models/decidim/time_tracker/time_tracker.rb +46 -0
  69. data/app/models/decidim/time_tracker/tos_acceptance.rb +16 -0
  70. data/app/permissions/decidim/time_tracker/admin/permissions.rb +69 -0
  71. data/app/permissions/decidim/time_tracker/permissions.rb +69 -0
  72. data/app/presenters/decidim/time_tracker/admin_log/activity_presenter.rb +44 -0
  73. data/app/presenters/decidim/time_tracker/admin_log/assignation_presenter.rb +48 -0
  74. data/app/presenters/decidim/time_tracker/admin_log/task_presenter.rb +46 -0
  75. data/app/presenters/decidim/time_tracker/admin_log/value_types/activity_presenter.rb +28 -0
  76. data/app/presenters/decidim/time_tracker/admin_log/value_types/time_tracker_presenter.rb +28 -0
  77. data/app/views/decidim/time_tracker/admin/_breadcrumbs.html.erb +56 -0
  78. data/app/views/decidim/time_tracker/admin/activities/_form.html.erb +41 -0
  79. data/app/views/decidim/time_tracker/admin/activities/_index.html.erb +73 -0
  80. data/app/views/decidim/time_tracker/admin/activities/edit.html.erb +5 -0
  81. data/app/views/decidim/time_tracker/admin/activities/new.html.erb +5 -0
  82. data/app/views/decidim/time_tracker/admin/assignations/_form.html.erb +30 -0
  83. data/app/views/decidim/time_tracker/admin/assignations/index.html.erb +67 -0
  84. data/app/views/decidim/time_tracker/admin/assignations/new.html.erb +9 -0
  85. data/app/views/decidim/time_tracker/admin/questionnaires/_index.html.erb +27 -0
  86. data/app/views/decidim/time_tracker/admin/questionnaires/_questionnaire.html.erb +21 -0
  87. data/app/views/decidim/time_tracker/admin/stats/index.html.erb +50 -0
  88. data/app/views/decidim/time_tracker/admin/tasks/_assignations.html.erb +60 -0
  89. data/app/views/decidim/time_tracker/admin/tasks/_form.html.erb +7 -0
  90. data/app/views/decidim/time_tracker/admin/tasks/_index.html.erb +61 -0
  91. data/app/views/decidim/time_tracker/admin/tasks/edit.html.erb +16 -0
  92. data/app/views/decidim/time_tracker/admin/tasks/index.html.erb +5 -0
  93. data/app/views/decidim/time_tracker/admin/tasks/new.html.erb +12 -0
  94. data/app/views/decidim/time_tracker/milestones/index.html.erb +60 -0
  95. data/app/views/decidim/time_tracker/reports/user/index.html.erb +41 -0
  96. data/app/views/decidim/time_tracker/time_tracker/_activity.html.erb +43 -0
  97. data/app/views/decidim/time_tracker/time_tracker/_answer_questionnaire.html.erb +7 -0
  98. data/app/views/decidim/time_tracker/time_tracker/_assignee_data.html.erb +9 -0
  99. data/app/views/decidim/time_tracker/time_tracker/_callout_status.html.erb +3 -0
  100. data/app/views/decidim/time_tracker/time_tracker/_idle_activity.html.erb +27 -0
  101. data/app/views/decidim/time_tracker/time_tracker/_milestone_form.html.erb +35 -0
  102. data/app/views/decidim/time_tracker/time_tracker/_request_activity.html.erb +22 -0
  103. data/app/views/decidim/time_tracker/time_tracker/_sign_in.html.erb +5 -0
  104. data/app/views/decidim/time_tracker/time_tracker/index.html.erb +59 -0
  105. data/config/activity_questionnaire.yml +26 -0
  106. data/config/assignee_questionnaire.yml +37 -0
  107. data/config/i18n-tasks.yml +10 -0
  108. data/config/locales/ca.yml +394 -0
  109. data/config/locales/cs.yml +394 -0
  110. data/config/locales/en.yml +419 -0
  111. data/config/locales/es.yml +394 -0
  112. data/db/migrate/20200302115642_create_decidim_time_tracker_time_trackers.rb +10 -0
  113. data/db/migrate/20200302115654_create_decidim_time_tracker_tasks.rb +11 -0
  114. data/db/migrate/20200302115658_create_decidim_time_tracker_assignees.rb +12 -0
  115. data/db/migrate/20200302115700_create_decidim_time_tracker_activities.rb +19 -0
  116. data/db/migrate/20200302115708_create_decidim_time_tracker_milestones.rb +13 -0
  117. data/db/migrate/20200302115831_create_decidim_time_tracker_assignations.rb +16 -0
  118. data/db/migrate/20200302115840_create_decidim_time_tracker_time_events.rb +15 -0
  119. data/db/migrate/20201118153327_create_decidim_time_tracker_assignee_data.rb +10 -0
  120. data/db/migrate/20201223115130_create_decidim_time_tracker_tos_acceptances.rb +18 -0
  121. data/lib/decidim/time_tracker.rb +45 -0
  122. data/lib/decidim/time_tracker/admin.rb +10 -0
  123. data/lib/decidim/time_tracker/admin_engine.rb +51 -0
  124. data/lib/decidim/time_tracker/component.rb +248 -0
  125. data/lib/decidim/time_tracker/engine.rb +59 -0
  126. data/lib/decidim/time_tracker/reports.rb +10 -0
  127. data/lib/decidim/time_tracker/reports_engine.rb +34 -0
  128. data/lib/decidim/time_tracker/test/admin_log_presenter_examples.rb +34 -0
  129. data/lib/decidim/time_tracker/test/factories.rb +110 -0
  130. data/lib/decidim/time_tracker/test/time_tracker_context.rb +18 -0
  131. data/lib/decidim/time_tracker/time_tracker_activity_questionnaire_answers_serializer.rb +74 -0
  132. data/lib/decidim/time_tracker/version.rb +9 -0
  133. data/vendor/assets/javascripts/jsrender.min.js +4 -0
  134. metadata +276 -0
@@ -0,0 +1,394 @@
1
+ es:
2
+ activemodel:
3
+ attributes:
4
+ activity:
5
+ active: Activa
6
+ description: Descripción
7
+ end_date: Fecha de finalización
8
+ max_minutes_per_day: Minutos máximos por dia
9
+ requests_start_at: Las solicitudes comienzan el
10
+ start_date: Fecha de inicio
11
+ milestone:
12
+ title: '¿Qué has hecho?'
13
+ task:
14
+ name: Nombre
15
+ errors:
16
+ models:
17
+ milestone:
18
+ attributes:
19
+ attachment:
20
+ needs_to_be_reattached: Es necesario volver a adjuntar el archivo
21
+ time_event:
22
+ attributes:
23
+ activity:
24
+ finished: La actividad ya ha finalizado
25
+ inactive: La actividad no está activa
26
+ no_time_available: El usuario ha alcanzado el tiempo máximo disponible para el día
27
+ not_started: La actividad aún no ha comenzado
28
+ assignation:
29
+ unassigned: La usuaria no está asignada a la tarea
30
+ start:
31
+ date_format: La hora inicial no es una fecha
32
+ stop:
33
+ date_format: La hora de finalización no es una fecha
34
+ stop_before_start: Finalizar es antes del inicio
35
+ decidim:
36
+ admin:
37
+ filters:
38
+ activity_id_eq:
39
+ label: Actividad
40
+ activity_task_id_eq:
41
+ label: Tarea
42
+ search_placeholder:
43
+ user_name_or_user_nickname_or_user_email_cont: Busca por nombre de usuaria, apodo o correo electrónico
44
+ components:
45
+ time_tracker:
46
+ name: Contador de Tiempo
47
+ settings:
48
+ global:
49
+ activities_label: Nombre para "Actividades"
50
+ announcement: Anuncio
51
+ assignations_label: Nombre para "Asignaciones"
52
+ milestones_label: Nombre para "Hitos"
53
+ tasks_label: Nombre para "Tareas"
54
+ time_events_label: Nombre para "Eventos de tiempo"
55
+ step:
56
+ announcement: Anuncio
57
+ views:
58
+ activity:
59
+ info: Haga clic en el botón para seguir su tiempo.
60
+ time_elapsed: 'Tiempo transcurrido:'
61
+ index:
62
+ account_message: <a href="%{sign_in_url}">Inicia sesión con tu cuenta</a> o <a href="%{sign_up_url}">regístrate</a> para participar en esta actividad.
63
+ data:
64
+ fill: Rellenar datos
65
+ submit: Enviar
66
+ request: Solicitar unirse a la actividad
67
+ log:
68
+ value_types:
69
+ activity_presenter:
70
+ not_found: 'La actividad no se encontró en la base de datos (ID: %{id})'
71
+ time_tracker_presenter:
72
+ not_found: 'El componente Time Tracker no se encontró en la base de datos (ID: %{id})'
73
+ pages:
74
+ home:
75
+ statistics:
76
+ activities_count: Actividades
77
+ assignees_count: Voluntarias
78
+ tasks_count: Tareas
79
+ participatory_processes:
80
+ statistics:
81
+ activities_count: Actividades
82
+ assignees_count: Voluntarias
83
+ tasks_count: Tareas
84
+ time_tracker:
85
+ admin:
86
+ actions:
87
+ title: Acciones
88
+ activities:
89
+ actions:
90
+ assignations: Administrar asignaciones
91
+ confirm_destroy: '¿Seguro que desea eliminar esta actividad?'
92
+ destroy: Eliminar actividad
93
+ edit: Editar actividad
94
+ new: Nueva actividad
95
+ create:
96
+ error: Ocurrió un error al añadir la actividad
97
+ success: Actividad agregada correctamente
98
+ destroy:
99
+ success: Actividad eliminada correctamente
100
+ edit:
101
+ submit: Actualizar actividad
102
+ title: Editar actividad
103
+ index:
104
+ title: Actividades de la tarea
105
+ new:
106
+ submit: Crear actividad
107
+ title: Nueva actividad
108
+ update:
109
+ error: Error al actualizar la actividad
110
+ success: Actividad actualizada correctamente
111
+ assignations:
112
+ actions:
113
+ accept: Aceptar
114
+ accept_all: Aceptar todas las asignaciones pendientes
115
+ assignations: Administrar asignaciones
116
+ confirm_destroy: '¿Estás seguro de que quieres eliminar esta asignación?'
117
+ destroy: Eliminar asignación
118
+ new: Nueva asignación
119
+ reject: Rechazar
120
+ create:
121
+ error: Error al crear la asignación
122
+ success: Asignación creada correctamente
123
+ destroy:
124
+ error: Error al eliminar la asignación
125
+ succcess: Asignación eliminada correctamente
126
+ form:
127
+ existing_user: Participante existente
128
+ non_user: No participante
129
+ select_user: Selecciona una participante
130
+ user_type: Tipo de participante
131
+ index:
132
+ title: Asignaciones
133
+ new:
134
+ create: Crear asignación
135
+ title: Nueva asignación a esta actividad
136
+ update:
137
+ error: Error al actualizar la asignación
138
+ success: Asignación actualizada correctamente
139
+ breadcrumbs:
140
+ assignations: Asignaciones
141
+ global: Todas las tareas
142
+ stats: Estadísticas
143
+ exports:
144
+ time_tracker_activity_questionnaire_answers: Respuestas al cuestionario de actividades
145
+ time_tracker_assignee_questionnaire_answers: Respuestas al cuestionario de voluntarias
146
+ models:
147
+ activity:
148
+ name: Actividad
149
+ assignation:
150
+ name: Asignación
151
+ task:
152
+ name: Tarea
153
+ questionnaires:
154
+ index:
155
+ title: Cuestionarios
156
+ questionnaire:
157
+ edit: Editar cuestionario
158
+ stats:
159
+ index:
160
+ title: Estadísticas
161
+ tasks:
162
+ actions:
163
+ confirm_destroy: '¿Estás seguro de que deseas borrar esta tarea?'
164
+ destroy: Eliminar tarea
165
+ edit: Editar tarea
166
+ new: Nueva tarea
167
+ activity_questionnaire:
168
+ title: Cuestionario de actividades
169
+ assignations:
170
+ bulk_invalid: Error, no se han podido asignar %{count} participantes
171
+ bulk_ok: '%{count} participantes asignadas correctamente'
172
+ pending: Asignaciones pendientes
173
+ assignee_questionnaire:
174
+ title: Cuestionario de términos y Condiciones
175
+ create:
176
+ error: Error al crear la tarea
177
+ success: Tarea creada correctamente
178
+ destroy:
179
+ success: Tarea eliminada correctamente
180
+ edit:
181
+ submit: Actualizar
182
+ title: Actualizar tarea
183
+ index:
184
+ title: Tareas
185
+ new:
186
+ submit: Crear
187
+ title: Crear tarea
188
+ update:
189
+ error: Error al actualizar la tarea
190
+ success: Tarea actualizada correctamente
191
+ time_tracker_exports:
192
+ create:
193
+ error: Error importing the Time Tracker data to accountability
194
+ success: Time Tracker data exported to accountability successfully
195
+ admin_log:
196
+ activity:
197
+ create: "%{user_name} ha creado la actividad %{resource_name}"
198
+ delete: "%{user_name} ha eliminado la actividad %{resource_name}"
199
+ update: "%{user_name} ha actualizado la actividad %{resource_name}"
200
+ assignation:
201
+ create: "%{user_name} ha creado una asignación"
202
+ delete: "%{user_name} ha eliminado una asignación"
203
+ update: "%{user_name} ha actualizado una asignación"
204
+ task:
205
+ create: "%{user_name} ha creado la tarea %{resource_name}"
206
+ delete: "%{user_name} ha eliminado la tarea %{resource_name}"
207
+ update: "%{user_name} ha actualizado la tarea %{resource_name}"
208
+ assignations:
209
+ request:
210
+ error: Se ha producido un error al asignarle a esta actividad.
211
+ success: '¡Tu solicitud de unirte a la actividad se ha tramitado correctamente!'
212
+ show:
213
+ assignations_activity: "Actividad de %{user_name}"
214
+ milestones_list: Lista de hitos
215
+ clock:
216
+ hours: "%{n}h"
217
+ minutes: "%{n}m"
218
+ seconds: "%{n}s"
219
+ default_activity_questionnaire:
220
+ description: '¡Gracias por completar este cuestionario! Le hacemos este conjunto de preguntas para ayudarlo a comprender si este proyecto (y sus acciones llevadas a cabo de manera voluntaria) está equilibrado en términos de distribución de tareas por género. Reflexionar sobre estas preguntas también puede ser una oportunidad útil para analizar cuáles son los tipos de tareas que se consideran importantes y quién las realiza habitualmente.'
221
+ question_1:
222
+ body: '¿Cuál crees que es la importancia de esta tarea?'
223
+ description: De 1 a 5, ¿consideras esta tarea como la más importante (5), no importante en absoluto (1) o algo en medio?
224
+ option_1: 1 (Nada importante)
225
+ option_2: 2 (No muy importante)
226
+ option_3: 3 (Bastante importante)
227
+ option_4: 4 (Muy importante)
228
+ option_5: 5 (La más importante)
229
+ question_2:
230
+ body: '¿Quiénes crees que suelen realizar esta tarea?'
231
+ description: '¿Crees que esta tarea es principalmente realizada por personas que se identifican con un determinado género?'
232
+ option_1: Principalmente mujeres
233
+ option_2: Principalmente hombres
234
+ option_3: No veo diferencias por género
235
+ option_4: Otra
236
+ title: '¿Cómo percibes esta tarea?'
237
+ tos: Los datos contestados aquí son tratados como confidenciales y utilizados únicamente para fines estadísticos. Los <a href="/pages/terms-and-conditions">Términos y Condiciones Generales</a> también se aplican. Al enviar este cuestionario, estás dando tu consentimiento.
238
+ default_assignee_questionnaire:
239
+ description: '¡Gracias por rellenar este cuestionario! Hacemos este conjunto de preguntas para ayudar a comprender si este proyecto (y sus acciones llevadas a cabo de forma voluntaria) está equilibrado en términos de distribución de tareas debido al género.'
240
+ question_1:
241
+ body: '¿Con qué género te identificas?'
242
+ description: Elige la opción que mejor se adapte a tu identidad de género.
243
+ option_1: Mujer
244
+ option_2: Hombre
245
+ option_3: No-binario
246
+ option_4: Otra
247
+ question_2:
248
+ body: '¿Cual es tu edad?'
249
+ description: Elige tu rango de edad
250
+ option_1: Menos de 15
251
+ option_10: 55 a 60
252
+ option_11: 65 a 70
253
+ option_12: 70 a 75
254
+ option_13: 75 a 80
255
+ option_14: 80 a 85
256
+ option_15: 85 a 90
257
+ option_16: Más de 90
258
+ option_2: 15 a 20
259
+ option_3: 20 a 25
260
+ option_4: 25 a 30
261
+ option_5: 30 a 35
262
+ option_6: 35 a 40
263
+ option_7: 40 a 45
264
+ option_8: 45 a 50
265
+ option_9: 50 a 55
266
+ title: Términos de uso y datos demográficos
267
+ tos: Los datos contestados aquí son tratados como confidenciales y utilizados únicamente para fines estadísticos. Los <a href="/pages/terms-and-conditions">Términos y Condiciones Generales</a> también se aplican. Al enviar este cuestionario, estás dando tu consentimiento.
268
+ milestone:
269
+ dedicated_time: "%{hours}h %{minutes}m %{seconds}s"
270
+ time_dedicated: Tiempo dedicado
271
+ title: "Actividad de %{user_name}"
272
+ milestone_form:
273
+ button_no: No, gracias
274
+ button_submit: Guardar
275
+ description: Comparte una prueba de tu trabajo subiendo una foto y una breve descripción de lo que has conseguido.
276
+ input_file: Archivo
277
+ input_title: Título
278
+ title: '¡Deja tu marca!'
279
+ milestones:
280
+ create:
281
+ error: Error al crear el hito
282
+ success: Hito creado correctamente
283
+ index:
284
+ assignations_activity: "Actividad de %{user_name}"
285
+ back_to_list: Volver a actividades
286
+ joined_on: Se unió el
287
+ last_worked_on: Último trabajo en
288
+ total_time: Tiempo total dedicado
289
+ milestone:
290
+ time_dedicated: Tiempo dedicado
291
+ models:
292
+ activity:
293
+ fields:
294
+ assignations_accepted: Asignaciones aceptadas
295
+ assignations_pending: Asignaciones pendientes
296
+ description: Descripción
297
+ end_date: Fecha de finalización
298
+ max_minutes_per_day: Máximo de minutos por día
299
+ requests_start_at: Las solicitudes comienzan el
300
+ start_date: Fecha de inicio
301
+ status: Estado
302
+ statuses:
303
+ finished: Completada
304
+ inactive: Inactiva
305
+ not_started: Sin comenzar
306
+ open: Abierta
307
+ name: Actividad
308
+ assignation:
309
+ fields:
310
+ activity: Actividad
311
+ email: Email
312
+ invited_at: Invitada el
313
+ invited_by: Invitado por
314
+ name: Nombre
315
+ requested_at: Solicitado el %{time}
316
+ status: Estado
317
+ statuses:
318
+ accepted: Aceptada
319
+ pending: Pendiente
320
+ rejected: Rechazada
321
+ task: Tarea
322
+ time_dedicated: Tiempo dedicado
323
+ tos_accepted_at: Se unió el
324
+ name: Asignación
325
+ questionnaire:
326
+ fields:
327
+ name: Nombre
328
+ title: Título
329
+ task:
330
+ fields:
331
+ activities_count: Número de actividades
332
+ activities_end_at: La última actividad termina el
333
+ activities_start_at: La primera actividad comienza el
334
+ assignations_accepted: Asignaciones aceptadas
335
+ assignations_pending: Asignaciones pendientes
336
+ name: Nombre
337
+ name: Tarea
338
+ reports:
339
+ user:
340
+ index:
341
+ accepted: Aceptada
342
+ dedicated_time: 'Tiempo dedicado hasta ahora: %{time}'
343
+ empty: No tienes ninguna actividad asignada
344
+ pending: Pendiente
345
+ time_events:
346
+ start:
347
+ already_started: El contador ya ha comenzado
348
+ error: Error iniciando contador
349
+ success: Contador iniciado correctamente
350
+ stop:
351
+ already_stopped: El contador ya está detenido
352
+ error: Error al detener el contador
353
+ success: Contador detenido correctamente
354
+ time_tracker:
355
+ activity:
356
+ counter_stopped: Contador se ha detenido automáticamente
357
+ questionnaire:
358
+ answered: '¡Gracias por responder al cuestionario!'
359
+ respond: '¿Qué opinas sobre esta tarea?'
360
+ assignee_data:
361
+ answer: '¡Empecemos!'
362
+ description: Para comprender mejor a nuestras participantes y su relación con estas tareas, te pedimos que rellenes un par de preguntas sobre tu perfil demográfico. También queremos asegurarnos de que aceptas los términos de uso antes de registrarte en cualquier tarea. ¡Gracias!
363
+ title: Términos de uso y datos demográficos
364
+ callout_status:
365
+ finished: Terminó el %{end_date}
366
+ inactive: Inactiva
367
+ not_started: Empezará el %{start_date}
368
+ open: Abierta, iniciada el %{start_date}
369
+ idle_activity:
370
+ assignation_pending: '¡Ya inscrita! Pronto un administrador revisará tu aplicación.'
371
+ assignation_rejected: Lo sentimos pero tu solicitud ha sido rechazada.
372
+ index:
373
+ empty: Todavía no hay actividades.
374
+ milestones_list: Personas trabajando en esta actividad
375
+ questionnaire_in_preview_mode: '¡Este cuestionario no puede ser respondido en modo de vista previa!'
376
+ request_activity:
377
+ assignation_pending: '¡Ya inscrita! Pronto un administrador revisará tu aplicación.'
378
+ assignation_rejected: Lo sentimos pero tu solicitud ha sido rechazada.
379
+ assignee_questionnaire: Por favor, acepta los <a href="%{path}" target="_blank">términos de uso</a> para unirte a la actividad.
380
+ time_tracker_activity_questionnaire_answers_serializer:
381
+ activity_description: Actividad
382
+ activity_id: ID de actividad
383
+ created_at: Respondido el
384
+ id: ID de respuesta
385
+ ip_hash: Hash de Dirección IP
386
+ registered: Registrado
387
+ task_id: ID de tarea
388
+ task_name: Tarea
389
+ unregistered: No registrado
390
+ user_status: Estado del usuario
391
+ layouts:
392
+ decidim:
393
+ user_profile:
394
+ time_tracker: Mi trabajo voluntario
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ class CreateDecidimTimeTrackerTimeTrackers < ActiveRecord::Migration[5.2]
4
+ def change
5
+ create_table :decidim_time_trackers do |t|
6
+ t.references :decidim_component, index: true
7
+ t.timestamps
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ class CreateDecidimTimeTrackerTasks < ActiveRecord::Migration[5.2]
4
+ def change
5
+ create_table :decidim_time_tracker_tasks do |t|
6
+ t.references :time_tracker, foreign_key: { to_table: :decidim_time_trackers }
7
+ t.jsonb :name
8
+ t.timestamps
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ class CreateDecidimTimeTrackerAssignees < ActiveRecord::Migration[5.2]
4
+ def change
5
+ create_table :decidim_time_tracker_assignees do |t|
6
+ t.references :decidim_user,
7
+ foreign_key: { to_table: :decidim_users },
8
+ index: true
9
+ t.timestamps
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ class CreateDecidimTimeTrackerActivities < ActiveRecord::Migration[5.2]
4
+ def change
5
+ create_table :decidim_time_tracker_activities do |t|
6
+ t.references :task,
7
+ foreign_key: { to_table: :decidim_time_tracker_tasks },
8
+ index: true,
9
+ null: false
10
+ t.jsonb :description
11
+ t.boolean :active
12
+ t.datetime :requests_start_at
13
+ t.datetime :start_date
14
+ t.datetime :end_date
15
+ t.integer :max_minutes_per_day
16
+ t.timestamps
17
+ end
18
+ end
19
+ end