Commit c63abafb13893050b36de8345ec3d92e36d5b010

Authored by Antonio Terceiro
1 parent 43ebde83

Fix author assignment for uploaded files

authorship started being idenfitied by created_by instead of
last_changed_by, but #upload_files was not updated to reflect that and
there were no automated tests for it.
app/controllers/my_profile/cms_controller.rb
@@ -188,7 +188,18 @@ class CmsController < MyProfileController @@ -188,7 +188,18 @@ class CmsController < MyProfileController
188 end 188 end
189 if request.post? && params[:uploaded_files] 189 if request.post? && params[:uploaded_files]
190 params[:uploaded_files].each do |file| 190 params[:uploaded_files].each do |file|
191 - @uploaded_files << UploadedFile.create({:uploaded_data => file, :profile => profile, :parent => @parent, :last_changed_by => user}, :without_protection => true) unless file == '' 191 + unless file == ''
  192 + @uploaded_files << UploadedFile.create(
  193 + {
  194 + :uploaded_data => file,
  195 + :profile => profile,
  196 + :parent => @parent,
  197 + :last_changed_by => user,
  198 + :created_by => user,
  199 + },
  200 + :without_protection => true
  201 + )
  202 + end
192 end 203 end
193 @errors = @uploaded_files.select { |f| f.errors.any? } 204 @errors = @uploaded_files.select { |f| f.errors.any? }
194 if @errors.any? 205 if @errors.any?
test/functional/cms_controller_test.rb
@@ -321,6 +321,14 @@ class CmsControllerTest &lt; ActionController::TestCase @@ -321,6 +321,14 @@ class CmsControllerTest &lt; ActionController::TestCase
321 assert_equal 'test.txt', f.children[0].name 321 assert_equal 'test.txt', f.children[0].name
322 end 322 end
323 323
  324 + should 'set author of uploaded files' do
  325 + f = Folder.new(:name => 'f'); profile.articles << f; f.save!
  326 + post :upload_files, :profile => profile.identifier, :parent_id => f.id, :uploaded_files => [fixture_file_upload('/files/test.txt', 'text/plain')]
  327 +
  328 + uf = profile.articles.find_by_name('test.txt')
  329 + assert_equal profile, uf.author
  330 + end
  331 +
324 should 'display destination folder of files when uploading file in root folder' do 332 should 'display destination folder of files when uploading file in root folder' do
325 get :upload_files, :profile => profile.identifier 333 get :upload_files, :profile => profile.identifier
326 334