diff --git a/app/views/user_mailer/exercise_anomaly_detected.html.slim b/app/views/user_mailer/exercise_anomaly_detected.html.slim index 4384a30b..9b0835da 100644 --- a/app/views/user_mailer/exercise_anomaly_detected.html.slim +++ b/app/views/user_mailer/exercise_anomaly_detected.html.slim @@ -12,9 +12,9 @@ table(border=1) - @anomalies.keys.each do | id | - exercise = Exercise.find(id) tr - td = link_to_if(policy(@user, exercise).show?, exercise.title, exercise_path(exercise)) + td = link_to_if(ExercisePolicy.new(@user, exercise).show?, exercise.title, exercise_url(exercise)) td = @anomalies[id] - td = link_to_if(policy(@user, exercise).statistics?, t('shared.statistics', locale: :de), statistics_exercise_path(exercise)) + td = link_to_if(ExercisePolicy.new(@user, exercise).statistics?, t('shared.statistics', locale: :de), statistics_exercise_url(exercise)) == t('mailers.user_mailer.exercise_anomaly_detected.body2', @@ -31,8 +31,8 @@ table(border=1) - @anomalies.keys.each do | id | - exercise = Exercise.find(id) tr - td = link_to_if(policy(@user, exercise).show?, exercise.title, exercise_path(exercise)) + td = link_to_if(ExercisePolicy.new(@user, exercise).show?, exercise.title, exercise_url(exercise)) td = @anomalies[id] - td = link_to_if(policy(@user, exercise).statistics?, t('shared.statistics', locale: :en), statistics_exercise_path(exercise)) + td = link_to_if(ExercisePolicy.new(@user, exercise).statistics?, t('shared.statistics', locale: :en), statistics_exercise_url(exercise)) == t('mailers.user_mailer.exercise_anomaly_detected.body3') diff --git a/lib/tasks/detect_exercise_anomalies.rake b/lib/tasks/detect_exercise_anomalies.rake index 1e710534..1a1b0787 100644 --- a/lib/tasks/detect_exercise_anomalies.rake +++ b/lib/tasks/detect_exercise_anomalies.rake @@ -1,6 +1,4 @@ -# TODO: Identify how the following line influences our tests: -# https://github.com/openHPI/codeocean/pull/345#issuecomment-509706348 -include Rails.application.routes.url_helpers +# frozen_string_literal: true namespace :detect_exercise_anomalies do # uncomment for debug logging: @@ -63,7 +61,7 @@ namespace :detect_exercise_anomalies do from exercises e join submissions s on s.exercise_id = e.id group by e.id - having count(s.user_id) > #{ExerciseCollection.sanitize(number_of_solutions)} + having count(s.user_id) > #{ExerciseCollection.sanitize_sql(number_of_solutions)} ) as exercises_with_submissions on exercises_with_submissions.id = eci.exercise_id") .group('exercise_collections.id') .having('count(exercises_with_submissions.id) > ?', number_of_exercises) @@ -140,7 +138,7 @@ namespace :detect_exercise_anomalies do users_to_notify.each do |u| user = u[:user_type] == InternalUser.name ? InternalUser.find(u[:user_id]) : ExternalUser.find(u[:user_id]) host = CodeOcean::Application.config.action_mailer.default_url_options[:host] - feedback_link = url_for(action: :new, controller: :user_exercise_feedbacks, exercise_id: exercise.id, host: host) + feedback_link = Rails.application.routes.url_helpers.url_for(action: :new, controller: :user_exercise_feedbacks, exercise_id: exercise.id, host: host) UserMailer.exercise_anomaly_needs_feedback(user, exercise, feedback_link).deliver end log("Asked #{users_to_notify.size} users for feedback.", 2)