* finished Issue 4: Document files renaming

* finished Issue 36: Document/Folder move

git-svn-id: http://redmine-dmsf.googlecode.com/svn/trunk/redmine_dmsf@65 5e329b0b-a2ee-ea63-e329-299493fc886d
This commit is contained in:
vit.jonas@gmail.com 2011-05-20 16:09:54 +00:00
parent 610c6a7a91
commit c164cfb0c2
14 changed files with 46 additions and 31 deletions

View File

@ -51,26 +51,4 @@ module DmsfHelper
end
end
def self.directory_tree(project, current_folder = nil)
tree = [["Documents", nil]]
DmsfFolder.project_root_folders(project).each do |folder|
unless folder == current_folder
tree.push(["...#{folder.name}", folder.id])
directory_subtree(tree, folder, 2, current_folder)
end
end
return tree
end
private
def self.directory_subtree(tree, folder, level, current_folder)
folder.subfolders.each do |subfolder|
unless subfolder == current_folder
tree.push(["#{"..." * level}#{subfolder.name}", subfolder.id])
directory_subtree(tree, subfolder, level + 1)
end
end
end
end

View File

@ -108,8 +108,8 @@ class DmsfFileRevision < ActiveRecord::Base
self.name = posted.has_key?("name") ? posted["name"] : self.file.name
if posted.has_key?("folder")
self.folder = posted["folder"].blank? ? nil : DmsfFolder.find(posted["folder"])
if posted.has_key?("dmsf_folder_id")
self.folder = posted["dmsf_folder_id"].blank? ? nil : DmsfFolder.find(posted["dmsf_folder_id"])
else
self.folder = self.file.folder
end

View File

@ -65,5 +65,27 @@ class DmsfFolder < ActiveRecord::Base
self.save!
end
def self.directory_tree(project, current_folder = nil)
tree = [["Documents", nil]]
DmsfFolder.project_root_folders(project).each do |folder|
unless folder == current_folder
tree.push(["...#{folder.name}", folder.id])
directory_subtree(tree, folder, 2, current_folder)
end
end
return tree
end
private
def self.directory_subtree(tree, folder, level, current_folder)
folder.subfolders.each do |subfolder|
unless subfolder == current_folder
tree.push(["#{"..." * level}#{subfolder.name}", subfolder.id])
directory_subtree(tree, subfolder, level + 1, current_folder)
end
end
end
end

View File

@ -31,8 +31,8 @@ form_for(:dmsf_file_revision, @revision, :url => {:action => "save_file", :id =>
<div class="splitcontentright">
<p>
<%= label_tag("", l(:label_file) + ":") %>
<%= f.select(:folder,
options_for_select(DmsfHelper.directory_tree(@project),
<%= f.select(:dmsf_folder_id,
options_for_select(DmsfFolder.directory_tree(@project),
:selected => (@revision.folder.id unless @revision.folder.nil?))) %> /
<%= f.text_field(:name, :size => "24") %>
</p>

View File

@ -79,7 +79,7 @@
<div class="splitcontentright">
<p>
<%= label_tag("", l(:label_file) + ":") %>
<%= (h(revision.folder.dmsf_path_str) + " / ") unless revision.folder.nil? %><%= h(revision.name) %>
<%= (h(revision.folder.dmsf_path_str) + "/") unless revision.folder.nil? %><%= h(revision.name) %>
</p>
</div>
</div>

View File

@ -22,9 +22,9 @@
<div class="splitcontentright">
<p>
<%= label_tag("", l(:label_folder) + ":") %>
<%= f.select(:folder,
options_for_select(DmsfHelper.directory_tree(@project),
:selected => (@folder.folder.id unless @folder.folder.nil?))) %>
<%= f.select(:dmsf_folder_id,
options_for_select(DmsfFolder.directory_tree(@project, @folder),
:selected => @folder.nil? ? (@pathfolder.id unless @pathfolder.nil?) : (@folder.folder.id unless @folder.folder.nil?))) %>
</p>
</div>
</div>

View File

@ -135,4 +135,6 @@ cs:
:permission_file_manipulation: "File manipulation"
:permission_file_approval: "File approval"
:permission_force_file_unlock: "Force file unlock"
:label_file: "File"
:label_folder: "Folder"

View File

@ -131,4 +131,6 @@ de:
:permission_file_manipulation: "File manipulation"
:permission_file_approval: "File approval"
:permission_force_file_unlock: "Force file unlock"
:label_file: "File"
:label_folder: "Folder"

View File

@ -131,4 +131,6 @@ en-GB:
:permission_file_manipulation: "File manipulation"
:permission_file_approval: "File approval"
:permission_force_file_unlock: "Force file unlock"
:label_file: "File"
:label_folder: "Folder"

View File

@ -127,7 +127,6 @@ en:
:label_default_notifications: "File default notifications"
:heading_uploaded_files: "Uploaded Files"
:submit_commit: "Commit"
:link_documents: "Documents"
:permission_browse_documents: "Browse documents"
:permission_user_preferences: "User preferences"
@ -136,4 +135,6 @@ en:
:permission_file_manipulation: "File manipulation"
:permission_file_approval: "File approval"
:permission_force_file_unlock: "Force file unlock"
:label_file: "File"
:label_folder: "Folder"

View File

@ -133,4 +133,6 @@ es:
:permission_file_manipulation: "File manipulation"
:permission_file_approval: "File approval"
:permission_force_file_unlock: "Force file unlock"
:label_file: "File"
:label_folder: "Folder"

View File

@ -131,4 +131,6 @@ fr:
:permission_file_manipulation: "File manipulation"
:permission_file_approval: "File approval"
:permission_force_file_unlock: "Force file unlock"
:label_file: "File"
:label_folder: "Folder"

View File

@ -135,4 +135,6 @@ en:
:permission_file_manipulation: "File manipulation"
:permission_file_approval: "File approval"
:permission_force_file_unlock: "Force file unlock"
:label_file: "File"
:label_folder: "Folder"

View File

@ -131,4 +131,6 @@ ru:
:permission_file_manipulation: "File manipulation"
:permission_file_approval: "File approval"
:permission_force_file_unlock: "Force file unlock"
:label_file: "File"
:label_folder: "Folder"