Description:
contest ends after user is dead, added status xml for visualization
Commit status:
[Not Reviewed]
References:
Comments:
0 Commit comments 0 Inline Comments
Unresolved TODOs:
There are no unresolved TODOs
Add another comment

r262:9f069571bd87 - - 4 files changed: 36 inserted, 10 deleted

@@ -0,0 +1,17
1 + <?xml version="1.0"?>
2 + <codejom>
3 + <% @dead_users.each do |user| %>
4 + <node>
5 + <name><%= user.login %></name>
6 + <depth>100</depth>
7 + </node>
8 + <% end %>
9 + <% @levels.each do |level| %>
10 + <% @level_users[level].each do |user| %>
11 + <node>
12 + <name><%= user.login %></name>
13 + <depth><%= level %></depth>
14 + </node>
15 + <% end %>
16 + <% end %>
17 + </codejom>
@@ -12,10 +12,8
12 12 @levels = (0..CODEJOM_MAX_ALIVE_LEVEL)
13 13 @levels.each { |l| @level_users[l] = [] }
14 14 User.find(:all).find_all{|user| not user.admin? }.each do |user|
15 - if user.codejom_status==nil
16 - user.update_codejom_status
17 - user.codejom_status(true) # reload
18 - end
15 + user.update_codejom_status
16 + user.codejom_status(true) # reload
19 17
20 18 if not user.codejom_status.alive
21 19 @dead_users << user
@@ -27,10 +25,7
27 25 respond_to do |format|
28 26 format.html
29 27 format.xml do
30 - render :xml => {
31 - :levels => @level_users,
32 - :dead_users => @dead_users
33 - }
28 + render :template => 'statuses/index.xml.erb'
34 29 end
35 30 end
36 31 end
@@ -78,11 +78,19
78 78 # if the contest is over
79 79 if Configuration.time_limit_mode?
80 80 if user.contest_finished?
81 - header = <<CONTEST_OVER
81 + if (user.codejom_status) and (not user.codejom_status.alive)
82 + header = <<CONTEST_OVER
83 + <tr><td colspan="2" align="center">
84 + <span class="contest-over-msg">BYE-BYE. YOU ARE DEAD</span>
85 + </td></tr>
86 + CONTEST_OVER
87 + else
88 + header = <<CONTEST_OVER
82 89 <tr><td colspan="2" align="center">
83 90 <span class="contest-over-msg">THE CONTEST IS OVER</span>
84 91 </td></tr>
85 92 CONTEST_OVER
93 + end
86 94 end
87 95 if !user.contest_started?
88 96 time_left = "&nbsp;&nbsp;" + (t 'title_bar.contest_not_started')
@@ -209,7 +209,13
209 209 def contest_finished?
210 210 if Configuration.contest_mode?
211 211 return false if site==nil
212 - return site.finished?
212 + if site.finished?
213 + return true
214 + elsif codejom_status!=nil
215 + return (not codejom_status.alive)
216 + else
217 + return false
218 + end
213 219 elsif Configuration.indv_contest_mode?
214 220 time_limit = Configuration.contest_time_limit
215 221
You need to be logged in to leave comments. Login now