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|