mumuki-laboratory 7.12.3 → 8.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (39) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/mumuki_laboratory/application/gamification.js +11 -89
  3. data/app/assets/javascripts/mumuki_laboratory/application/kids.js +4 -16
  4. data/app/assets/javascripts/mumuki_laboratory/application/kindergarten.js +50 -9
  5. data/app/assets/javascripts/mumuki_laboratory/application/primary.js +1 -2
  6. data/app/assets/javascripts/mumuki_laboratory/application/submission.js +1 -1
  7. data/app/assets/stylesheets/mumuki_laboratory/application/modules/_kids_results.scss +0 -117
  8. data/app/assets/stylesheets/mumuki_laboratory/application/modules/_kindergarten.scss +131 -45
  9. data/app/assets/stylesheets/mumuki_laboratory/application/modules/_user_profile.scss +3 -31
  10. data/app/controllers/api/courses_controller.rb +1 -2
  11. data/app/controllers/api/organizations_controller.rb +2 -3
  12. data/app/controllers/api/users_controller.rb +2 -4
  13. data/app/controllers/invitations_controller.rb +1 -2
  14. data/app/views/exercise_solutions/_contextualization_results_container.html.erb +0 -9
  15. data/app/views/exercise_solutions/_results_title.html.erb +0 -5
  16. data/app/views/exercises/show.html.erb +1 -4
  17. data/app/views/layouts/_kindergarten.html.erb +1 -1
  18. data/app/views/layouts/application.html.erb +2 -8
  19. data/app/views/layouts/modals/_guide_corollary.html.erb +1 -1
  20. data/app/views/layouts/modals/_kids_context.html.erb +1 -1
  21. data/app/views/layouts/modals/_kids_results.html.erb +6 -16
  22. data/app/views/layouts/modals/_kindergarten_context.html.erb +15 -15
  23. data/app/views/layouts/modals/_kindergarten_results.html.erb +7 -20
  24. data/app/views/layouts/modals/_kindergarten_results_aborted.html.erb +4 -4
  25. data/app/views/users/_user_form.html.erb +2 -12
  26. data/lib/mumuki/laboratory/controllers/results_rendering.rb +0 -1
  27. data/lib/mumuki/laboratory/events/events.rb +0 -24
  28. data/lib/mumuki/laboratory/locales/en.yml +0 -5
  29. data/lib/mumuki/laboratory/locales/es-CL.yml +0 -5
  30. data/lib/mumuki/laboratory/locales/es.yml +0 -5
  31. data/lib/mumuki/laboratory/locales/pt.yml +0 -5
  32. data/lib/mumuki/laboratory/version.rb +1 -1
  33. data/spec/controllers/exercise_solutions_controller_spec.rb +1 -1
  34. metadata +99 -104
  35. data/app/assets/javascripts/mumuki_laboratory/application/mu-modal-carrousel.js +0 -63
  36. data/app/assets/javascripts/mumuki_laboratory/application/number-counter.js +0 -18
  37. data/app/helpers/gamification_helper.rb +0 -5
  38. data/app/views/exercise_solutions/_kids_level_up.html.erb +0 -11
  39. data/app/views/layouts/modals/_level_up.html.erb +0 -27
@@ -14,13 +14,12 @@ module Api
14
14
  end
15
15
 
16
16
  def create
17
- @organization.save_and_notify!
17
+ @organization.save!
18
18
  render json: @organization.to_resource_h
19
19
  end
20
20
 
21
21
  def update
22
- @organization.update_and_notify! organization_params
23
-
22
+ @organization.update! organization_params
24
23
  render json: @organization.to_resource_h
25
24
  end
26
25
  end
@@ -4,14 +4,12 @@ module Api
4
4
  before_action :authorize_janitor!
5
5
 
6
6
  def create
7
- @user.save!
8
- @user.notify!
7
+ @user.save_and_notify!
9
8
  render json: @user.to_resource_h
10
9
  end
11
10
 
12
11
  def update
13
- @user.update! user_params.except([:email, :permissions, :uid])
14
- @user.notify!
12
+ @user.update_and_notify! user_params.except([:email, :permissions, :uid])
15
13
  render json: @user.to_resource_h
