mumuki-laboratory 9.20.0 → 9.23.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (58) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +11 -0
  3. data/app/assets/stylesheets/mumuki_laboratory/application/modules/_discussion.scss +1 -3
  4. data/app/controllers/appendixes_controller.rb +7 -0
  5. data/app/controllers/application_controller.rb +6 -3
  6. data/app/controllers/complements_controller.rb +13 -0
  7. data/app/controllers/login_controller.rb +11 -3
  8. data/app/controllers/users_controller.rb +11 -4
  9. data/app/helpers/application_helper.rb +3 -1
  10. data/app/helpers/discussions_helper.rb +41 -26
  11. data/app/helpers/mailer_helper.rb +5 -0
  12. data/app/helpers/user_menu_helper.rb +7 -3
  13. data/app/mailers/application_mailer.rb +1 -0
  14. data/app/mailers/user_mailer.rb +6 -1
  15. data/app/views/book/show.html.erb +21 -18
  16. data/app/views/chapters/show.html.erb +1 -1
  17. data/app/views/discussions/_description_message.html.erb +6 -4
  18. data/app/views/discussions/_message.html.erb +10 -8
  19. data/app/views/discussions/show.html.erb +1 -1
  20. data/app/views/errors/forbidden.html.erb +1 -3
  21. data/app/views/errors/gone.html.erb +1 -2
  22. data/app/views/errors/not_found.html.erb +1 -1
  23. data/app/views/guides/_guide.html.erb +9 -5
  24. data/app/views/layouts/_discussions.html.erb +1 -3
  25. data/app/views/layouts/_organization_chooser.html.erb +2 -2
  26. data/app/views/layouts/_user_menu.html.erb +2 -0
  27. data/app/views/user_mailer/delete_account.html.erb +7 -0
  28. data/app/views/users/_user_delete_confirmation.erb +17 -0
  29. data/app/views/users/_user_delete_modal.html.erb +35 -0
  30. data/app/views/users/delete_account.html.erb +27 -0
  31. data/app/views/users/delete_confirmation_invalid.html.erb +22 -0
  32. data/app/views/users/delete_request.html.erb +1 -0
  33. data/config/routes.rb +6 -3
  34. data/lib/mumuki/laboratory/controllers/dynamic_errors.rb +6 -6
  35. data/lib/mumuki/laboratory/controllers/validate_access_mode.rb +5 -1
  36. data/lib/mumuki/laboratory/locales/en.yml +19 -2
  37. data/lib/mumuki/laboratory/locales/es-CL.yml +20 -3
  38. data/lib/mumuki/laboratory/locales/es.yml +21 -3
  39. data/lib/mumuki/laboratory/locales/pt.yml +20 -4
  40. data/lib/mumuki/laboratory/version.rb +1 -1
  41. data/spec/capybara_helper.rb +10 -10
  42. data/spec/controllers/discussions_messages_controller_spec.rb +5 -5
  43. data/spec/controllers/messages_controller_spec.rb +3 -3
  44. data/spec/controllers/users_controller_spec.rb +20 -1
  45. data/spec/dummy/config/environments/development.rb +8 -2
  46. data/spec/dummy/config/environments/test.rb +4 -1
  47. data/spec/dummy/db/schema.rb +5 -2
  48. data/spec/features/discussion_flow_spec.rb +2 -2
  49. data/spec/features/dynamic_exam_spec.rb +4 -2
  50. data/spec/features/guides_flow_spec.rb +29 -7
  51. data/spec/features/immersive_redirection_spec.rb +2 -2
  52. data/spec/features/not_found_public_flow_spec.rb +8 -1
  53. data/spec/features/profile_flow_spec.rb +3 -1
  54. data/spec/features/read_only_flow_spec.rb +72 -1
  55. data/spec/mailers/previews/user_mailer_preview.rb +4 -0
  56. data/spec/mailers/user_mailer_spec.rb +10 -3
  57. metadata +133 -108
  58. data/spec/features/disable_user_flow_spec.rb +0 -32
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mumuki-laboratory
3
3
  version: !ruby/object:Gem::Version
4
- version: 9.20.0
4
+ version: 9.23.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Franco Bulgarelli
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-10-22 00:00:00.000000000 Z
11
+ date: 2021-11-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 9.19.0
33
+ version: 9.23.0
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 9.19.0
40
+ version: 9.23.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: mumukit-bridge
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -290,6 +290,26 @@ dependencies:
290
290
  - - "~>"
291
291
  - !ruby/object:Gem::Version
292
292
  version: '3.7'
