mumuki-laboratory 8.4.0 → 9.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/javascripts/mumuki_laboratory/application/upload.js +69 -14
- data/app/assets/stylesheets/mumuki_laboratory/application/_layout.scss +3 -0
- data/app/assets/stylesheets/mumuki_laboratory/application/_modules.scss +1 -0
- data/app/assets/stylesheets/mumuki_laboratory/application/modules/_content_show.scss +15 -2
- data/app/assets/stylesheets/mumuki_laboratory/application/modules/_discussion.scss +31 -8
- data/app/assets/stylesheets/mumuki_laboratory/application/modules/_medal.scss +1 -1
- data/app/assets/stylesheets/mumuki_laboratory/application/modules/_user_menu.scss +35 -0
- data/app/assets/stylesheets/mumuki_laboratory/application/modules/_user_profile.scss +11 -0
- data/app/controllers/api/base_controller.rb +0 -1
- data/app/controllers/api/courses_controller.rb +1 -1
- data/app/controllers/api/organizations_controller.rb +5 -2
- data/app/controllers/api/roles_controller.rb +4 -0
- data/app/controllers/api/users_controller.rb +6 -1
- data/app/controllers/application_controller.rb +1 -1
- data/app/controllers/concerns/with_authorization.rb +1 -16
- data/app/controllers/concerns/with_user_params.rb +4 -0
- data/app/controllers/discussions_messages_controller.rb +0 -1
- data/app/controllers/exam_authorization_requests_controller.rb +26 -0
- data/app/controllers/exam_registrations_controller.rb +6 -0
- data/app/controllers/users_controller.rb +8 -5
- data/app/helpers/application_helper.rb +4 -0
- data/app/helpers/breadcrumbs_helper.rb +4 -0
- data/app/helpers/content_view_helper.rb +19 -0
- data/app/helpers/exercise_input_helper.rb +8 -17
- data/app/helpers/icons_helper.rb +3 -11
- data/app/helpers/links_helper.rb +3 -3
- data/app/helpers/menu_bar_helper.rb +3 -3
- data/app/helpers/progress_bar_helper.rb +2 -2
- data/app/helpers/user_menu_helper.rb +18 -0
- data/app/views/chapters/show.html.erb +17 -16
- data/app/views/complements/show.html.erb +1 -1
- data/app/views/discussions/_message.html.erb +7 -7
- data/app/views/exam_authorization_requests/show.html.erb +17 -0
- data/app/views/exam_registrations/show.html.erb +37 -0
- data/app/views/exams/show.html.erb +1 -1
- data/app/views/{layouts → exercises}/_exercise_skipped.html.erb +0 -0
- data/app/views/exercises/_exercise_title_icons.html.erb +4 -0
- data/app/views/exercises/show.html.erb +5 -8
- data/app/views/{layouts → guides}/_guide.html.erb +3 -3
- data/app/views/guides/_guide_container.html.erb +24 -0
- data/app/views/{layouts → guides}/_guide_title_icons.html.erb +1 -3
- data/app/views/layouts/_progress_bar.html.erb +9 -7
- data/app/views/layouts/_progress_listing.html.erb +5 -5
- data/app/views/layouts/_user_menu.html.erb +21 -0
- data/app/views/layouts/application.html.erb +1 -6
- data/app/views/layouts/exercise_inputs/editors/_upload.html.erb +11 -2
- data/app/views/lessons/show.html.erb +1 -1
- data/app/views/notifications/_discussion.html.erb +1 -0
- data/app/views/notifications/_dropdown.html.erb +13 -0
- data/app/views/notifications/_exam_authorization_request.html.erb +1 -0
- data/app/views/notifications/_exam_registration.html.erb +1 -0
- data/app/views/notifications/_message.html.erb +1 -0
- data/app/views/users/_user_form.html.erb +10 -8
- data/app/views/users/discussions.html.erb +28 -0
- data/app/views/users/edit.html.erb +1 -1
- data/app/views/users/messages.html.erb +27 -0
- data/app/views/users/show.html.erb +4 -51
- data/app/views/users/terms.html.erb +2 -2
- data/config/routes.rb +6 -0
- data/lib/mumuki/laboratory/controllers/notifications.rb +3 -22
- data/lib/mumuki/laboratory/locales/en.yml +34 -17
- data/lib/mumuki/laboratory/locales/es-CL.yml +25 -8
- data/lib/mumuki/laboratory/locales/es.yml +30 -14
- data/lib/mumuki/laboratory/locales/pt.yml +27 -10
- data/lib/mumuki/laboratory/version.rb +1 -1
- data/spec/controllers/exam_authorization_requests_controller_spec.rb +40 -0
- data/spec/controllers/exam_registrations_controller_spec.rb +19 -0
- data/spec/controllers/organizations_api_controller_spec.rb +16 -9
- data/spec/dummy/db/schema.rb +23 -0
- data/spec/features/exercise_flow_spec.rb +3 -3
- data/spec/features/login_flow_spec.rb +1 -1
- data/spec/features/menu_bar_spec.rb +24 -24
- data/spec/features/notifications_flow_spec.rb +46 -0
- data/spec/features/profile_flow_spec.rb +6 -9
- data/spec/features/terms_flow_spec.rb +30 -0
- data/spec/helpers/application_helper_spec.rb +10 -0
- data/spec/javascripts/bridge-spec.js +2 -2
- data/spec/javascripts/csrf-token-spec.js +2 -2
- data/spec/javascripts/editors-spec.js +7 -9
- data/spec/javascripts/elipsis-spec.js +4 -4
- data/spec/javascripts/events-spec.js +7 -7
- data/spec/javascripts/exercise-spec.js +7 -8
- data/spec/javascripts/global-spec.js +3 -3
- data/spec/javascripts/i18n-spec.js +23 -20
- data/spec/javascripts/kids-button-spec.js +6 -8
- data/spec/javascripts/results-renderers-spec.js +5 -5
- data/spec/javascripts/speech-bubble-renderer-spec.js +2 -3
- data/spec/javascripts/submissions-store-spec.js +14 -14
- data/spec/javascripts/sync-mode-spec.js +3 -3
- data/spec/javascripts/timeout-spec.js +2 -2
- data/spec/javascripts/timer-spec.js +2 -2
- data/spec/javascripts/upload-spec.js +80 -0
- metadata +132 -108
- data/app/views/layouts/_guide_container.html.erb +0 -28
@@ -9,7 +9,7 @@ es-CL:
|
|
9
9
|
actual_state: Tablero obtenido
|
10
10
|
all: Todos
|
11
11
|
and: y
|
12
|
-
appendix:
|
12
|
+
appendix: Apéndice
|
13
13
|
appendix_teaser: ¿Quieres saber más? <a href="%{link}">Consulta el apéndice de este capítulo</a>
|
14
14
|
are_you_sure: '¿Estás seguro que quieres %{action}?'
|
15
15
|
ask_a_question: ¡Haz una pregunta!
|
@@ -21,7 +21,7 @@ es-CL:
|
|
21
21
|
one: '1 intento restante'
|
22
22
|
other: '%{count} intentos restantes'
|
23
23
|
author: Autor
|
24
|
-
authoring:
|
24
|
+
authoring: Autores
|
25
25
|
authoring_note_html: Esta guía fue desarrollada por %{authors} bajo los términos de la <a href="https://creativecommons.org/licenses/by-sa/4.0/" target="_blank">Licencia Creative Commons Compartir-Igual, 4.0</a>.
|
26
26
|
authoring_note_with_collaborators_html: Esta guía fue desarrollada por %{authors} y <a href="%{collaborators}" target="_blank">muchas personas más</a>, bajo los términos de la <a href="https://creativecommons.org/licenses/by-sa/4.0/" target="_blank">Licencia Creative Commons Compartir-Igual, 4.0</a>.
|
27
27
|
back_to_mumuki: ¡Vuelve a Mumuki!
|
@@ -65,8 +65,10 @@ es-CL:
|
|
65
65
|
details: Detalles
|
66
66
|
disabled_explanation: Estás intentando acceder a un recurso que fue deshabilitado o eliminado de forma permanente
|
67
67
|
disabled_organization_explanation: ¡Este recorrido ha finalizado!
|
68
|
+
new_discussion_message: Mensaje nuevo en %{title}
|
68
69
|
discussion_updated: Consulta actualizada
|
69
70
|
discussions: Consultas
|
71
|
+
discussions_will_be_here: Las preguntas que realices en el espacio de consultas aparecerán aquí.
|
70
72
|
dont_leave_us: ¡No nos abandones! Aprender a programar es divertido. Sólo tienes que seguir practicando.
|
71
73
|
download: "Descarga lo que hiciste"
|
72
74
|
edit: Editar
|
@@ -78,13 +80,22 @@ es-CL:
|
|
78
80
|
error_404: error 404
|
79
81
|
error_410: error 410
|
80
82
|
error_500: error 500
|
81
|
-
errored: ¡Ups! Tu solución no se puede ejecutar
|
82
83
|
error:
|
83
84
|
title:
|
84
85
|
forbidden: No tienes autorización para ver este contenido
|
85
86
|
gone: ¡Ups! El contenido expiró
|
86
87
|
internal_server_error: ¡Ups! Algo no anduvo bien
|
87
88
|
not_found: ¡Ups! La página no existe
|
89
|
+
errored: ¡Ups! Tu solución no se puede ejecutar
|
90
|
+
exam_authorization_request_approved_html: Tu solicitud fue aprobada, no olvides conectarte el <strong>%{date}</strong>. ¡Buena suerte!
|
91
|
+
exam_authorization_request_created: ¡Tu inscripción al exámen se registró exitosamente!
|
92
|
+
exam_authorization_request_rejected: Tu solicitud fue rechazada.
|
93
|
+
exam_authorization_request_saved: ¡Tu inscripción al exámen se modificó exitosamente!
|
94
|
+
exam_authorization_request_updated: Hay novedades sobre tu inscripción a %{description}
|
95
|
+
exam_registration_choose_exam: Seleccioná día y horario en el que te gustaría rendir el exámen
|
96
|
+
exam_registration_explanation_html: Tienes tiempo hasta el <strong>%{date}</strong> para inscribirte. Pasada esa fecha, tu solicitud será evaluada y recibirás una confirmación. <br> ¡No olvides revisar las notificaciones!
|
97
|
+
exam_registration_open: ¡Ya puedes inscribirte a %{description}!
|
98
|
+
exam_registration_to: Inscripción a %{description}
|
88
99
|
exams: Exámenes
|
89
100
|
exercise: Ejercicio
|
90
101
|
exercise_count: ejercicios
|
@@ -99,6 +110,7 @@ es-CL:
|
|
99
110
|
failed: Tu solución no pasó las pruebas
|
100
111
|
feedback: Problemas que encontramos
|
101
112
|
female: Mujer
|
113
|
+
file_exceeds_max_size: "El tamaño de archivo no debe exceder %{size_kb}kb. Por favor selecciona otro archivo."
|
102
114
|
finish: Terminar
|
103
115
|
first_name: Nombre
|
104
116
|
forbidden_explanation: ¿Puede que hayas ingresado con una cuenta incorrecta?
|
@@ -120,6 +132,7 @@ es-CL:
|
|
120
132
|
home: Inicio
|
121
133
|
hour: hora
|
122
134
|
hours: horas
|
135
|
+
important_info: Información importante
|
123
136
|
initial_state: Tablero inicial
|
124
137
|
insert_file_name: Ingresa un nombre de archivo
|
125
138
|
invitation: Invitación a curso
|
@@ -156,9 +169,12 @@ es-CL:
|
|
156
169
|
messages_error: Los mensajes anteriores no están disponibles en este momento. ¡Vuelve a intentar más tarde!
|
157
170
|
minute: minuto
|
158
171
|
minutes: minutos
|
172
|
+
moderation: Mentoría
|
173
|
+
moderator: Mentor
|
159
174
|
more_messages: Ver mensajes anteriores
|
160
|
-
|
175
|
+
my_account: Mi cuenta
|
161
176
|
my_doubts: Mis consultas
|
177
|
+
my_profile: Mi perfil
|
162
178
|
name: Nombre
|
163
179
|
navigation_continue: 'Siguiente %{kind}: %{sibling}'
|
164
180
|
navigation_next: Siguiente %{kind}
|
@@ -167,22 +183,24 @@ es-CL:
|
|
167
183
|
need_help: No entiendo, ¡necesito ayuda!
|
168
184
|
never: nunca
|
169
185
|
new: Nuevo
|
170
|
-
new_message: ¿Tienes dudas? ¡Levanta la mano!
|
171
186
|
new_discussion: Nueva consulta
|
187
|
+
new_message: ¿Tienes dudas? ¡Levanta la mano!
|
172
188
|
new_message_placeholder: Escribe el mensaje para tu docente acá...
|
189
|
+
new_message_received: Tienes un nuevo mensaje de %{sender}
|
173
190
|
next_exercise: Siguiente
|
174
191
|
next_guide: 'Siguiente Lección: %{name}'
|
175
192
|
no_discussions: No encontramos consultas que coincidan con tu búsqueda.
|
176
193
|
no_exercises: No encontramos ejercicios que coincidan con tu búsqueda.
|
177
194
|
no_guides: No encontramos lecciones que coincidan con tu búsqueda.
|
178
195
|
no_messages: ¡Parece que no tienes ningún mensaje todavía!
|
179
|
-
no_need_hint:
|
196
|
+
no_need_hint: Este ejercicio no tiene pista
|
180
197
|
no_questions: Parece que aún no hay ninguna consulta.
|
181
198
|
no_submissions: ¡Parece que aún no intentaste resolver este ejercicio!
|
182
199
|
no_useful_result: ¿No encontraste lo que estabas buscando?
|
183
200
|
not_found: ¡La página que buscaste no existe!
|
184
201
|
not_found_explanation: Fíjate si escribiste bien la dirección.
|
185
202
|
not_in_any_organizations: ¡Parece que no estás en ninguna organización todavía!
|
203
|
+
notifications: Notificaciones
|
186
204
|
notify_problem_with_exercise: Reporta un bug
|
187
205
|
office: Secretaría
|
188
206
|
only_landscape_support: Por favor, rota tu tablet o celular para realizar ejercicios
|
@@ -208,7 +226,6 @@ es-CL:
|
|
208
226
|
previous_exercise: Anterior
|
209
227
|
problem_with_exercise: '[Mumuki] Error con el ejercicio: %{title}'
|
210
228
|
processing_your_solution: Estamos procesando tu solución
|
211
|
-
profile: Perfil
|
212
229
|
profile_of: Perfil de %{username}
|
213
230
|
progress: Progreso
|
214
231
|
read: Leído
|
@@ -222,6 +239,7 @@ es-CL:
|
|
222
239
|
running: procesando
|
223
240
|
save: Guardar
|
224
241
|
see_context: Mira la animación del principio
|
242
|
+
select_file: Seleccionar archivo
|
225
243
|
send: Enviar
|
226
244
|
sending_solution: Enviando solución
|
227
245
|
show: Mostrar
|
@@ -283,7 +301,6 @@ es-CL:
|
|
283
301
|
unprepared_organization_explanation: ¡Este recorrido aún no ha comenzado!
|
284
302
|
unsubscribe: Dejar de recibir notificaciones
|
285
303
|
unsubscribed_successfully: Te desuscribiste exitosamente de los recordatorios.
|
286
|
-
upload_solution: "Subir solución"
|
287
304
|
uploading_solution: "Subiendo solución"
|
288
305
|
upvote: Es útil
|
289
306
|
upvotes_count_desc: Más útiles
|
@@ -12,7 +12,7 @@ es:
|
|
12
12
|
age: Edad
|
13
13
|
all: Todos
|
14
14
|
and: y
|
15
|
-
appendix:
|
15
|
+
appendix: Apéndice
|
16
16
|
appendix_teaser: ¿Querés saber más? <a href="%{link}">Consultá el apéndice de este capítulo</a>
|
17
17
|
approved_message: Validado por mentor
|
18
18
|
are_you_sure: '¿Estás seguro que querés %{action}?'
|
@@ -25,7 +25,7 @@ es:
|
|
25
25
|
one: '1 intento restante'
|
26
26
|
other: '%{count} intentos restantes'
|
27
27
|
author: Autor
|
28
|
-
authoring:
|
28
|
+
authoring: Autores
|
29
29
|
authoring_note_html: Esta guía fue desarrollada por %{authors} bajo los términos de la <a href="https://creativecommons.org/licenses/by-sa/4.0/" target="_blank">Licencia Creative Commons Compartir-Igual, 4.0</a>.
|
30
30
|
authoring_note_with_collaborators_html: Esta guía fue desarrollada por %{authors} y <a href="%{collaborators}" target="_blank">muchas personas más</a>, bajo los términos de la <a href="https://creativecommons.org/licenses/by-sa/4.0/" target="_blank">Licencia Creative Commons Compartir-Igual, 4.0</a>.
|
31
31
|
back_to_mumuki: ¡Volvé a Mumuki!
|
@@ -45,8 +45,6 @@ es:
|
|
45
45
|
closed_count:
|
46
46
|
one: 1 cerrada
|
47
47
|
other: '%{count} cerradas'
|
48
|
-
created_at_asc: Antiguas
|
49
|
-
created_at_desc: Nuevas
|
50
48
|
comment: Comentar
|
51
49
|
confirm: Confirmar
|
52
50
|
confirm_reset: Estás por reiniciar tu ejercicio. ¿Querés continuar?
|
@@ -54,12 +52,14 @@ es:
|
|
54
52
|
console: Consola
|
55
53
|
contact_administrator: 'Si pensás que es un error, comunicate con %{link}'
|
56
54
|
content: Contenido
|
57
|
-
continue_exercise:
|
55
|
+
continue_exercise: Continuar
|
58
56
|
continue_lesson: ¡Continuá esta lección!
|
59
57
|
continue_practicing: ¡Seguí aprendiendo!
|
60
58
|
correct_answer: ¡La respuesta es correcta!
|
61
59
|
create_submission: Enviar
|
62
60
|
created_at: Creado
|
61
|
+
created_at_asc: Antiguas
|
62
|
+
created_at_desc: Nuevas
|
63
63
|
created_exercises: Ejercicios Creados
|
64
64
|
created_guides: Lecciones Creadas
|
65
65
|
date: Fecha
|
@@ -73,7 +73,9 @@ es:
|
|
73
73
|
disabled_organization_explanation: Este recorrido ha finalizado
|
74
74
|
discussion_description_placeholder: Podés agregar información para detallar más tu consulta
|
75
75
|
discussion_updated: Consulta actualizada
|
76
|
+
new_discussion_message: Mensaje nuevo en %{title}
|
76
77
|
discussions: Consultas
|
78
|
+
discussions_will_be_here: Las preguntas que realices en el espacio de consultas aparecerán aquí.
|
77
79
|
dont_leave_us: ¡No nos abandones! Aprender a programar es divertido. Sólo tenés que seguir practicando.
|
78
80
|
download: "Descargá lo que hiciste"
|
79
81
|
edit: Editar
|
@@ -86,13 +88,22 @@ es:
|
|
86
88
|
error_404: error 404
|
87
89
|
error_410: error 410
|
88
90
|
error_500: error 500
|
89
|
-
errored: ¡Ups! Tu solución no se puede ejecutar
|
90
91
|
error:
|
91
92
|
title:
|
92
93
|
forbidden: No tenés autorización para ver este contenido
|
93
94
|
gone: ¡Ups! El contenido expiró
|
94
95
|
internal_server_error: ¡Ups! Algo no anduvo bien
|
95
96
|
not_found: ¡Ups! La página no existe
|
97
|
+
errored: ¡Ups! Tu solución no se puede ejecutar
|
98
|
+
exam_authorization_request_approved_html: Tu solicitud fue aprobada, no olvides conectarte el <strong>%{date}</strong>. ¡Buena suerte!
|
99
|
+
exam_authorization_request_created: ¡Tu inscripción al exámen se registró exitosamente!
|
100
|
+
exam_authorization_request_rejected: Tu solicitud fue rechazada.
|
101
|
+
exam_authorization_request_saved: ¡Tu inscripción al exámen se modificó exitosamente!
|
102
|
+
exam_authorization_request_updated: Hay novedades sobre tu inscripción a %{description}
|
103
|
+
exam_registration_choose_exam: Seleccioná día y horario en el que te gustaría rendir el exámen
|
104
|
+
exam_registration_explanation_html: Tenés tiempo hasta el <strong>%{date}</strong> para inscribirte. Pasada esa fecha, tu solicitud será evaluada y recibirás una confirmación. <br> ¡No te olvides de revisar las notificaciones!
|
105
|
+
exam_registration_open: ¡Ya podés inscribirte a %{description}!
|
106
|
+
exam_registration_to: Inscripción a %{description}
|
96
107
|
exams: Exámenes
|
97
108
|
exercise: Ejercicio
|
98
109
|
exercise_count: ejercicios
|
@@ -107,6 +118,7 @@ es:
|
|
107
118
|
failed: Tu solución no pasó las pruebas
|
108
119
|
feedback: Problemas que encontramos
|
109
120
|
female: Mujer
|
121
|
+
file_exceeds_max_size: "El tamaño de archivo no debe exceder %{size_kb}kb. Por favor seleccioná otro archivo."
|
110
122
|
finish: Terminar
|
111
123
|
first_name: Nombre
|
112
124
|
forbidden_explanation: ¿Puede que hayas ingresado con una cuenta incorrecta?
|
@@ -130,15 +142,16 @@ es:
|
|
130
142
|
home: Inicio
|
131
143
|
hour: hora
|
132
144
|
hours: horas
|
145
|
+
important_info: Información importante
|
133
146
|
initial_state: Tablero inicial
|
134
147
|
insert_file_name: Ingresa un nombre de archivo
|
135
148
|
invitation: Invitación a curso
|
136
149
|
invitation_for: 'Unirse a %{course}'
|
137
|
-
item_not_accessible:
|
150
|
+
item_not_accessible: No tenés permisos para acceder a este contenido
|
138
151
|
its_been_a_while: Hace un tiempo que no usás Mumuki.
|
139
152
|
joining_html: '¡Te damos la bienvenida al curso <strong>%{course}</strong>!'
|
140
153
|
keep_learning: ¡Seguí aprendiendo!
|
141
|
-
kids_default_success:
|
154
|
+
kids_default_success: ¡Lo hiciste muy bien!
|
142
155
|
language: Lenguaje
|
143
156
|
languages: Lenguajes
|
144
157
|
last_name: Apellido
|
@@ -167,9 +180,12 @@ es:
|
|
167
180
|
messages_error: Los mensajes anteriores no están disponibles en este momento. ¡Volvé a intentar mas tarde!
|
168
181
|
minute: minuto
|
169
182
|
minutes: minutos
|
170
|
-
|
183
|
+
moderation: Mentoría
|
171
184
|
moderator: Mentor
|
185
|
+
more_messages: Ver mensajes anteriores
|
186
|
+
my_account: Mi cuenta
|
172
187
|
my_doubts: Mis consultas
|
188
|
+
my_profile: Mi perfil
|
173
189
|
name: Nombre
|
174
190
|
navigation_continue: 'Siguiente %{kind}: %{sibling}'
|
175
191
|
navigation_next: Siguiente %{kind}
|
@@ -178,9 +194,10 @@ es:
|
|
178
194
|
need_help: No entiendo, ¡necesito ayuda!
|
179
195
|
never: nunca
|
180
196
|
new: Nuevo
|
181
|
-
new_message: ¿Tenés dudas? ¡Levantá la mano!
|
182
197
|
new_discussion: Nueva consulta
|
198
|
+
new_message: ¿Tenés dudas? ¡Levantá la mano!
|
183
199
|
new_message_placeholder: Escribí el mensaje para tu docente acá...
|
200
|
+
new_message_received: Tenés un nuevo mensaje de %{sender}
|
184
201
|
next_exercise: Siguiente
|
185
202
|
next_guide: 'Siguiente Lección: %{name}'
|
186
203
|
no_discussions: No encontramos consultas que coincidan con tu búsqueda.
|
@@ -194,6 +211,7 @@ es:
|
|
194
211
|
not_found: ¡La página que buscaste no existe!
|
195
212
|
not_found_explanation: Fijate si escribiste bien la dirección.
|
196
213
|
not_in_any_organizations: ¡Parece que no estás en ninguna organización todavía!
|
214
|
+
notifications: Notificaciones
|
197
215
|
notify_problem_with_exercise: Reportá un bug
|
198
216
|
office: Secretaría
|
199
217
|
only_landscape_support: Por favor, rotá tu tablet o celular para realizar ejercicios
|
@@ -219,7 +237,6 @@ es:
|
|
219
237
|
previous_exercise: Anterior
|
220
238
|
problem_with_exercise: '[Mumuki] Error con el ejercicio: %{title}'
|
221
239
|
processing_your_solution: Estamos procesando tu solución
|
222
|
-
profile: Perfil
|
223
240
|
profile_of: Perfil de %{username}
|
224
241
|
programming_since: Programando desde
|
225
242
|
progress: Progreso
|
@@ -237,6 +254,7 @@ es:
|
|
237
254
|
running: procesando
|
238
255
|
save: Guardar
|
239
256
|
see_context: Mirá la animación del principio
|
257
|
+
select_file: Seleccionar archivo
|
240
258
|
send: Enviar
|
241
259
|
sending_solution: Enviando solución
|
242
260
|
show: Mostrar
|
@@ -266,13 +284,13 @@ es:
|
|
266
284
|
start_using_mumuki: ¡Empezá a usar Mumuki!
|
267
285
|
status: Estado
|
268
286
|
stop_emails?: ¿Querés dejar de recibir estos mails?
|
269
|
-
subscribe: Recibir notificaciones
|
270
287
|
submission: solución
|
271
288
|
submission_date: Fecha de envío
|
272
289
|
submission_for_exercise: Solucion para ejercicio
|
273
290
|
submissions: Soluciones
|
274
291
|
submissions_count: Soluciones
|
275
292
|
submissions_for: Soluciones para %{exercise}
|
293
|
+
subscribe: Recibir notificaciones
|
276
294
|
tag: Etiquetas
|
277
295
|
task: Consigna
|
278
296
|
teacher_info: Información para docentes
|
@@ -299,7 +317,6 @@ es:
|
|
299
317
|
unprepared_organization_explanation: Este recorrido aún no ha comenzado
|
300
318
|
unsubscribe: Dejar de recibir notificaciones
|
301
319
|
unsubscribed_successfully: Te desuscribiste exitosamente de los recordatorios.
|
302
|
-
upload_solution: "Subir solución"
|
303
320
|
uploading_solution: "Subiendo solución"
|
304
321
|
upvote: Es útil
|
305
322
|
upvotes_count_desc: Más útiles
|
@@ -322,4 +339,3 @@ es:
|
|
322
339
|
you_must_sign_in_before_submitting: Tenés que iniciar sesión antes de empezar a enviar tus soluciones
|
323
340
|
you_never_submitted_solutions: Parece que nunca enviaste soluciones desde que creaste tu cuenta.
|
324
341
|
your_new_organization: tu nueva organización
|
325
|
-
|
@@ -69,26 +69,37 @@ pt:
|
|
69
69
|
disabled_explanation: Você está tentando acessar um recurso que foi desativado ou removido permanentemente
|
70
70
|
disabled_organization_explanation: Este curso terminou
|
71
71
|
discussion_description_placeholder: Você pode adicionar mais informações sobre sua dúvida
|
72
|
+
new_discussion_message: Nova mensagem em %{title}
|
72
73
|
discussion_updated: Consulta actualizada
|
73
74
|
discussions: Consultas
|
75
|
+
discussions_will_be_here: As perguntas que você fizer no espaço de consulta aparecerão aqui.
|
74
76
|
download: Faça o download do que você fez
|
75
77
|
edit: Editar
|
76
78
|
edit_profile: Editar perfil
|
77
79
|
editor_placeholder: ... Escreva sua solução aqui ...
|
78
80
|
email: E-mail
|
79
|
-
error_description: Isto é o que é conhecido como <span class = "error-link"> %{error} </ span>.
|
80
|
-
error_401: erro 401
|
81
|
-
error_403: erro 403
|
82
|
-
error_404: erro 404
|
83
|
-
error_410: erro 410
|
84
|
-
error_500: erro 500
|
85
|
-
errored: Opa! Sua solução não pode ser executada
|
86
81
|
error:
|
87
82
|
title:
|
88
83
|
forbidden: Você não tem autorização para ver esse conteúdo
|
89
84
|
gone: Opa! O conteúdo expirou
|
90
85
|
internal_server_error: Opa! Algo não estava certo
|
91
86
|
not_found: Opa! A página que você pesquisou não existe
|
87
|
+
error_401: erro 401
|
88
|
+
error_403: erro 403
|
89
|
+
error_404: erro 404
|
90
|
+
error_410: erro 410
|
91
|
+
error_500: erro 500
|
92
|
+
error_description: Isto é o que é conhecido como <span class = "error-link"> %{error} </ span>.
|
93
|
+
errored: Opa! Sua solução não pode ser executada
|
94
|
+
exam_authorization_request_approved_html: Sua solicitação foi aprovada, não se esqueça de conectar em <strong>%{date}</strong>. Boa sorte!
|
95
|
+
exam_authorization_request_created: Seu registro de exame foi salvo com sucesso!
|
96
|
+
exam_authorization_request_rejected: Seu pedido foi rejeitado.
|
97
|
+
exam_authorization_request_saved: Seu registro de exame foi modificado com sucesso!
|
98
|
+
exam_authorization_request_updated: Há notícias sobre seu registro para %{description}
|
99
|
+
exam_registration_choose_exam: Selecione o dia e a hora em que gostaria de fazer o exame
|
100
|
+
exam_registration_explanation_html: Você tem tempo até <strong>%{date}</strong> para se inscrever. Após essa data, sua inscrição será avaliada e você receberá uma confirmação. <br> Não se esqueça de verificar as notificações!
|
101
|
+
exam_registration_open: "¡Inscrições abertas para %{description}!"
|
102
|
+
exam_registration_to: Inscrição a %{description}
|
92
103
|
exams: Examesca
|
93
104
|
exercise: Exercício
|
94
105
|
exercise_count: exercícios
|
@@ -103,6 +114,7 @@ pt:
|
|
103
114
|
failed: Sua solução não passou as provas
|
104
115
|
feedback: Problemas que encontramos
|
105
116
|
female: Feminino
|
117
|
+
file_exceeds_max_size: "O tamanho do arquivo não deve exceder %{size_kb}kb. Selecione outro arquivo."
|
106
118
|
finish: Terminar
|
107
119
|
first_name: Nome
|
108
120
|
forbidden_explanation: Você poderia ter entrado com uma conta incorreta?
|
@@ -126,6 +138,7 @@ pt:
|
|
126
138
|
home: Home
|
127
139
|
hour: hora
|
128
140
|
hours: horas
|
141
|
+
important_info: Informação importante
|
129
142
|
initial_state: Tabuleiro inicial
|
130
143
|
insert_file_name: Insira um nome de arquivo
|
131
144
|
invitation: Convite para o curso
|
@@ -161,9 +174,12 @@ pt:
|
|
161
174
|
messages_error: As mensagens acima não estão disponíveis no momento. Eu tentei novamente mais tarde!
|
162
175
|
minute: minuto
|
163
176
|
minutes: minutos
|
164
|
-
|
177
|
+
moderation: Mentoria
|
165
178
|
moderator: Mentor
|
179
|
+
more_messages: Ver as mensagens anteriores
|
180
|
+
my_account: Minha conta
|
166
181
|
my_doubts: Minhas duvidas
|
182
|
+
my_profile: Meu perfil
|
167
183
|
name: Nome
|
168
184
|
navigation_continue: "Próximo %{kind}: %{sibling}"
|
169
185
|
navigation_next: Próximo %{kind}
|
@@ -174,6 +190,7 @@ pt:
|
|
174
190
|
new: Novo
|
175
191
|
new_message: Você tem dúvidas? Levante a mão!
|
176
192
|
new_message_placeholder: Escreva sua mensagem para o seu professor aqui ...
|
193
|
+
new_message_received: Você tem uma nova mensagem de %{sender}
|
177
194
|
next_exercise: Em seguida
|
178
195
|
next_guide: Próxima Lição %{nome}
|
179
196
|
no_discussions: Não encontramos consultas que correspondam à sua pesquisa.
|
@@ -187,6 +204,7 @@ pt:
|
|
187
204
|
not_found: A página que você pesquisou não existe!
|
188
205
|
not_found_explanation: Olhe se você escreveu o endereço corretamente.
|
189
206
|
not_in_any_organizations: Parece que você ainda não está em nenhuma organização!
|
207
|
+
notifications: Notificações
|
190
208
|
notify_problem_with_exercise: Relatar um erro
|
191
209
|
office: Secretariado
|
192
210
|
only_landscape_support: Por favor, gire seu tablet ou celular para realizar exercícios
|
@@ -210,7 +228,6 @@ pt:
|
|
210
228
|
previous_exercise: Anterior
|
211
229
|
problem_with_exercise: '[Mumuki] Erro com exercício %{title}'
|
212
230
|
processing_your_solution: Estamos processando sua solução
|
213
|
-
profile: Perfil
|
214
231
|
profile_of: Perfil de %{username}
|
215
232
|
programming_since: Sou programador
|
216
233
|
progress: Progresso
|
@@ -226,6 +243,7 @@ pt:
|
|
226
243
|
running: processamento
|
227
244
|
save: Salvar
|
228
245
|
see_context: Veja a animação desde o início
|
246
|
+
select_file: Selecione o arquivo
|
229
247
|
send: Enviar
|
230
248
|
sending_solution: Solução de envio
|
231
249
|
show: Mostrar
|
@@ -282,7 +300,6 @@ pt:
|
|
282
300
|
unmeet_expectations: Objetivos que não foram atendidos
|
283
301
|
unprepared_organization_explanation: Este curso ainda não começou
|
284
302
|
unsubscribe: Cancelar subscrição
|
285
|
-
upload_solution: Carregar solução
|
286
303
|
uploading_solution: Uploading solution
|
287
304
|
user: Usuário
|
288
305
|
user_data_updated: Os seus dados foram atualizados corretamente
|
@@ -0,0 +1,40 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe ExamAuthorizationRequestsController, type: :controller, organization_workspace: :test do
|
4
|
+
let(:user) { create(:user) }
|
5
|
+
let(:exam) { create(:exam) }
|
6
|
+
let(:exam_registration) { create(:exam_registration, exams: [exam]) }
|
7
|
+
|
8
|
+
before { set_current_user! user }
|
9
|
+
|
10
|
+
describe 'show' do
|
11
|
+
context 'when authorization does not exist' do
|
12
|
+
before { get :show, params: {id: 0} }
|
13
|
+
it { expect(response.status).to eq 404 }
|
14
|
+
end
|
15
|
+
|
16
|
+
context 'when authorization exists' do
|
17
|
+
let(:exam_authorization_request) { create(:exam_authorization_request, user: user, exam_registration: exam_registration) }
|
18
|
+
let!(:notification) { create(:notification, target: exam_authorization_request, user: user) }
|
19
|
+
|
20
|
+
before { get :show, params: {id: exam_authorization_request.id} }
|
21
|
+
|
22
|
+
it { expect(response.status).to eq 200 }
|
23
|
+
it { expect(notification.reload.read).to be_truthy }
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
describe 'create' do
|
28
|
+
let!(:notification) { create(:notification, target: exam_registration, user: user) }
|
29
|
+
|
30
|
+
before do
|
31
|
+
post :create, params: {
|
32
|
+
exam_authorization_request: { exam_id: exam.id, exam_registration_id: exam_registration.id }
|
33
|
+
}
|
34
|
+
end
|
35
|
+
|
36
|
+
it { expect(response.status).to eq 204 }
|
37
|
+
it { expect(exam_registration.authorization_requests.length).to be 1 }
|
38
|
+
it { expect(notification.reload.read).to be_truthy }
|
39
|
+
end
|
40
|
+
end
|