16
14
  end
17
15
  end
@@ -15,8 +15,7 @@ class InvitationsController < ApplicationController
15
15
 
16
16
  def join
17
17
  current_user.accept_invitation! @invitation
18
- current_user.update! user_params
19
- current_user.notify!
18
+ current_user.update_and_notify! user_params
20
19
  redirect_to_organization!
21
20
  end
22
21
 
@@ -1,13 +1,4 @@
1
1
  <div class="<%= "bs-callout bs-callout-#{icon_class_for contextualization.submission_status}" %>">
2
2
  <%= render partial: 'exercise_solutions/results_title', locals: {contextualization: contextualization} %>
3
-
4
- <% if in_gamified_context? %>
5
- <div id="mu-exp-earned-message" class="hidden">
6
- <span><%= t(:you_earned) %></span>
7
- <strong><span id="mu-exp-points"></span></strong>
8
- <span><%= t(:exp_points) %></span>
9
- </div>
10
- <% end %>
11
-
12
3
  <%= yield %>
13
4
  </div>
@@ -1,8 +1,3 @@
1
1
  <h4 class="text-<%= icon_class_for(contextualization.submission_status) %>">
2
2
  <strong><%= fa_icon icon_type_for(contextualization.submission_status) %> <%= t_contextualization_status contextualization %></strong>
3
- <% if in_gamified_context? %>
4
- <strong><small class="text-success">
5
- <span class="mu-experience"></span>
6
- </small></strong>
7
- <% end %>
8
3
  </h4>
@@ -48,6 +48,7 @@
48
48
  <%= hidden_field_tag "mu-exercise-id", @exercise.id %>
49
49
  <%= hidden_field_tag "mu-exercise-layout", @exercise.layout %>
50
50
  <%= hidden_field_tag "mu-exercise-settings", @exercise.settings.to_json %>
51
+ <%= hidden_field_tag "mu-current-exp", UserStats.exp_for(@current_user) %>
51
52
 
52
53
  <div style="display: none" id="processing-template">
53
54
  <div class="bs-callout bs-callout-info">
@@ -61,10 +62,6 @@
61
62
  <%= render partial: 'layouts/exercise_skipped' %>
62
63
  <% end %>
63
64
 
64
- <% if in_gamified_context? %>
65
- <%= render partial: 'layouts/modals/level_up' %>
66
- <% end %>
67
-
68
65
  <%= render partial: 'layouts/modals/guide_corollary', locals: {guide: @guide} %>
69
66
  <%= render partial: 'layouts/modals/new_message', locals: {exercise: @exercise} if should_render_message_input?(@exercise) %>
70
67
  <% end if current_user? %>
@@ -4,7 +4,7 @@
4
4
  <div class="mu-kindergarten-character-speech-bubble">
5
5
  <span class="mu-kindergarten-exercise-description"><%= exercise.description_task %></span>
6
6
  <div class="mu-kindergarten-buttons">
7
- <button class="mu-kindergarten-show-context" onclick="mumuki.kids.context.show()">
7
+ <button class="mu-kindergarten-show-context" onclick="mumuki.kids.context.showContext()">
8
8
  <img class="mu-kindergarten-button-image" src="https://mumuki.io/static/show-context.svg" alt="">
9
9
  </button>
10
10
  <button class="mu-kindergarten-play-description" onclick="mumuki.kids.speech.click('.mu-kindergarten-exercise-description', '<%= exercise.locale %>')">
@@ -1,5 +1,4 @@
1
1
  <%= content_for :navbar do %>
2
- <%= hidden_field_tag("mu-current-exp", UserStats.exp_for(@current_user)) if in_gamified_context? %>
3
2
  <div class="<%= exercise_container_type %>">
4
3
  <nav class="mu-navbar">
5
4
  <div class="mu-navbar-breadcrumb hidden-xs">
@@ -19,20 +18,16 @@
19
18
  </div>
20
19
  <div class="mu-navbar-avatar">
21
20
  <% if current_logged_user? %>
22
- <% if in_gamified_context? %>
23
- <i class="fa fa-star fa-fw fa-2x navbar-icon mu-level-tooltip" data-toggle="tooltip" data-placement="bottom" title="<%= t(:level) %>"></i>
24
- <span class="mu-level-number"></span>
25
- <% end %>
26
21
  <div class="dropdown">
