Init ladder prototype. Challenge stuff is still mostly broken.

This commit is contained in:
simplefl 2015-05-16 15:54:14 +02:00
parent 7abbf51145
commit 5e29684722
11 changed files with 185 additions and 104 deletions

View file

@ -18,10 +18,13 @@ class ChallengesController < ApplicationController
end
def new
#No new challenges for now.
raise AccessError
@challenge = Challenge.new
@challenge.user = cuser
@challenge.contester2 = Contester.active.find params[:id]
@challenge.get_contester1
contest = @challenge.contester2.contest
@challenge.contester1 = @challenge.user.active_contesters.of_contest(contest).first
raise AccessError unless @challenge.can_create? cuser
end
@ -62,7 +65,8 @@ class ChallengesController < ApplicationController
def destroy
raise AccessError unless @challenge.can_destroy? cuser
@challenge.destroy
return_to
#return_to FIX ME from challenge side
render text: t(:challenges_cleared)
end
private

View file

@ -22,6 +22,9 @@ class ContestersController < ApplicationController
@contester = Contester.new params[:contester]
@contester.user = cuser
raise AccessError unless @contester.can_create? cuser
if @contester.contest.contest_type == Contest::TYPE_LADDER
@contester.score = @contester.contest.contesters.active.count + 1
end
if @contester.save
flash[:notice] = t(:contests_join)
@ -34,9 +37,20 @@ class ContestersController < ApplicationController
def update
raise AccessError unless @contester.can_update? cuser
if @contester.contest.contest_type == Contest::TYPE_LADDER
old_rank = @contester.score
new_rank = params[:contester][:score].to_i
raise Error, t(:rank_invalid) unless new_rank > 0 and
new_rank <= @contester.contest.contesters.active.count
if old_rank != new_rank
@contester.contest.update_ranks(@contester, old_rank, new_rank)
end
end
if @contester.update_attributes params[:contester]
flash[:notice] = t(:contests_contester_update)
redirect_to @contester
redirect_to @contester.contest
else
render :edit
end