# HG changeset patch # User Nattee Niparnan # Date 2017-08-19 14:07:42 # Node ID b70bda067430c7855f20cb2ddccfda19770305b5 # Parent 4aee18c7d1590e42f81347aefcb00783c42cff1c - fix hof when user is deleted - user/:id/stat only show available problem for non-admin user diff --git a/app/controllers/report_controller.rb b/app/controllers/report_controller.rb --- a/app/controllers/report_controller.rb +++ b/app/controllers/report_controller.rb @@ -225,7 +225,7 @@ @by_lang[lang.pretty_name][:memory] = { avail: true, user_id: sub.user_id, value: sub.peak_memory, sub_id: sub.id } end - if sub.submitted_at and sub.submitted_at < @by_lang[lang.pretty_name][:first][:value] and + if sub.submitted_at and sub.submitted_at < @by_lang[lang.pretty_name][:first][:value] and sub.user and !sub.user.admin? @by_lang[lang.pretty_name][:first] = { avail: true, user_id: sub.user_id, value: sub.submitted_at, sub_id: sub.id } end diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -111,7 +111,8 @@ def stat @user = User.find(params[:id]) - @submission = Submission.includes(:problem).where(user_id: params[:id]) + @submission = Submission.joins(:problem).where(user_id: params[:id]) + @submission = @submission.where('problems.available = true') unless current_user.admin? range = 120 @histogram = { data: Array.new(range,0), summary: {} }