# HG changeset patch # User jittat # Date 2009-04-17 02:44:15 # Node ID 1a0b47f4c2a47b8723c311f230fcfa93fccd7e22 # Parent e09937aa9f90c57ab07c0db524d528e00dc5606a added timestamp to source download git-svn-id: http://theory.cpe.ku.ac.th/grader/web/trunk@365 6386c4cd-e34a-4fa8-8920-d93eb39b512e diff --git a/app/controllers/main_controller.rb b/app/controllers/main_controller.rb --- a/app/controllers/main_controller.rb +++ b/app/controllers/main_controller.rb @@ -83,13 +83,8 @@ def source submission = Submission.find(params[:id]) if submission.user_id == session[:user_id] - if submission.problem.output_only - fname = submission.source_filename - else - fname = submission.problem.name + '.' + submission.language.ext - end send_data(submission.source, - {:filename => fname, + {:filename => submission.download_filename, :type => 'text/plain'}) else flash[:notice] = 'Error viewing source' diff --git a/app/models/submission.rb b/app/models/submission.rb --- a/app/models/submission.rb +++ b/app/models/submission.rb @@ -61,6 +61,15 @@ }) end + def download_filename + if self.problem.output_only + return self.source_filename + else + timestamp = self.submitted_at.localtime.strftime("%H%M%S") + return "#{self.problem.name}-#{timestamp}.#{self.language.ext}" + end + end + protected def self.find_option_in_source(option, source)