Fix switch_locale to return the block result

This commit is contained in:
Sebastian Serth
2021-06-28 16:08:24 +02:00
parent 4e8033f5d4
commit d08707f62e
3 changed files with 10 additions and 9 deletions

View File

@ -75,8 +75,8 @@ class ApplicationController < ActionController::Base
def switch_locale(&action)
session[:locale] = params[:custom_locale] || params[:locale] || session[:locale]
locale = session[:locale] || I18n.default_locale
I18n.with_locale(locale, &action)
Sentry.set_extras(locale: locale)
I18n.with_locale(locale, &action)
end
private :switch_locale

View File

@ -57,7 +57,7 @@ module SubmissionScoring
private :execute_test_file
def feedback_message(file, output)
set_locale
switch_locale do
if output[:score] == Assessor::MAXIMUM_SCORE && output[:file_role] == 'teacher_defined_test'
I18n.t('exercises.implement.default_test_feedback')
elsif output[:score] == Assessor::MAXIMUM_SCORE && output[:file_role] == 'teacher_defined_linter'
@ -66,6 +66,7 @@ module SubmissionScoring
render_markdown(file.feedback_message)
end
end
end
def score_submission(submission)
outputs = collect_test_results(submission)

View File

@ -35,7 +35,7 @@ describe ApplicationController do
expect_redirect(:root)
end
describe '#set_locale' do
describe '#switch_locale' do
let(:locale) { :de }
context 'when specifying a locale' do