diff --git a/app/controllers/statuses_controller.rb b/app/controllers/statuses_controller.rb
new file mode 100644
--- /dev/null
+++ b/app/controllers/statuses_controller.rb
@@ -0,0 +1,24 @@
+class StatusesController < ApplicationController
+
+ def index
+ problem_count = Problem.available_problem_count
+
+ @dead_users = []
+ @level_users = {}
+ @levels = (0..CODEJOM_MAX_ALIVE_LEVEL)
+ @levels.each { |l| @level_users[l] = [] }
+ User.find(:all).each do |user|
+ if user.codejom_status==nil
+ user.update_codejom_status
+ user.codejom_status(true) # reload
+ end
+
+ if not user.codejom_status.alive
+ @dead_users << user
+ else
+ @level_users[user.codejom_level] << user
+ end
+ end
+ end
+
+end
diff --git a/app/helpers/statuses_helper.rb b/app/helpers/statuses_helper.rb
new file mode 100644
--- /dev/null
+++ b/app/helpers/statuses_helper.rb
@@ -0,0 +1,2 @@
+module StatusesHelper
+end
diff --git a/app/views/layouts/statuses.html.erb b/app/views/layouts/statuses.html.erb
new file mode 100644
--- /dev/null
+++ b/app/views/layouts/statuses.html.erb
@@ -0,0 +1,17 @@
+
+
+
+
+
+ Users: <%= controller.action_name %>
+ <%= stylesheet_link_tag 'status' %>
+
+
+
+<%= flash[:notice] %>
+
+<%= yield %>
+
+
+
diff --git a/app/views/statuses/index.html.erb b/app/views/statuses/index.html.erb
new file mode 100644
--- /dev/null
+++ b/app/views/statuses/index.html.erb
@@ -0,0 +1,17 @@
+Thailand Code Jom
+
+
+
Bye bye
+ <% @dead_users.each do |user| %>
+ <%= user.login %>
+ <% end %>
+
+
+ <% @levels.each do |level| %>
+
+ <% @level_users[level].each do |user| %>
+ <%= user.login %>
+ <% end %>
+
+ <% end %>
+
diff --git a/public/stylesheets/status.css b/public/stylesheets/status.css
new file mode 100644
--- /dev/null
+++ b/public/stylesheets/status.css
@@ -0,0 +1,79 @@
+h1 {
+ height: 25px;
+ color: black;
+ text-align: center;
+}
+
+#dead-status {
+ float: right;
+ width: 200px;
+ background: black;
+ color: white;
+ height: 1000px;
+ padding: 10px;
+ line-height: 30px;
+}
+
+.region {
+ padding: 10px;
+ text-align: center;
+ line-height: 30px;
+}
+
+.region-level-0 {
+ background: #f7f7ff;
+}
+.region-level-1 {
+ background: #f0f0ff;
+}
+.region-level-2 {
+ background: #e0e0f0;
+}
+.region-level-3 {
+ background: #d0d0f0;
+}
+.region-level-4 {
+ background: #c0c0d0;
+}
+.region-level-5 {
+ background: #b0b0c0;
+}
+.region-level-6 {
+ background: #a0a0b0;
+}
+.region-level-7 {
+ background: #808090;
+}
+.region-level-8 {
+ background: #606080;
+}
+.region-level-9 {
+ background: #404080;
+}
+.region-level-10 {
+ background: #202060;
+}
+
+.user-label {
+ -moz-border-radius: 5px;
+ color: white;
+ font-weight: bold;
+ padding-top: 2px;
+ padding-bottom: 2px;
+ padding-left: 20px;
+ padding-right: 20px;
+ margin: 2px;
+}
+
+.user-level-dead { background: #707070; color: black; }
+.user-level-0 { background: #a0a0ff; }
+.user-level-1 { background: #7070ff; }
+.user-level-2 { background: #6060ff; }
+.user-level-3 { background: #5050ff; }
+.user-level-4 { background: #5050e0; }
+.user-level-5 { background: #5050d0; }
+.user-level-6 { background: #4040d0; }
+.user-level-7 { background: #4040c0; }
+.user-level-8 { background: #4040b0; }
+.user-level-9 { background: #2020a0; }
+.user-level-10 { background: #202070; }
diff --git a/test/functional/statuses_controller_test.rb b/test/functional/statuses_controller_test.rb
new file mode 100644
--- /dev/null
+++ b/test/functional/statuses_controller_test.rb
@@ -0,0 +1,8 @@
+require 'test_helper'
+
+class StatusesControllerTest < ActionController::TestCase
+ # Replace this with your real tests.
+ test "the truth" do
+ assert true
+ end
+end
diff --git a/test/unit/helpers/statuses_helper_test.rb b/test/unit/helpers/statuses_helper_test.rb
new file mode 100644
--- /dev/null
+++ b/test/unit/helpers/statuses_helper_test.rb
@@ -0,0 +1,4 @@
+require 'test_helper'
+
+class StatusesHelperTest < ActionView::TestCase
+end