Commit 840d5aa0e064a2438ec7b8106b8f6509ed79ca37

Authored by Braulio Bhavamitra
1 parent 0ab99b38

Fix duplicate author folder creation and duplicate save of work assignments

plugins/work_assignment/lib/ext/uploaded_file.rb
@@ -2,13 +2,11 @@ require_dependency 'article' @@ -2,13 +2,11 @@ require_dependency 'article'
2 require_dependency 'uploaded_file' 2 require_dependency 'uploaded_file'
3 3
4 class UploadedFile < Article 4 class UploadedFile < Article
5 - after_save do |uploaded_file| 5 + before_validation do |uploaded_file|
6 if uploaded_file.parent.kind_of?(WorkAssignmentPlugin::WorkAssignment) 6 if uploaded_file.parent.kind_of?(WorkAssignmentPlugin::WorkAssignment)
7 author_folder = uploaded_file.parent.find_or_create_author_folder(uploaded_file.author) 7 author_folder = uploaded_file.parent.find_or_create_author_folder(uploaded_file.author)
8 uploaded_file.name = WorkAssignmentPlugin::WorkAssignment.versioned_name(uploaded_file, author_folder) 8 uploaded_file.name = WorkAssignmentPlugin::WorkAssignment.versioned_name(uploaded_file, author_folder)
9 uploaded_file.parent = author_folder 9 uploaded_file.parent = author_folder
10 - logger.info("\n\n==> #{uploaded_file.name}\n\n")  
11 - uploaded_file.save!  
12 end 10 end
13 end 11 end
14 end 12 end
plugins/work_assignment/lib/work_assignment_plugin/work_assignment.rb
@@ -33,7 +33,7 @@ class WorkAssignmentPlugin::WorkAssignment &lt; Folder @@ -33,7 +33,7 @@ class WorkAssignmentPlugin::WorkAssignment &lt; Folder
33 end 33 end
34 34
35 def find_or_create_author_folder(author) 35 def find_or_create_author_folder(author)
36 - children.find_by_slug(author.identifier.to_slug) || Folder.create!(:name => author.name, :slug => author.identifier.to_slug, :parent => self, :profile => profile) 36 + children.find_by_slug(author.identifier) || Folder.create!(:name => author.name, :slug => author.identifier, :parent => self, :profile => profile)
37 end 37 end
38 38
39 def submissions 39 def submissions