Fix switch_locale to return the block result
This commit is contained in:
@ -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
|
||||
|
||||
|
@ -57,13 +57,14 @@ module SubmissionScoring
|
||||
private :execute_test_file
|
||||
|
||||
def feedback_message(file, output)
|
||||
set_locale
|
||||
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'
|
||||
I18n.t('exercises.implement.default_linter_feedback')
|
||||
else
|
||||
render_markdown(file.feedback_message)
|
||||
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'
|
||||
I18n.t('exercises.implement.default_linter_feedback')
|
||||
else
|
||||
render_markdown(file.feedback_message)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -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
|
||||
|
Reference in New Issue
Block a user