Description:
import problem replaced old one, fixed small problems problem validates name to have no space, test interface can deal with broken dependecies on problems. git-svn-id: http://theory.cpe.ku.ac.th/grader/web/trunk@436 6386c4cd-e34a-4fa8-8920-d93eb39b512e
Commit status:
[Not Reviewed]
References:
Comments:
0 Commit comments 0 Inline Comments
Unresolved TODOs:
There are no unresolved TODOs
Add another comment

r205:9bf8e38c2911 - - 5 files changed: 15 inserted, 3 deleted

@@ -153,12 +153,20
153 153 @problem, import_log = Problem.new_from_import_form_params(params)
154 154
155 155 if @problem.errors.length != 0
156 156 render :action => 'import' and return
157 157 end
158 158
159 + old_problem = Problem.find_by_name(@problem.name)
160 + if old_problem!=nil
161 + old_problem.full_name = @problem.full_name
162 + @problem = old_problem
163 +
164 + flash[:notice] = "The test data has been replaced for problem #{@problem.name}"
165 + end
166 +
159 167 @problem.save
160 168 @log = import_log
161 169 end
162 170
163 171 ##################################
164 172 protected
@@ -98,13 +98,13
98 98 if problem.test_allowed
99 99 @problems << problem
100 100 end
101 101 end
102 102 @test_requests = []
103 103 @user.test_requests.each do |ts|
104 - if ts.problem.available
104 + if ts.problem and ts.problem.available
105 105 @test_requests << ts
106 106 end
107 107 end
108 108 end
109 109
110 110 def check_viewability
@@ -1,13 +1,14
1 1 class Problem < ActiveRecord::Base
2 2
3 3 belongs_to :description
4 4
5 5 validates_presence_of :name
6 + validates_format_of :name, :with => /^\w+$/
6 7 validates_presence_of :full_name
7 -
8 +
8 9 def self.find_available_problems
9 10 find(:all, :conditions => {:available => true}, :order => "date_added DESC")
10 11 end
11 12
12 13 def self.new_from_import_form_params(params)
13 14 problem = Problem.new
@@ -1,12 +1,15
1 1 - content_for :head do
2 2 = stylesheet_link_tag 'graders'
3 3 <meta http-equiv ="refresh" content="60"/>
4 4
5 5 %h1 Grader information
6 6
7 + = link_to '[Refresh]', :action => 'list'
8 + %br/
9 +
7 10 .submitbox
8 11 .item
9 12 Grader control:
10 13 .item
11 14 - form_for :clear, nil, :url => {:action => 'start_grading'} do |f|
12 15 = submit_tag 'Start graders in grading env'
@@ -39,13 +39,13
39 39
40 40 if ext=='.tar.gz' or ext=='.tgz'
41 41 cmd = "tar -zxvf #{testdata_filename} -C #{extract_dir}"
42 42 elsif ext=='.tar'
43 43 cmd = "tar -xvf #{testdata_filename} -C #{extract_dir}"
44 44 elsif ext=='.zip'
45 - cmd = "unzip #{testdata_filename} -d #{extract_dir}"
45 + cmd = "unzip -o #{testdata_filename} -d #{extract_dir}"
46 46 else
47 47 return nil
48 48 end
49 49
50 50 system(cmd)
51 51
You need to be logged in to leave comments. Login now