293
+ - !ruby/object:Gem::Dependency
294
+ name: mini_racer
295
+ requirement: !ruby/object:Gem::Requirement
296
+ requirements:
297
+ - - ">="
298
+ - !ruby/object:Gem::Version
299
+ version: '0.4'
300
+ - - "<"
301
+ - !ruby/object:Gem::Version
302
+ version: '0.5'
303
+ type: :runtime
304
+ prerelease: false
305
+ version_requirements: !ruby/object:Gem::Requirement
306
+ requirements:
307
+ - - ">="
308
+ - !ruby/object:Gem::Version
309
+ version: '0.4'
310
+ - - "<"
311
+ - !ruby/object:Gem::Version
312
+ version: '0.5'
293
313
  - !ruby/object:Gem::Dependency
294
314
  name: wkhtmltopdf-binary
295
315
  requirement: !ruby/object:Gem::Requirement
@@ -554,6 +574,7 @@ files:
554
574
  - app/helpers/icons_helper.rb
555
575
  - app/helpers/kindergarten_helper.rb
556
576
  - app/helpers/links_helper.rb
577
+ - app/helpers/mailer_helper.rb
557
578
  - app/helpers/medal_helper.rb
558
579
  - app/helpers/menu_bar_helper.rb
559
580
  - app/helpers/messages_helper.rb
@@ -713,6 +734,7 @@ files:
713
734
  - app/views/user_mailer/_mail_template.erb
714
735
  - app/views/user_mailer/certificate.html.erb
715
736
  - app/views/user_mailer/certificate.text.erb
737
+ - app/views/user_mailer/delete_account.html.erb
716
738
  - app/views/user_mailer/no_submissions_reminder.html.erb
717
739
  - app/views/user_mailer/no_submissions_reminder.text.erb
718
740
  - app/views/user_mailer/notification.html.erb
@@ -728,9 +750,14 @@ files:
728
750
  - app/views/users/_edit_user_form.html.erb
729
751
  - app/views/users/_profile_fields.html.erb
730
752
  - app/views/users/_term.html.erb
753
+ - app/views/users/_user_delete_confirmation.erb
754
+ - app/views/users/_user_delete_modal.html.erb
731
755
  - app/views/users/_user_form.html.erb
732
756
  - app/views/users/activity.html.erb
733
757
  - app/views/users/certificates.html.erb
758
+ - app/views/users/delete_account.html.erb
759
+ - app/views/users/delete_confirmation_invalid.html.erb
760
+ - app/views/users/delete_request.html.erb
734
761
  - app/views/users/discussions.html.erb
735
762
  - app/views/users/edit.html.erb
736
763
  - app/views/users/exam_authorizations.html.erb
@@ -857,7 +884,6 @@ files:
857
884
  - spec/features/certificate_programs_flow_spec.rb
858
885
  - spec/features/chapters_flow_spec.rb
859
886
  - spec/features/complements_flow_spec.rb
860
- - spec/features/disable_user_flow_spec.rb
861
887
  - spec/features/disabled_organization_flow_spec.rb
862
888
  - spec/features/discussion_flow_spec.rb
863
889
  - spec/features/dynamic_exam_spec.rb
@@ -984,136 +1010,135 @@ signing_key:
984
1010
  specification_version: 4
985
1011
  summary: Code assement web application for the Mumuki Platform.
986
1012
  test_files:
987
- - spec/evaluation_helper.rb
988
- - spec/spec_helper.rb
989
- - spec/capybara_helper.rb
990
- - spec/login_helper.rb
991
- - spec/javascripts/events-spec.js
992
- - spec/javascripts/i18n-spec.js
993
- - spec/javascripts/bridge-spec.js
994
- - spec/javascripts/kids-button-spec.js
995
- - spec/javascripts/gamification-spec.js
996
- - spec/javascripts/timer-spec.js
997
- - spec/javascripts/speech-bubble-renderer-spec.js
998
- - spec/javascripts/results-renderers-spec.js
999
- - spec/javascripts/upload-spec.js
1000
- - spec/javascripts/sync-mode-spec.js
1001
- - spec/javascripts/submissions-store-spec.js
1002
- - spec/javascripts/elipsis-spec.js
1003
- - spec/javascripts/exercise-spec.js
1004
- - spec/javascripts/csrf-token-spec.js
1005
- - spec/javascripts/editors-spec.js
1006
- - spec/javascripts/timeout-spec.js
1007
- - spec/javascripts/global-spec.js
1008
- - spec/javascripts/spec-helper.js
1009
- - spec/helpers/avatar_helper_spec.rb
1010
- - spec/helpers/email_helper_spec.rb
1011
- - spec/helpers/certificate_helper_spec.rb
1012
- - spec/helpers/authors_helper_spec.rb
1013
+ - spec/helpers/user_activity_helper_spec.rb
1013
1014
  - spec/helpers/page_title_helper_spec.rb
