From a60ce17d966473c330a80f105bb3228938880ceb Mon Sep 17 00:00:00 2001 From: p31729568 Date: Wed, 6 Nov 2019 11:50:21 +0800 Subject: [PATCH] competition certificate download --- app/controllers/competitions/certificates_controller.rb | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/app/controllers/competitions/certificates_controller.rb b/app/controllers/competitions/certificates_controller.rb index 68dad41c1..7572d8bbb 100644 --- a/app/controllers/competitions/certificates_controller.rb +++ b/app/controllers/competitions/certificates_controller.rb @@ -1,6 +1,11 @@ class Competitions::CertificatesController < Competitions::BaseController def personal - prize_user = CompetitionPrizeUser.find_by!(user: current_user, id: params[:id]) + prize_user = + if current_user.admin_or_business? + CompetitionPrizeUser.find(params[:id]) + else + CompetitionPrizeUser.find_by!(user: current_user, id: params[:id]) + end return render_not_found unless prize_user.certificate_exist? team = prize_user.competition_team @@ -12,7 +17,7 @@ class Competitions::CertificatesController < Competitions::BaseController def team team = CompetitionTeam.find(params[:id]) - return render_forbidden unless team.team_members.exists?(user_id: current_user.id) + return render_forbidden unless current_user.admin_or_business? || team.team_members.exists?(user_id: current_user.id) return render_not_found unless team.certificate_exists? prize = team.competition_prize_users.first.competition_prize