diff --git a/app/controllers/competitions/prizes_controller.rb b/app/controllers/competitions/prizes_controller.rb index e8119a67f..c87026042 100644 --- a/app/controllers/competitions/prizes_controller.rb +++ b/app/controllers/competitions/prizes_controller.rb @@ -1,8 +1,10 @@ class Competitions::PrizesController < Competitions::BaseController before_action :require_prize_user! + helper_method :current_prize_user + def show - self_prizes = current_competition.competition_prize_users.where(user_id: current_user.id).includes(:competition_team).order(:competition_prize_id) + self_prizes = current_competition.competition_prize_users.where(user_id: current_prize_user.id).includes(:competition_team).order(:competition_prize_id) @leader = self_prizes.any?{ |prize_user| prize_user.leader? && prize_user.competition_prize.category == 'bonus' } # 是否为队长并且有奖金奖励 if @leader @@ -22,8 +24,13 @@ class Competitions::PrizesController < Competitions::BaseController private def require_prize_user! - return if current_competition.competition_prize_users.exists?(user: current_user) + return if current_competition.competition_prize_users.exists?(user: current_prize_user) + return if current_user.admin_or_business? || current_user.id == current_prize_user.id render_forbidden end + + def current_prize_user + @_current_prize_user ||= User.find(params[:user_id]) + end end \ No newline at end of file diff --git a/app/views/competitions/prizes/show.json.jbuilder b/app/views/competitions/prizes/show.json.jbuilder index 9bb6b8256..18113a7ed 100644 --- a/app/views/competitions/prizes/show.json.jbuilder +++ b/app/views/competitions/prizes/show.json.jbuilder @@ -5,7 +5,7 @@ if @leader json.bank_account_editable @bank_account_editable end -json.all_certified current_user.all_certified? +json.all_certified current_prize_user.all_certified? json.personal_certifications do json.array! @self_prizes do |prize_user| json.url personal_competition_certificate_path(current_competition.identifier, prize_user) diff --git a/public/react/src/modules/paths/PathDetail/PathDetailIndex.js b/public/react/src/modules/paths/PathDetail/PathDetailIndex.js index 02ef25aa1..d23cf5634 100644 --- a/public/react/src/modules/paths/PathDetail/PathDetailIndex.js +++ b/public/react/src/modules/paths/PathDetail/PathDetailIndex.js @@ -682,7 +682,11 @@ class PathDetailIndex extends Component{

this.modifysy(1)}>{team_title}

- +
: