diff --git a/app/assets/javascripts/editor/editor.js.erb b/app/assets/javascripts/editor/editor.js.erb index 3249fe9d..889291be 100644 --- a/app/assets/javascripts/editor/editor.js.erb +++ b/app/assets/javascripts/editor/editor.js.erb @@ -611,16 +611,26 @@ configureEditors: function () { $.ajax({ data: { exercise_id: $('#editor').data('exercise-id'), - user_id: $('#editor').data('user-id') + user_id: $('#editor').data('user-id'), + intervention_type: 'BreakIntervention' }, dataType: 'json', type: 'POST', - url: "localhost:3000/exercise/intervention"}); + url: $('#editor').data('intervention-save-url')}); }, timeUntilBreak); setTimeout(function() { $('#intervention-text').text(`Willst du eine Frage stellen?`); - $('#intervention-modal').modal('show') + $('#intervention-modal').modal('show'); + $.ajax({ + data: { + exercise_id: $('#editor').data('exercise-id'), + user_id: $('#editor').data('user-id'), + intervention_type: 'QuestionIntervention' + }, + dataType: 'json', + type: 'POST', + url: $('#editor').data('intervention-save-url')}); }, timeUntilAskQuestion); } }); diff --git a/app/controllers/exercises_controller.rb b/app/controllers/exercises_controller.rb index 9dc950cc..e339c1c9 100644 --- a/app/controllers/exercises_controller.rb +++ b/app/controllers/exercises_controller.rb @@ -173,12 +173,17 @@ class ExercisesController < ApplicationController end def intervention - uei = UserExerciseIntervention.new( - user: current_user, exercise: @exercise, intervention: Intervention.first, - accumulated_worktime: @exercise.accumulated_working_time_for_only(current_user)) + intervention = Intervention.find_by_name(params[:intervention_type]) + unless intervention.nil? + uei = UserExerciseIntervention.new( + user: current_user, exercise: @exercise, intervention: intervention, + accumulated_worktime_s: @exercise.accumulated_working_time_for_only(current_user)) + uei.save + render(json: {success: 'true'}) + else + render(json: {success: 'false', error: "undefined intervention #{params[:intervention_type]}"}) + end - puts "user: #{current_user}, intervention: #{Intervention.first} #{uei.save}" - render(json: {success: 'true'}) end def index diff --git a/app/views/exercises/_editor.html.slim b/app/views/exercises/_editor.html.slim index be82a5b7..b3d9c57b 100644 --- a/app/views/exercises/_editor.html.slim +++ b/app/views/exercises/_editor.html.slim @@ -1,7 +1,7 @@ - external_user_external_id = @current_user.respond_to?(:external_id) ? @current_user.external_id : '' #'tests' #(@current_user.uuid.present? ? @current_user.uuid : '') - external_user_id = @current_user.respond_to?(:external_id) ? @current_user.id : '' #'tests' #(@current_user.uuid.present? ? @current_user.uuid : '') - consumer_id = @current_user.respond_to?(:external_id) ? @current_user.consumer_id : '' #'tests' #(@current_user.uuid.present? ? @current_user.uuid : '') -#editor.row data-exercise-id=exercise.id data-message-depleted=t('exercises.editor.depleted') data-message-timeout=t('exercises.editor.timeout', permitted_execution_time: @exercise.execution_environment.permitted_execution_time) data-errors-url=execution_environment_errors_path(exercise.execution_environment) data-submissions-url=submissions_path data-user-id=@current_user.id data-user-external-id=external_user_external_id data-working-times-url=working_times_exercise_path +#editor.row data-exercise-id=exercise.id data-message-depleted=t('exercises.editor.depleted') data-message-timeout=t('exercises.editor.timeout', permitted_execution_time: @exercise.execution_environment.permitted_execution_time) data-errors-url=execution_environment_errors_path(exercise.execution_environment) data-submissions-url=submissions_path data-user-id=@current_user.id data-user-external-id=external_user_external_id data-working-times-url=working_times_exercise_path data-intervention-save-url=intervention_exercise_path div id="sidebar" class=(@exercise.hide_file_tree ? 'sidebar-col-collapsed' : 'sidebar-col') = render('editor_file_tree', exercise: @exercise, files: @files) div id='output_sidebar' class='output-col-collapsed' = render('exercises/editor_output', external_user_id: external_user_id, consumer_id: consumer_id ) div id='frames' class='editor-col'