27
22
  <span>
28
23
  <a class="notifications-box <%= has_notifications? ? '' : 'notifications-box-empty' %>" href=<%= "#{user_notifications_path}" %>>
29
- <i class="fa fa-bell fa-fw fa-2x navbar-icon"></i>
24
+ <i class="fa fa-bell fa-fw fa-lg"></i>
30
25
  <span class="badge badge-notifications"><%= notifications_count %></span>
31
26
  </a>
32
27
  </span>
33
28
  </div>
34
29
  <div class="dropdown">
35
- <div id="profileDropdown" class="profile-dropdown navbar-icon" data-toggle="dropdown" aria-label="<%= t(:user) %>" role="menu" tabindex="0">
30
+ <div id="profileDropdown" class="profile-dropdown" data-toggle="dropdown" aria-label="<%= t(:user) %>" role="menu" tabindex="0">
36
31
  <%= profile_picture_for current_user %>
37
32
  <span class="caret"></span>
38
33
  </div>
@@ -81,4 +76,3 @@
81
76
  <% end %>
82
77
 
83
78
  <%= render partial: 'layouts/main' %>
84
-
@@ -1,4 +1,4 @@
1
- <div class="modal fade guide-corollary mu-kids-modal-border" id="guide-done" tabindex="-1" role="dialog" aria-hidden="true">
1
+ <div class="modal fade guide-corollary" id="guide-done" tabindex="-1" role="dialog" aria-hidden="true">
2
2
  <div class="modal-dialog">
3
3
  <div class="modal-content">
4
4
  <div class="modal-header">
@@ -1,4 +1,4 @@
1
- <div class="modal fade mu-kids-context mu-kids-modal-border" id="mu-kids-context" tabindex="-1" role="dialog" aria-hidden="true">
1
+ <div class="modal fade mu-kids-context" id="mu-kids-context" tabindex="-1" role="dialog" aria-hidden="true">
2
2
  <div class="modal-dialog">
3
3
  <div class="modal-content">
4
4
  <div class="modal-header">
@@ -1,27 +1,17 @@
1
- <div class="modal fade mu-kids-results mu-kids-modal-border" id="kids-results" tabindex="-1" role="dialog" aria-hidden="true">
1
+ <div class="modal fade mu-kids-results" id="kids-results" tabindex="-1" role="dialog" aria-hidden="true">
2
2
  <div class="modal-dialog">
3
- <div class="modal-content success">
4
- <button type="button" class="mu-kids-modal-button mu-previous hidden" onclick="mumuki.kids.resultsCarrousel.prevSlide()" aria-label="Previous">
5
- <span aria-hidden="true">
6
- <i class="fa fa-fw fa-arrow-left fa-3x"></i>
7
- </span>
8
- </button>
9
- <button type="button" class="mu-kids-modal-button mu-next" onclick="mumuki.kids.resultsCarrousel.nextSlide()" aria-label="Next">
10
- <span aria-hidden="true">
11
- <i class="fa fa-fw fa-arrow-right fa-3x"></i>
12
- </span>
13
- </button>
14
- <div class="modal-header text-center">
3
+ <div class="modal-content">
4
+ <div class="modal-header">
15
5
  </div>
16
6
  <div class="modal-body">
17
7
  <div class="container-fluid">
18
8
  <div class="row">
19
9
  <div class="col-md-12">
20
- <div class="mu-kids-results-carrousel">
21
- <div class="active submission-results">
10
+ <div class="row">
11
+ <div class="col-md-12 submission-results">
22
12
  <% if current_user? && @assignment.solved? %>
23
13
  <%= render partial: 'exercise_solutions/kids_results',
24
- locals: {assignment: @assignment, guide_finished_by_solution: false} %>
14
+ locals: {assignment: @assignment, guide_finished_by_solution: false} %>
25
15
  <% end %>
26
16
  </div>
27
17
  </div>