1014
- - spec/helpers/exercise_input_helper_spec.rb
1015
- - spec/helpers/with_navigation_spec.rb
1015
+ - spec/helpers/authors_helper_spec.rb
1016
1016
  - spec/helpers/with_choices_spec.rb
1017
- - spec/helpers/breadcrumbs_helper_spec.rb
1018
1017
  - spec/helpers/icons_helper_spec.rb
1019
- - spec/helpers/user_activity_helper_spec.rb
1018
+ - spec/helpers/email_helper_spec.rb
1019
+ - spec/helpers/breadcrumbs_helper_spec.rb
1020
1020
  - spec/helpers/test_results_rendering_spec.rb
1021
+ - spec/helpers/certificate_helper_spec.rb
1022
+ - spec/helpers/with_navigation_spec.rb
1021
1023
  - spec/helpers/application_helper_spec.rb
1022
- - spec/dummy/public/error/timeout_3.svg
1023
- - spec/dummy/public/error/timeout_1.svg
1024
- - spec/dummy/public/error/500.svg
1025
- - spec/dummy/public/error/401.svg
1026
- - spec/dummy/public/error/404.svg
1027
- - spec/dummy/public/error/410.svg
1028
- - spec/dummy/public/error/403.svg
1029
- - spec/dummy/public/error/timeout_2.svg
1030
- - spec/dummy/public/character/kibi/context.svg
1024
+ - spec/helpers/exercise_input_helper_spec.rb
1025
+ - spec/helpers/avatar_helper_spec.rb
1026
+ - spec/api_helper.rb
1027
+ - spec/dummy/config.ru
1028
+ - spec/dummy/bin/setup
1029
+ - spec/dummy/bin/bundle
1030
+ - spec/dummy/bin/rake
1031
+ - spec/dummy/bin/yarn
1032
+ - spec/dummy/bin/update
1033
+ - spec/dummy/bin/rails
1034
+ - spec/dummy/Rakefile
1035
+ - spec/dummy/db/schema.rb
1036
+ - spec/dummy/db/seeds.rb
1037
+ - spec/dummy/public/medal/outline.svg
1031
1038
  - spec/dummy/public/character/kibi/passed_with_warnings.svg
1032
1039
  - spec/dummy/public/character/kibi/success_l.svg
1040
+ - spec/dummy/public/character/kibi/jump.svg
1041
+ - spec/dummy/public/character/kibi/context.svg
1033
1042
  - spec/dummy/public/character/kibi/failure.svg
1034
1043
  - spec/dummy/public/character/kibi/success2_l.svg
1035
- - spec/dummy/public/character/kibi/jump.svg
1044
+ - spec/dummy/public/character/animations.json
1036
1045
  - spec/dummy/public/character/magnifying_glass/loop.svg
1037
1046
  - spec/dummy/public/character/magnifying_glass/apparition.svg
1038
- - spec/dummy/public/character/animations.json
1039
- - spec/dummy/public/medal/outline.svg
1040
- - spec/dummy/Rakefile
1041
- - spec/dummy/config/application.rb
1042
- - spec/dummy/config/environment.rb
1047
+ - spec/dummy/public/error/403.svg
1048
+ - spec/dummy/public/error/404.svg
1049
+ - spec/dummy/public/error/timeout_1.svg
1050
+ - spec/dummy/public/error/410.svg
1051
+ - spec/dummy/public/error/401.svg
1052
+ - spec/dummy/public/error/timeout_2.svg
1053
+ - spec/dummy/public/error/500.svg
1054
+ - spec/dummy/public/error/timeout_3.svg
1055
+ - spec/dummy/package.json
1043
1056
  - spec/dummy/config/spring.rb
1044
- - spec/dummy/config/database.yml
1057
+ - spec/dummy/config/puma.rb
1045
1058
  - spec/dummy/config/cable.yml
1046
- - spec/dummy/config/routes.rb
1059
+ - spec/dummy/config/secrets.yml
1060
+ - spec/dummy/config/environments/test.rb
1061
+ - spec/dummy/config/environments/development.rb
1047
1062
  - spec/dummy/config/boot.rb
