diff --git a/app/controllers/test_controller.rb b/app/controllers/test_controller.rb
--- a/app/controllers/test_controller.rb
+++ b/app/controllers/test_controller.rb
@@ -82,7 +82,13 @@
def prepare_index_information
@user = User.find(session[:user_id])
@submissions = Submission.find_last_for_all_available_problems(@user.id)
- @problems = @submissions.collect { |submission| submission.problem }
+ all_problems = @submissions.collect { |submission| submission.problem }
+ @problems = []
+ all_problems.each do |problem|
+ if problem.test_allowed
+ @problems << problem
+ end
+ end
@test_requests = @user.test_requests
end
diff --git a/app/views/problems/_form.rhtml b/app/views/problems/_form.rhtml
--- a/app/views/problems/_form.rhtml
+++ b/app/views/problems/_form.rhtml
@@ -13,6 +13,12 @@
<%= date_select 'problem', 'date_added' %>
+
+<%= select("problem","available",[['True',true],['False',false]]) %>
+
+
+<%= select("problem","test_allowed",[['True',true],['False',false]]) %>
+
<%= error_messages_for 'description' %>
@@ -28,6 +34,5 @@
<%= text_field 'problem', 'url' %>
-
-<%= select("problem","available",[['True',true],['False',false]]) %>
+
diff --git a/app/views/problems/list.rhtml b/app/views/problems/list.rhtml
--- a/app/views/problems/list.rhtml
+++ b/app/views/problems/list.rhtml
@@ -15,17 +15,19 @@
Full name |
Full score |
Date added |
- Available |
+ Avail? |
+ Test? |
<% for problem in @problems %>
">
<% @problem=problem %>
- <%= in_place_editor_field :problem, :name, {}, :rows=>1 %>
- | <%= in_place_editor_field :problem, :full_name, {}, :rows=>1 %>
- | <%= in_place_editor_field :problem, :full_score, {}, :rows=>1 %>
- | <%= problem.date_added %>
- | <%= problem.available %>
+ | <%= in_place_editor_field :problem, :name, {}, :rows=>1 %> |
+ <%= in_place_editor_field :problem, :full_name, {}, :rows=>1 %> |
+ <%= in_place_editor_field :problem, :full_score, {}, :rows=>1 %> |
+ <%= problem.date_added %> |
+ <%= problem.available %> |
+ <%= problem.test_allowed %> |
<%= link_to '[Toggle]', :action => 'toggle_avail', :id => problem.id %> |
<%= link_to '[Stat]', :action => 'stat', :id => problem.id %> |
diff --git a/db/schema.rb b/db/schema.rb
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -9,7 +9,7 @@
#
# It's strongly recommended to check this file into your version control system.
-ActiveRecord::Schema.define(:version => 28) do
+ActiveRecord::Schema.define(:version => 29) do
create_table "configurations", :force => true do |t|
t.string "key"
@@ -52,6 +52,7 @@
t.boolean "available"
t.string "url"
t.integer "description_id"
+ t.boolean "test_allowed"
end
create_table "rights", :force => true do |t|