From da62439b6a096f39d4c41ac14bd66d8183950778 Mon Sep 17 00:00:00 2001 From: Doug Youch Date: Fri, 30 Jul 2010 21:52:13 +0000 Subject: [PATCH] Make sure parent folder exists and is a folder before calling worker. --- app/controllers/file_controller.rb | 7 +++++-- app/views/file/upload_failed.rjs | 6 +++++- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/app/controllers/file_controller.rb b/app/controllers/file_controller.rb index c0b78b3e..7c6b0659 100644 --- a/app/controllers/file_controller.rb +++ b/app/controllers/file_controller.rb @@ -174,8 +174,11 @@ def file_manager_update def upload - if DomainFile.available_file_storage > 0 - @upload_file = DomainFile.create(:filename => params[:upload_file][:filename], :parent_id => params[:upload_file][:parent_id], :creator_id => myself.id, :skip_transform => true, :skip_post_processing => true) + folder = DomainFile.find_by_id params[:upload_file][:parent_id] + folder = nil unless folder.folder? + + if DomainFile.available_file_storage > 0 && folder + @upload_file = DomainFile.create(:filename => params[:upload_file][:filename], :parent_id => folder.id, :creator_id => myself.id, :skip_transform => true, :skip_post_processing => true) worker_key = FileWorker.async_do_work(:domain_file_id => @upload_file.id, :domain_id => DomainModel.active_domain_id, diff --git a/app/views/file/upload_failed.rjs b/app/views/file/upload_failed.rjs index 8a753372..86afa7a9 100644 --- a/app/views/file/upload_failed.rjs +++ b/app/views/file/upload_failed.rjs @@ -1,2 +1,6 @@ -page.replace_html 'upload_progress', '' + 'File storage limit reached'.t + '' +if DomainFile.available_file_storage == 0 + page.replace_html 'upload_progress', '' + 'File storage limit reached'.t + '' +else + page.redirect_to :action => 'index' +end