From c4de57376837f768dc6062eb852f87c64209b204 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karel=20Pi=C4=8Dman?= Date: Thu, 23 Oct 2014 14:27:55 +0200 Subject: [PATCH] -> 404 if a file not found --- app/controllers/dmsf_files_controller.rb | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/app/controllers/dmsf_files_controller.rb b/app/controllers/dmsf_files_controller.rb index ff678f46..e77d004d 100644 --- a/app/controllers/dmsf_files_controller.rb +++ b/app/controllers/dmsf_files_controller.rb @@ -33,13 +33,19 @@ class DmsfFilesController < ApplicationController @revision = @file.last_revision check_project(@revision.file) - access = DmsfFileRevisionAccess.new(:user_id => User.current.id, :dmsf_file_revision_id => @revision.id, + access = DmsfFileRevisionAccess.new(:user_id => User.current.id, + :dmsf_file_revision_id => @revision.id, :action => DmsfFileRevisionAccess::DownloadAction) access.save! - send_file(@revision.disk_file, - :filename => filename_for_content_disposition(@revision.name), - :type => @revision.detect_content_type, - :disposition => 'inline') + begin + send_file(@revision.disk_file, + :filename => filename_for_content_disposition(@revision.name), + :type => @revision.detect_content_type, + :disposition => 'inline') + rescue ActionController::MissingFile => e + logger.error e.message + render_404 + end end def show