1048
- - spec/dummy/config/puma.rb
1063
+ - spec/dummy/config/routes.rb
1064
+ - spec/dummy/config/locales/en.yml
1065
+ - spec/dummy/config/application.rb
1066
+ - spec/dummy/config/rabbit.yml
1067
+ - spec/dummy/config/database.yml
1068
+ - spec/dummy/config/environment.rb
1049
1069
  - spec/dummy/config/initializers/cookies_serializer.rb
1050
- - spec/dummy/config/initializers/filter_parameter_logging.rb
1051
- - spec/dummy/config/initializers/assets.rb
1052
1070
  - spec/dummy/config/initializers/wrap_parameters.rb
1053
- - spec/dummy/config/rabbit.yml
1054
- - spec/dummy/config/environments/development.rb
1055
- - spec/dummy/config/environments/test.rb
1056
- - spec/dummy/config/secrets.yml
1057
- - spec/dummy/config/locales/en.yml
1058
- - spec/dummy/bin/rails
1059
- - spec/dummy/bin/yarn
1060
- - spec/dummy/bin/rake
1061
- - spec/dummy/bin/setup
1062
- - spec/dummy/bin/update
1063
- - spec/dummy/bin/bundle
1064
- - spec/dummy/package.json
1065
- - spec/dummy/db/schema.rb
1066
- - spec/dummy/db/seeds.rb
1067
- - spec/dummy/config.ru
1068
- - spec/controllers/discussions_controller_spec.rb
1069
- - spec/controllers/api_clients_controller.rb
1070
- - spec/controllers/messages_controller_spec.rb
1071
- - spec/controllers/confirmations_controller_spec.rb
1072
- - spec/controllers/invitations_controller_spec.rb
1073
- - spec/controllers/users_controller_spec.rb
1074
- - spec/controllers/courses_api_controller_spec.rb
1075
- - spec/controllers/students_api_controller_spec.rb
1076
- - spec/controllers/guide_progress_controller_spec.rb
1077
- - spec/controllers/chapters_controller_spec.rb
1078
- - spec/controllers/exercise_solutions_controller_spec.rb
1079
- - spec/controllers/exercises_controller_spec.rb
1080
- - spec/controllers/discussions_messages_controller_spec.rb
1081
- - spec/controllers/organizations_api_controller_spec.rb
1082
- - spec/controllers/exam_registrations_controller_spec.rb
1083
- - spec/controllers/certificates_controller_spec.rb
1084
- - spec/controllers/exam_authorization_requests_controller_spec.rb
1085
- - spec/controllers/users_api_controller_spec.rb
1086
- - spec/api_helper.rb
1071
+ - spec/dummy/config/initializers/assets.rb
1072
+ - spec/dummy/config/initializers/filter_parameter_logging.rb
1087
1073
  - spec/mailers/previews/user_mailer_preview.rb
1088
1074
  - spec/mailers/user_mailer_spec.rb
1089
- - spec/features/login_flow_spec.rb
1090
- - spec/features/links_flow_spec.rb
1091
- - spec/features/notifications_flow_spec.rb
1075
+ - spec/javascripts/events-spec.js
1076
+ - spec/javascripts/timeout-spec.js
1077
+ - spec/javascripts/speech-bubble-renderer-spec.js
1078
+ - spec/javascripts/elipsis-spec.js
1079
+ - spec/javascripts/gamification-spec.js
1080
+ - spec/javascripts/kids-button-spec.js
1081
+ - spec/javascripts/exercise-spec.js
1082
+ - spec/javascripts/global-spec.js
1083
+ - spec/javascripts/sync-mode-spec.js
1084
+ - spec/javascripts/submissions-store-spec.js
1085
+ - spec/javascripts/timer-spec.js
1086
+ - spec/javascripts/results-renderers-spec.js
1087
+ - spec/javascripts/upload-spec.js
1088
+ - spec/javascripts/csrf-token-spec.js
1089
+ - spec/javascripts/spec-helper.js
1090
+ - spec/javascripts/i18n-spec.js
1091
+ - spec/javascripts/bridge-spec.js
1092
+ - spec/javascripts/editors-spec.js
1093
+ - spec/features/user_activity_flow_spec.rb
1094
+ - spec/features/standard_flow_spec.rb
1095
+ - spec/features/chapters_flow_spec.rb
1096
+ - spec/features/profile_flow_spec.rb
1092
1097
  - spec/features/dynamic_exam_spec.rb
1093
1098
  - spec/features/immersive_redirection_spec.rb
1099
+ - spec/features/disabled_organization_flow_spec.rb
1094
1100
  - spec/features/invitations_flow_spec.rb
1095
- - spec/features/chapters_flow_spec.rb
1096
- - spec/features/read_only_flow_spec.rb
1097
1101
  - spec/features/home_public_flow_spec.rb
