* 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:
parent
610c6a7a91
commit
c164cfb0c2
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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"
|
||||
|
||||
@ -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"
|
||||
|
||||
@ -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"
|
||||
|
||||
@ -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"
|
||||
|
||||
@ -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"
|
||||
|
||||
@ -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"
|
||||
|
||||
@ -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"
|
||||
|
||||
@ -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"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user