diff --git a/app/controllers/dmsf_files_controller.rb b/app/controllers/dmsf_files_controller.rb index 7c20cd89..213ecdf1 100644 --- a/app/controllers/dmsf_files_controller.rb +++ b/app/controllers/dmsf_files_controller.rb @@ -26,7 +26,7 @@ class DmsfFilesController < ApplicationController before_filter :find_file, :except => [:delete_revision] before_filter :find_revision, :only => [:delete_revision] - before_filter :authorize + before_filter :authorize accept_api_auth :show @@ -41,19 +41,19 @@ class DmsfFilesController < ApplicationController @revision = DmsfFileRevision.find(params[:download].to_i) raise DmsfAccessError if @revision.file != @file end - check_project(@revision.file) + check_project(@revision.file) raise ActionController::MissingFile if @file.deleted? - log_activity('downloaded') + log_activity('downloaded') access = DmsfFileRevisionAccess.new access.user = User.current access.revision = @revision - access.action = DmsfFileRevisionAccess::DownloadAction + access.action = DmsfFileRevisionAccess::DownloadAction access.save! member = Member.where(:user_id => User.current.id, :project_id => @file.project.id).first - send_file(@revision.disk_file, + send_file(@revision.disk_file, :filename => filename_for_content_disposition(@revision.formatted_name(member ? member.title_format : nil)), :type => @revision.detect_content_type, - :disposition => 'inline') + :disposition => 'inline') rescue DmsfAccessError => e Rails.logger.error e.message render_403 @@ -73,16 +73,16 @@ class DmsfFilesController < ApplicationController @revision = DmsfFileRevision.find(params[:download].to_i) raise DmsfAccessError if @revision.file != @file end - check_project(@revision.file) + check_project(@revision.file) raise ActionController::MissingFile if @revision.file.deleted? - log_activity('downloaded') + log_activity('downloaded') access = DmsfFileRevisionAccess.new access.user = User.current access.revision = @revision access.action = DmsfFileRevisionAccess::DownloadAction access.save! member = Member.where(:user_id => User.current.id, :project_id => @file.project.id).first - send_file(@revision.disk_file, + send_file(@revision.disk_file, :filename => filename_for_content_disposition(@revision.formatted_name(member ? member.title_format : nil)), :type => @revision.detect_content_type, :disposition => 'attachment') @@ -150,7 +150,7 @@ class DmsfFilesController < ApplicationController revision.disk_filename = revision.new_storage_filename revision.mime_type = Redmine::MimeType.of(file_upload.original_filename) end - + # Custom fields if params[:dmsf_file_revision][:custom_field_values].present? params[:dmsf_file_revision][:custom_field_values].each_with_index do |v, i| @@ -196,7 +196,7 @@ class DmsfFilesController < ApplicationController flash[:error] = @file.errors.full_messages.join(', ') end else - flash[:error] = revision.errors.full_messages.join(', ') + flash[:error] = revision.errors.full_messages.join(', ') end end end @@ -226,7 +226,7 @@ class DmsfFilesController < ApplicationController Rails.logger.error "Could not send email notifications: #{e.message}" end end - else + else flash[:error] = @file.errors.full_messages.join(', ') end end @@ -242,7 +242,7 @@ class DmsfFilesController < ApplicationController if @revision.delete(true) flash[:notice] = l(:notice_revision_deleted) log_activity('deleted') - else + else flash[:error] = @revision.errors.full_messages.join(', ') end end @@ -305,11 +305,6 @@ class DmsfFilesController < ApplicationController private - def frev_params - params.require(:dmsf_file_revision).permit( - :title, :name, :description, :comment) - end - def log_activity(action) Rails.logger.info "#{Time.now.strftime('%Y-%m-%d %H:%M:%S')} #{User.current.login}@#{request.remote_ip}/#{request.env['HTTP_X_FORWARDED_FOR']}: #{action} dmsf://#{@file.project.identifier}/#{@file.id}/#{@revision.id if @revision}" end @@ -328,7 +323,7 @@ class DmsfFilesController < ApplicationController rescue ActiveRecord::RecordNotFound render_404 end - + def check_project(entry) if entry && entry.project != @project raise DmsfAccessError, l(:error_entry_project_does_not_match_current_project)