@@ -1,22 +1,22 @@
1
- <div class="modal fade mu-kids-modal-border" id="mu-kids-context" tabindex="-1" role="dialog" aria-hidden="true">
1
+ <div class="modal fade mu-kindergarten-context" id="mu-kids-context" tabindex="-1" role="dialog" aria-hidden="true">
2
2
  <div class="modal-dialog">
3
- <div class="modal-content kindergarten">
4
- <button type="button" class="mu-kids-modal-button mu-close" data-waiting="" data-dismiss="modal" aria-label="Close">
5
- <span aria-hidden="true">
6
- <i class="fa fa-fw fa-times fa-3x"></i>
7
- </span>
3
+ <div class="modal-content">
4
+ <button type="button" class="mu-kindergarten-modal-button mu-close" data-waiting="" data-dismiss="modal" aria-label="Close">
5
+ <span aria-hidden="true">
6
+ <i class="fa fa-fw fa-times fa-3x"></i>
7
+ </span>
8
8
  </button>
9
- <button type="button" class="mu-kids-modal-button mu-previous hidden" onclick="mumuki.kids.context.prevSlide()" aria-label="Previous">
10
- <span aria-hidden="true">
11
- <i class="fa fa-fw fa-arrow-left fa-3x"></i>
12
- </span>
9
+ <button type="button" class="mu-kindergarten-modal-button mu-previous hidden" onclick="mumuki.kids.context.prevSlide()" aria-label="Previous">
10
+ <span aria-hidden="true">
11
+ <i class="fa fa-fw fa-arrow-left fa-3x"></i>
12
+ </span>
13
13
  </button>
14
- <button type="button" class="mu-kids-modal-button mu-next" onclick="mumuki.kids.context.nextSlide()" aria-label="Next">
15
- <span aria-hidden="true">
16
- <i class="fa fa-fw fa-arrow-right fa-3x"></i>
17
- </span>
14
+ <button type="button" class="mu-kindergarten-modal-button mu-next" onclick="mumuki.kids.context.nextSlide()" aria-label="Next">
15
+ <span aria-hidden="true">
16
+ <i class="fa fa-fw fa-arrow-right fa-3x"></i>
17
+ </span>
18
18
  </button>
19
- <div class="modal-body mu-kids-context-body">
19
+ <div class="modal-body">
20
20
  <div class="container-fluid">
21
21
  <div class="row">
22
22
  <div class="col-md-12">
@@ -1,30 +1,17 @@
1
- <div class="modal fade mu-kids-results mu-kids-modal-border" id="kids-results" tabindex="-1" role="dialog" aria-hidden="true">
1
+ <div class="modal fade mu-kids-results mu-kindergarten-context" id="kids-results" tabindex="-1" role="dialog" aria-hidden="true">
2
2
  <div class="modal-dialog">
3
- <div class="modal-content kindergarten">
4
- <button type="button" class="mu-kids-modal-button mu-close" data-waiting="" data-dismiss="modal" aria-label="Close">
5
- <span aria-hidden="true">
6
- <i class="fa fa-fw fa-times fa-3x"></i>
7
- </span>
8
- </button>
9
- <button type="button" class="mu-kids-modal-button mu-previous hidden" onclick="mumuki.kids.resultsCarrousel.prevSlide()" aria-label="Previous">
10
- <span aria-hidden="true">
11
- <i class="fa fa-fw fa-arrow-left fa-3x"></i>
12
- </span>
13
- </button>
14
- <button type="button" class="mu-kids-modal-button mu-next" onclick="mumuki.kids.resultsCarrousel.nextSlide()" aria-label="Next">
15
- <span aria-hidden="true">
16
- <i class="fa fa-fw fa-arrow-right fa-3x"></i>
17
- </span>
3
+ <div class="modal-content">
4
+ <button type="button" class="mu-kindergarten-modal-button mu-close" data-dismiss="modal" aria-label="Close">
5
+ <span aria-hidden="true">
6
+ <i class="fa fa-fw fa-times fa-3x"></i>
7
+ </span>
18
8
  </button>
19
9
  <div class="modal-header">
20
10
  </div>
21
11
  <div class="modal-body">
22
12
  <div class="container-fluid">
23
13
  <div class="row">
