Description:
fixed bug: increament of number on old records in submission git-svn-id: http://theory.cpe.ku.ac.th/grader/web/trunk@98 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

r46:c9ffe114dd77 - - 1 file changed: 3 inserted, 2 deleted

@@ -7,13 +7,13
7 validates_presence_of :source
7 validates_presence_of :source
8 validates_length_of :source, :maximum => 100_000, :allow_blank => true, :message => 'too long'
8 validates_length_of :source, :maximum => 100_000, :allow_blank => true, :message => 'too long'
9 validates_length_of :source, :minimum => 1, :allow_blank => true, :message => 'too short'
9 validates_length_of :source, :minimum => 1, :allow_blank => true, :message => 'too short'
10 validate :must_specify_language
10 validate :must_specify_language
11 validate :must_have_valid_problem
11 validate :must_have_valid_problem
12
12
13 - before_save :assign_latest_number
13 + before_save :assign_latest_number_if_new_recond
14
14
15 def self.find_last_by_user_and_problem(user_id, problem_id)
15 def self.find_last_by_user_and_problem(user_id, problem_id)
16 last_sub = find(:first,
16 last_sub = find(:first,
17 :conditions => {:user_id => user_id,
17 :conditions => {:user_id => user_id,
18 :problem_id => problem_id},
18 :problem_id => problem_id},
19 :order => 'submitted_at DESC')
19 :order => 'submitted_at DESC')
@@ -108,12 +108,13
108 elsif !problem.available
108 elsif !problem.available
109 errors.add_to_base("must specify valid problem")
109 errors.add_to_base("must specify valid problem")
110 end
110 end
111 end
111 end
112
112
113 # callbacks
113 # callbacks
114 - def assign_latest_number
114 + def assign_latest_number_if_new_recond
115 + return if !self.new_record?
115 latest = Submission.find_last_by_user_and_problem(self.user_id, self.problem_id)
116 latest = Submission.find_last_by_user_and_problem(self.user_id, self.problem_id)
116 self.number = (latest==nil) ? 1 : latest.number + 1;
117 self.number = (latest==nil) ? 1 : latest.number + 1;
117 end
118 end
118
119
119 end
120 end
You need to be logged in to leave comments. Login now