# HG changeset patch # User Nattee Niparnan # Date 2015-06-20 03:30:02 # Node ID e5c66a78e3f90e3c4b930d57e0e2e0698da9d83b # Parent dd2e569af6cbe8818122485f9b11708f29ac195e fix error when problem.full_score is nil. More has to be done to prevent problem.full_score being nil diff --git a/app/controllers/user_admin_controller.rb b/app/controllers/user_admin_controller.rb --- a/app/controllers/user_admin_controller.rb +++ b/app/controllers/user_admin_controller.rb @@ -142,7 +142,7 @@ ustat[0] = u @problems.each do |p| sub = Submission.find_last_by_user_and_problem(u.id,p.id) - if (sub!=nil) and (sub.points!=nil) + if (sub!=nil) and (sub.points!=nil) and p and p.full_score ustat << [(sub.points.to_f*100/p.full_score).round, (sub.points>=p.full_score)] else ustat << [0,false] diff --git a/db/schema.rb b/db/schema.rb --- a/db/schema.rb +++ b/db/schema.rb @@ -15,12 +15,12 @@ create_table "announcements", :force => true do |t| t.string "author" - t.text "body" + t.text "body", :limit => 16777215 t.boolean "published" - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false - t.boolean "frontpage", :default => false - t.boolean "contest_only", :default => false + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false + t.boolean "frontpage", :default => false + t.boolean "contest_only", :default => false t.string "title" t.string "notes" end @@ -50,19 +50,19 @@ end create_table "descriptions", :force => true do |t| - t.text "body" + t.text "body", :limit => 16777215 t.boolean "markdowned" - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false end create_table "grader_configurations", :force => true do |t| t.string "key" t.string "value_type" t.string "value" - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false - t.text "description" + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false + t.text "description", :limit => 16777215 end create_table "grader_processes", :force => true do |t| @@ -97,10 +97,10 @@ t.integer "sender_id" t.integer "receiver_id" t.integer "replying_message_id" - t.text "body" + t.text "body", :limit => 16777215 t.boolean "replied" - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false end create_table "problems", :force => true do |t| @@ -142,7 +142,7 @@ create_table "sessions", :force => true do |t| t.string "session_id" - t.text "data" + t.text "data", :limit => 16777215 t.datetime "updated_at" end @@ -163,14 +163,14 @@ t.integer "user_id" t.integer "problem_id" t.integer "language_id" - t.text "source" + t.text "source", :limit => 16777215 t.binary "binary" t.datetime "submitted_at" t.datetime "compiled_at" - t.text "compiler_message" + t.text "compiler_message", :limit => 16777215 t.datetime "graded_at" t.integer "points" - t.text "grader_comment" + t.text "grader_comment", :limit => 16777215 t.integer "number" t.string "source_filename" t.float "max_runtime" @@ -191,10 +191,10 @@ create_table "test_pairs", :force => true do |t| t.integer "problem_id" - t.text "input", :limit => 16777215 - t.text "solution", :limit => 16777215 - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false + t.text "input", :limit => 2147483647 + t.text "solution", :limit => 2147483647 + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false end create_table "test_requests", :force => true do |t| @@ -205,13 +205,13 @@ t.string "output_file_name" t.string "running_stat" t.integer "status" - t.datetime "updated_at", :null => false + t.datetime "updated_at", :null => false t.datetime "submitted_at" t.datetime "compiled_at" - t.text "compiler_message" + t.text "compiler_message", :limit => 16777215 t.datetime "graded_at" t.string "grader_comment" - t.datetime "created_at", :null => false + t.datetime "created_at", :null => false t.float "running_time" t.string "exit_status" t.integer "memory_usage" @@ -239,6 +239,7 @@ t.boolean "activated", :default => false t.datetime "created_at" t.datetime "updated_at" + t.string "section" t.boolean "enabled", :default => true t.string "remark" end