]> source.dussan.org Git - redmine.git/commitdiff
Merged r14243 (#19793).
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Sun, 10 May 2015 07:22:59 +0000 (07:22 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Sun, 10 May 2015 07:22:59 +0000 (07:22 +0000)
git-svn-id: http://svn.redmine.org/redmine/branches/3.0-stable@14251 e93f8b46-1217-0410-a6f0-8f06a7374b81

app/controllers/files_controller.rb
test/functional/files_controller_test.rb

index 253d73bfa3c80436a15cf38f26d4f05ce6521ebd..73409c765e16b7d15f22ee0435be29f33adb440c 100644 (file)
@@ -47,9 +47,16 @@ class FilesController < ApplicationController
     attachments = Attachment.attach_files(container, params[:attachments])
     render_attachment_warning_if_needed(container)
 
-    if !attachments.empty? && !attachments[:files].blank? && Setting.notified_events.include?('file_added')
-      Mailer.attachments_added(attachments[:files]).deliver
+    if attachments[:files].present?
+      if Setting.notified_events.include?('file_added')
+        Mailer.attachments_added(attachments[:files]).deliver
+      end
+      flash[:notice] = l(:label_file_added)
+      redirect_to project_files_path(@project)
+    else
+      flash.now[:error] = l(:label_attachment) + " " + l('activerecord.errors.messages.invalid')
+      new
+      render :action => 'new'
     end
-    redirect_to project_files_path(@project)
   end
 end
index b4d7d7d2702d4217a3dd30c7aaed6e12938f29ee..d79b88a47353de2c6999cf95415584003c607fbd 100644 (file)
@@ -106,4 +106,15 @@ class FilesControllerTest < ActionController::TestCase
     assert_equal Version.find(2), a.container
   end
 
+  def test_create_without_file
+    set_tmp_attachments_directory
+    @request.session[:user_id] = 2
+
+    assert_no_difference 'Attachment.count' do
+      post :create, :project_id => 1, :version_id => ''
+      assert_response 200
+      assert_template 'new'
+    end
+    assert_select 'div.error', 'File is invalid'
+  end
 end