24
- <div class="col-md-12">
25
- <div class="mu-kids-results-carrousel">
26
- <div class="active submission-results kindergarten"></div>
27
- </div>
14
+ <div class="col-md-12 submission-results">
28
15
  </div>
29
16
  </div>
30
17
  </div>
@@ -1,7 +1,7 @@
1
- <div class="modal fade mu-kids-results-aborted mu-kids-modal-border" id="kids-results-aborted" tabindex="-1" role="dialog" aria-hidden="true">
1
+ <div class="modal fade mu-kids-results-aborted mu-kindergarten-context" id="kids-results-aborted" tabindex="-1" role="dialog" aria-hidden="true">
2
2
  <div class="modal-dialog">
3
- <div class="modal-content broken kindergarten">
4
- <button type="button" class="mu-kids-modal-button mu-close" data-dismiss="modal" aria-label="Close" data-waiting="">
3
+ <div class="modal-content broken">
4
+ <button type="button" class="mu-kindergarten-modal-button mu-close" data-dismiss="modal" aria-label="Close" data-waiting="">
5
5
  <span aria-hidden="true">
6
6
  <i class="fa fa-fw fa-times fa-3x"></i>
7
7
  </span>
@@ -15,7 +15,7 @@
15
15
  <div class="container-fluid">
16
16
  <div class="row">
17
17
  <div class="col-md-12">
18
- <div class="mu-kids-character kindergarten">
18
+ <div class="mu-kids-character">
19
19
  <img class="mu-kids-character-result-aborted"/>
20
20
  </div>
21
21
  </div>
@@ -5,20 +5,10 @@
5
5
  </div>
6
6
  </div>
7
7
  <div class="row mu-tab-body">
8
- <div class="col-md-4 mu-profile-info-left">
8
+ <div class="col-md-4 text-center">
9
9
  <%= profile_picture_for(@user, id: 'mu-user-avatar', class: 'mu-user-avatar') %>
10
- <% if in_gamified_context? %>
11
- <svg class="mu-level-progress" width="300" height="300" viewBox="0 0 100 100">
12
- <path id="mu-level-progress" stroke-linecap="round" stroke="#24b8aa" stroke-width="4" stroke-dasharray="0, 999" fill="none" d="M50 10 a 40 40 0 0 1 0 80 a 40 40 0 0 1 0 -80"></path>
13
- </svg>
14
- <div class="mu-level">
15
- <i class="fa fa-star fa-fw fa-4x"></i>
16
- <span class="mu-level-number"></span>
17
- <p><%= t :level %></p>
18
- </div>
19
- <% end %>
20
10
  </div>
21
- <div class="col-md-8 mu-profile-info-right">
11
+ <div class="col-md-8 mu-profile-info">
22
12
  <% if @user.age.present? %>
23
13
  <div>
24
14
  <span> <strong><%= t :age %>:</strong> <%= "#{@user.age} #{t :years}" %> </span>
@@ -29,7 +29,6 @@ module Mumuki::Laboratory::Controllers::ResultsRendering
29
29
  title_html: render_results_title(assignment),
30
30
  expectations: assignment.affable_expectation_results,
31
31
  tips: assignment.affable_tips,
32
- level_up_html: render_results('exercise_solutions/kids_level_up', assignment),
33
32
  test_results: assignment.sanitized_affable_test_results) # these results could include escaped characters so they should be rendered as HTML to display properly
34
33
  end
35
34
 
@@ -1,29 +1,5 @@
1
1
  Mumukit::Nuntius::EventConsumer.handle do
2
2
 
3
- # Emitted by user registration and modification in classroom
4
- event 'UserChanged' do |payload|
5
- User.import_from_resource_h! payload.deep_symbolize_keys[:user]
6
- end
7
-
8
- # Emitted by course creation of courses in classroom
9
- event 'CourseChanged' do |payload|
10
- Course.import_from_resource_h! payload.deep_symbolize_keys[:course]
11
- end
12
-
13
- # Emitted by invitation creation in classroom
14
- event 'InvitationCreated' do |payload|
15
- Invitation.import_from_resource_h! payload.deep_symbolize_keys[:invitation]
16
- end
17
-
18
- # Emitted by exam creation and modification in classroom
19
- event 'UpsertExam' do |body|
20
- Exam.import_from_resource_h! body
21
- end
22
-
23
- event 'UpsertExamStudents' do |body|
24
- Exam.upsert_students! body
25
- end
26
-
27
3
  # Emitted by assigment manual evaluation in classroom
