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