diff --git a/plugins/work_assignment/controllers/myprofile/work_assignment_plugin_cms_controller.rb b/plugins/work_assignment/controllers/myprofile/work_assignment_plugin_cms_controller.rb index 222b1fd..6d568d5 100644 --- a/plugins/work_assignment/controllers/myprofile/work_assignment_plugin_cms_controller.rb +++ b/plugins/work_assignment/controllers/myprofile/work_assignment_plugin_cms_controller.rb @@ -1,25 +1,31 @@ class WorkAssignmentPluginCmsController < CmsController append_view_path File.join(File.dirname(__FILE__) + '/../../views') - + def upload_files @uploaded_files = [] @article = @parent = check_parent(params[:parent_id]) @email_notification = params[:article_email_notification] - + @target = @parent ? ('/%s/%s' % [profile.identifier, @parent.full_name]) : '/%s' % profile.identifier if @article record_coming end if request.post? && params[:uploaded_files] params[:uploaded_files].each do |file| - if file != '' - u = UploadedFile.new(:uploaded_data => file, :profile => profile, :parent => @parent) - u.last_changed_by = user - u.save! - @uploaded_files << u - end - end + unless file == '' + @uploaded_files << UploadedFile.create( + { + :uploaded_data => file, + :profile => profile, + :parent => @parent, + :last_changed_by => user, + :author => user, + }, + :without_protection => true + ) + end + end @errors = @uploaded_files.select { |f| f.errors.any? } if @errors.any? render :action => 'upload_files', :id => @parent_id @@ -48,7 +54,7 @@ class WorkAssignmentPluginCmsController < CmsController @files_paths = [] @files_string = params[:self_files_id] @files_id_list = @files_string.split(' ') - + @files_id_list.each do |file_id| @file = environment.articles.find_by_id(file_id) @real_file_url = "http://#{@file.url[:host]}:#{@file.url[:port]}/#{@file.url[:profile]}/#{@file.path}" @@ -100,7 +106,7 @@ class WorkAssignmentPluginCmsController < CmsController @files_paths = [] @files_string = params[:self_files_id] @files_id_list = @files_string.split(' ') - + @files_id_list.each do |file_id| @file = environment.articles.find_by_id(file_id) @real_file_url = "http://#{@file.url[:host]}:#{@file.url[:port]}/#{@file.url[:profile]}/#{@file.path}" diff --git a/plugins/work_assignment/lib/work_assignment_plugin.rb b/plugins/work_assignment/lib/work_assignment_plugin.rb index c283ea4..cf4bdef 100644 --- a/plugins/work_assignment/lib/work_assignment_plugin.rb +++ b/plugins/work_assignment/lib/work_assignment_plugin.rb @@ -37,7 +37,7 @@ class WorkAssignmentPlugin < Noosfero::Plugin def content_viewer_controller_filters block = proc do - path = params[:page].join('/') + path = params[:page] content = profile.articles.find_by_path(path) if WorkAssignmentPlugin.is_submission?(content) && !WorkAssignmentPlugin.can_download_submission?(user, content) @@ -51,7 +51,7 @@ class WorkAssignmentPlugin < Noosfero::Plugin :block => block } end - + def upload_files_extra_contents proc do if params[:parent_id] @@ -60,7 +60,7 @@ class WorkAssignmentPlugin < Noosfero::Plugin content = profile.articles.find_by_path(path) if content.type == "WorkAssignmentPlugin::WorkAssignment" - render :partial => 'work_assignment_form', :locals => { :size => '45'} + render :partial => 'work_assignment_form', :locals => { :size => '45'} end else render :partial => 'upload_file_form', :locals => { :size => '45'} -- libgit2 0.21.2