28
4
  event 'AssignmentManuallyEvaluated' do |payload|
29
5
  Assignment.evaluate_manually! payload.deep_symbolize_keys[:assignment]
@@ -95,7 +95,6 @@ en:
95
95
  exercise_number: Exercise %{number}
96
96
  exercise_success_rate: Exercises success rate
97
97
  exit: Exit
98
- exp_points: experience points.
99
98
  expectations: Expectations
100
99
  expected_state: Expected board
101
100
  explain_redirect: You have registered in another organization
@@ -146,8 +145,6 @@ en:
146
145
  lessons: Lessons
147
146
  lesson_number: Lesson %{number}
148
147
  let_us_know: please let us know!
149
- level: Level
150
- level_up: Level up!
151
148
  loading: Loading
152
149
  load_solution_into_console: Load your solution into the console
153
150
  locked_content: 'This content will be unlocked when you finish previous chapters'
@@ -236,7 +233,6 @@ en:
236
233
  solved: Solved
237
234
  solved_count: '%{count} solved'
238
235
  solve_doubts: Solve other's doubts
239
- solve_more_exercises_to_level_up: Solve <span>number</span> more exercises to advance to the next level.
240
236
  solve_your_doubts: Solve your doubts
241
237
  solve_your_doubts_teaser: Do you have any doubts?
242
238
  something_went_wrong: Something went wrong!
@@ -293,7 +289,6 @@ en:
293
289
  working: "Working"
294
290
  wrong_answer: The answer is wrong
295
291
  years: years old
296
- you_earned: You earned
297
292
  you_must_sign_in_before_submitting: You must sign in before submitting your solutions
298
293
  you_never_submitted_solutions: It seems that you've never submitted solutions since you created your account.
299
294
  your_new_organization: your new organization
@@ -93,7 +93,6 @@ es-CL:
93
93
  exercise_success_rate: Tasa de éxito en ejercicios
94
94
  exercises: Ejercicios
95
95
  exit: Salir
96
- exp_points: puntos de experiencia.
97
96
  expectations: Objetivos
98
97
  expected_state: Tablero esperado
99
98
  explain_redirect: Notamos que te registraste en otra organización.
@@ -140,8 +139,6 @@ es-CL:
140
139
  lessons: Lecciones
141
140
  lesson_number: Lección %{number}
142
141
  let_us_know: ¡Por favor avísanos!
143
- level: Nivel
144
- level_up: ¡Subiste de nivel!
145
142
  loading: Cargando
146
143
  load_solution_into_console: Cargar la solución en la consola
147
144
  locked_content: 'Éste contenido se desbloqueará cuando termines los capítulos anteriores'
@@ -238,7 +235,6 @@ es-CL:
238
235
  other: '%{count} resueltas'
239
236
  solved_exercises: Ejercicios Resueltos
240
237
  solve_doubts: Resuelve consultas
241
- solve_more_exercises_to_level_up: Resuelve <span>number</span> ejercicios más para pasar al siguiente nivel.
242
238
  solve_your_doubts: Consulta tus dudas
243
239
  solve_your_doubts_teaser: ¿Tienes alguna consulta?
244
240
  something_went_wrong: ¡Ups!, algo no anduvo bien...
@@ -298,6 +294,5 @@ es-CL:
298
294
  page_gap: "&hellip;"
299
295
  working: "Procesando"
300
296
  wrong_answer: La respuesta no es correcta
301
- you_earned: Ganaste
302
297
  you_must_sign_in_before_submitting: Tienes que iniciar sesión antes de empezar a enviar tus soluciones
303
298
  you_never_submitted_solutions: Parece que nunca enviaste soluciones desde que creaste tu cuenta.
@@ -101,7 +101,6 @@ es:
101
101
  exercise_success_rate: Tasa de éxito en ejercicios
102
102
  exercises: Ejercicios
103
103
  exit: Salir
104
- exp_points: puntos de experiencia.
105
104
  expectations: Objetivos