1098
- - spec/features/runner_assets_spec.rb
1099
- - spec/features/disabled_organization_flow_spec.rb
1100
- - spec/features/user_activity_flow_spec.rb
1101
- - spec/features/guides_flow_spec.rb
1102
- - spec/features/terms_flow_spec.rb
1102
+ - spec/features/notifications_flow_spec.rb
1103
+ - spec/features/menu_bar_spec.rb
1104
+ - spec/features/login_flow_spec.rb
1105
+ - spec/features/certificate_programs_flow_spec.rb
1106
+ - spec/features/complements_flow_spec.rb
1103
1107
  - spec/features/home_private_flow_spec.rb
1108
+ - spec/features/guide_reset_spec.rb
1109
+ - spec/features/terms_flow_spec.rb
1104
1110
  - spec/features/progressive_tips_spec.rb
1105
1111
  - spec/features/not_found_private_flow_spec.rb
1106
- - spec/features/exercise_flow_spec.rb
1107
- - spec/features/profile_flow_spec.rb
1108
- - spec/features/certificate_programs_flow_spec.rb
1109
- - spec/features/guide_reset_spec.rb
1110
1112
  - spec/features/topic_flow_spec.rb
1111
- - spec/features/not_found_public_flow_spec.rb
1112
- - spec/features/disable_user_flow_spec.rb
1113
1113
  - spec/features/lessons_flow_spec.rb
1114
- - spec/features/menu_bar_spec.rb
1115
- - spec/features/standard_flow_spec.rb
1114
+ - spec/features/read_only_flow_spec.rb
1115
+ - spec/features/guides_flow_spec.rb
1116
+ - spec/features/not_found_public_flow_spec.rb
1117
+ - spec/features/exercise_flow_spec.rb
1118
+ - spec/features/links_flow_spec.rb
1119
+ - spec/features/runner_assets_spec.rb
1116
1120
  - spec/features/discussion_flow_spec.rb
1117
1121
  - spec/features/exams_flow_spec.rb
1118
- - spec/features/complements_flow_spec.rb
1122
+ - spec/login_helper.rb
1119
1123
  - spec/teaspoon_env.rb
1124
+ - spec/evaluation_helper.rb
1125
+ - spec/spec_helper.rb
1126
+ - spec/controllers/exercises_controller_spec.rb
1127
+ - spec/controllers/discussions_controller_spec.rb
1128
+ - spec/controllers/guide_progress_controller_spec.rb
1129
+ - spec/controllers/exam_authorization_requests_controller_spec.rb
1130
+ - spec/controllers/students_api_controller_spec.rb
1131
+ - spec/controllers/discussions_messages_controller_spec.rb
1132
+ - spec/controllers/users_controller_spec.rb
1133
+ - spec/controllers/organizations_api_controller_spec.rb
1134
+ - spec/controllers/certificates_controller_spec.rb
1135
+ - spec/controllers/users_api_controller_spec.rb
1136
+ - spec/controllers/messages_controller_spec.rb
1137
+ - spec/controllers/api_clients_controller.rb
1138
+ - spec/controllers/confirmations_controller_spec.rb
1139
+ - spec/controllers/exercise_solutions_controller_spec.rb
1140
+ - spec/controllers/courses_api_controller_spec.rb
1141
+ - spec/controllers/invitations_controller_spec.rb
1142
+ - spec/controllers/chapters_controller_spec.rb
1143
+ - spec/controllers/exam_registrations_controller_spec.rb
1144
+ - spec/capybara_helper.rb
@@ -1,32 +0,0 @@
1
- require 'spec_helper'
2
-
3
- feature 'disable user flow', organization_workspace: :test do
4
- let!(:current_organization) { Organization.current }
5
- let(:user) { create(:user) }
6
-
7
- let!(:chapter) {
8
- create(:chapter, lessons: [
9
- create(:lesson, guide: create(:guide))]) }
10
-
11
- let(:book) { current_organization.book }
12
-
13
- before { reindex_current_organization! }
14
-
15
- before { set_current_user! user }
16
-
17
- scenario 'enabled visitor' do
18
- visit '/'
19
-
20
- expect(page_body).to have_text(current_organization.book.name)
21
- expect(user.reload.last_organization).to eq current_organization
22
- end
23
-
24
- scenario 'disable visitor' do
25
- user.disable!
26
-
27
- visit '/'
28
-
29
- expect(page_body).to_not have_text(current_organization.book.name)
30
- expect(page_body).to have_text('You are trying to visit a permamently disabled or deleted resource')
31
- end
32
- end