Set bonus points for survey via LTI parameter

This commit is contained in:
kiragrammel
2023-10-13 14:16:44 +02:00
committed by Sebastian Serth
parent b91a2b7ce0
commit f7e3979e79
2 changed files with 11 additions and 9 deletions

View File

@ -76,6 +76,7 @@ class SessionsController < ApplicationController
private private
def redirect_to_survey def redirect_to_survey
if params[:custom_bonus_points]
# The following code is taken from store_lti_session_data(params) & send_score_for(submission, user) # The following code is taken from store_lti_session_data(params) & send_score_for(submission, user)
# It gives a bonus point to users who opened the survey # It gives a bonus point to users who opened the survey
begin begin
@ -85,6 +86,7 @@ class SessionsController < ApplicationController
rescue IMS::LTI::XMLParseError, Net::OpenTimeout, Net::ReadTimeout, Errno::ECONNRESET, SocketError, EOFError rescue IMS::LTI::XMLParseError, Net::OpenTimeout, Net::ReadTimeout, Errno::ECONNRESET, SocketError, EOFError
# We don't do anything here because it is only a bonus point and we want the users to do the survey # We don't do anything here because it is only a bonus point and we want the users to do the survey
end end
end
# This method is taken from Xikolo and slightly adapted. # This method is taken from Xikolo and slightly adapted.
# Forward arbitrary optional query params to LimeSurvey # Forward arbitrary optional query params to LimeSurvey

View File

@ -9,7 +9,7 @@ class Event < ApplicationRecord
validates :category, presence: true validates :category, presence: true
# We temporary allow an event to be stored without data. # We allow an event to be stored without data for pair programming (pp).
# This is useful if the category (together with the user and exercise) is already enough. # This is useful if the category (together with the user and exercise) is already enough.
validates :data, presence: true, if: -> { %w[pp_start_chat pp_invalid_partners pp_work_alone].exclude?(category) } validates :data, presence: true, if: -> { %w[pp_start_chat pp_invalid_partners pp_work_alone].exclude?(category) }