Description:
shows only enabled contests, ordered by name
Commit status:
[Not Reviewed]
References:
Comments:
0 Commit comments 0 Inline Comments
Unresolved TODOs:
There are no unresolved TODOs
Add another comment

r285:011d92099790 - - 3 files changed: 4 inserted, 2 deleted

@@ -187,25 +187,25
187 else
187 else
188 @announcements = Announcement.find_published
188 @announcements = Announcement.find_published
189 end
189 end
190 if recent!=nil
190 if recent!=nil
191 recent_id = recent.to_i
191 recent_id = recent.to_i
192 @announcements = @announcements.find_all { |a| a.id > recent_id }
192 @announcements = @announcements.find_all { |a| a.id > recent_id }
193 end
193 end
194 end
194 end
195
195
196 def problem_list_by_user_contests(user)
196 def problem_list_by_user_contests(user)
197 contest_problems = []
197 contest_problems = []
198 pin = {}
198 pin = {}
199 - user.contests.each do |contest|
199 + user.contests.enabled.each do |contest|
200 available_problems = contest.problems.available
200 available_problems = contest.problems.available
201 contest_problems << {
201 contest_problems << {
202 :contest => contest,
202 :contest => contest,
203 :problems => available_problems
203 :problems => available_problems
204 }
204 }
205 available_problems.each {|p| pin[p.id] = true}
205 available_problems.each {|p| pin[p.id] = true}
206 end
206 end
207 other_avaiable_problems = Problem.available.find_all {|p| pin[p.id]==nil and p.contests.length==0}
207 other_avaiable_problems = Problem.available.find_all {|p| pin[p.id]==nil and p.contests.length==0}
208 contest_problems << {
208 contest_problems << {
209 :contest => nil,
209 :contest => nil,
210 :problems => other_avaiable_problems
210 :problems => other_avaiable_problems
211 }
211 }
@@ -1,6 +1,8
1 class Contest < ActiveRecord::Base
1 class Contest < ActiveRecord::Base
2
2
3 has_and_belongs_to_many :users
3 has_and_belongs_to_many :users
4 has_and_belongs_to_many :problems
4 has_and_belongs_to_many :problems
5
5
6 + named_scope :enabled, :conditions => {:enabled => true}
7 +
6 end
8 end
@@ -12,25 +12,25
12 :order => 'created_at DESC'
12 :order => 'created_at DESC'
13
13
14 has_many :replied_messages,
14 has_many :replied_messages,
15 :class_name => "Message",
15 :class_name => "Message",
16 :foreign_key => "receiver_id",
16 :foreign_key => "receiver_id",
17 :order => 'created_at DESC'
17 :order => 'created_at DESC'
18
18
19 has_one :contest_stat, :class_name => "UserContestStat", :dependent => :destroy
19 has_one :contest_stat, :class_name => "UserContestStat", :dependent => :destroy
20
20
21 belongs_to :site
21 belongs_to :site
22 belongs_to :country
22 belongs_to :country
23
23
24 - has_and_belongs_to_many :contests, :uniq => true
24 + has_and_belongs_to_many :contests, :uniq => true, :order => 'name'
25
25
26 named_scope :activated_users, :conditions => {:activated => true}
26 named_scope :activated_users, :conditions => {:activated => true}
27
27
28 validates_presence_of :login
28 validates_presence_of :login
29 validates_uniqueness_of :login
29 validates_uniqueness_of :login
30 validates_format_of :login, :with => /^[\_A-Za-z0-9]+$/
30 validates_format_of :login, :with => /^[\_A-Za-z0-9]+$/
31 validates_length_of :login, :within => 3..30
31 validates_length_of :login, :within => 3..30
32
32
33 validates_presence_of :full_name
33 validates_presence_of :full_name
34 validates_length_of :full_name, :minimum => 1
34 validates_length_of :full_name, :minimum => 1
35
35
36 validates_presence_of :password, :if => :password_required?
36 validates_presence_of :password, :if => :password_required?
You need to be logged in to leave comments. Login now