106
105
  expected_state: Tablero esperado
107
106
  explain_redirect: Notamos que te registraste en otra organización.
@@ -156,8 +155,6 @@ es:
156
155
  lessons: Lecciones
157
156
  lesson_number: Lección %{number}
158
157
  let_us_know: ¡Por favor avisanos!
159
- level: Nivel
160
- level_up: ¡Subiste de nivel!
161
158
  loading: Cargando
162
159
  load_solution_into_console: Cargar la solución en la consola
163
160
  locked_content: 'Este contenido se desbloqueará cuando termines los capítulos anteriores'
@@ -258,7 +255,6 @@ es:
258
255
  other: '%{count} resueltas'
259
256
  solved_exercises: Ejercicios Resueltos
260
257
  solve_doubts: Resolvé consultas
261
- solve_more_exercises_to_level_up: Resolvé <span>number</span> ejercicios más para pasar al siguiente nivel.
262
258
  solve_your_doubts: Consultá tus dudas
263
259
  solve_your_doubts_teaser: ¿Tenés alguna consulta?
264
260
  something_went_wrong: ¡Ups!, algo no anduvo bien...
@@ -321,7 +317,6 @@ es:
321
317
  working: "Procesando"
322
318
  wrong_answer: La respuesta no es correcta
323
319
  years: años
324
- you_earned: Ganaste
325
320
  you_must_sign_in_before_submitting: Tenés que iniciar sesión antes de empezar a enviar tus soluciones
326
321
  you_never_submitted_solutions: Parece que nunca enviaste soluciones desde que creaste tu cuenta.
327
322
  your_new_organization: tu nueva organización
@@ -97,7 +97,6 @@ pt:
97
97
  exercise_success_rate: Taxa de sucesso em exercícios
98
98
  exercises: Exercícios
99
99
  exit: Sair
100
- exp_points: pontos de experiência.
101
100
  expectations: Objetivos
102
101
  expected_state: Tabuleiro esperado
103
102
  explain_redirect: Percebemos que você se registrou em outra organização.
@@ -150,8 +149,6 @@ pt:
150
149
  lessons: Lições
151
150
  lesson_number: Lição %{number}
152
151
  let_us_know: Por favor, avise-nos!
153
- level: Nível
154
- level_up: Você sobe de nível!
155
152
  loading: Carregando
156
153
  load_solution_into_console: Carregue a solução no console
157
154
  locked_content: 'Este conteúdo será desbloqueado quando você terminar os capítulos anteriores'
@@ -245,7 +242,6 @@ pt:
245
242
  solved_count: '%{count} resolvido'
246
243
  solved_exercises: Exercícios resolvidos
247
244
  solve_doubts: Resolvi dúvidas
248
- solve_more_exercises_to_level_up: Resolva mais <span>number</span> exercícios para avançar para o próximo nível.
249
245
  solve_your_doubts: Consulte suas dúvidas
250
246
  solve_your_doubts_teaser: Você tem alguma dúvida?
251
247
  something_went_wrong: Oops!, Algo não estava certo ...
@@ -296,6 +292,5 @@ pt:
296
292
  working: Processamento
297
293
  wrong_answer: A resposta não é correta
298
294
  years: anos
299
- you_earned: Você ganhou
300
295
  you_must_sign_in_before_submitting: Você deve fazer o login antes de começar a enviar suas soluções
301
296
  your_new_organization: sua nova organização
@@ -1,5 +1,5 @@
1
1
  module Mumuki
2
2
  module Laboratory
3
- VERSION = '7.12.3'
3
+ VERSION = '8.0.0'
4
4
  end
5
5
  end
@@ -89,7 +89,7 @@ describe ExerciseSolutionsController, organization_workspace: :test do
89
89
 
90
90
  it { expect(response.body).to json_eq({ status: :failed, guide_finished_by_solution: false },
91
91
  except: [:html, :remaining_attempts_html, :title_html, :button_html,
92
- :expectations, :test_results, :tips, :current_exp, :level_up_html]) }
92
+ :expectations, :test_results, :tips, :current_exp]) }
93
93
 
94
94
  it 'includes kids specific renders' do
95
95
  body = JSON.parse(response.body)