* work on folder moving
git-svn-id: http://redmine-dmsf.googlecode.com/svn/trunk/redmine_dmsf@61 5e329b0b-a2ee-ea63-e329-299493fc886d
This commit is contained in:
parent
ea9603077e
commit
2735594603
@ -51,21 +51,25 @@ module DmsfHelper
|
||||
end
|
||||
end
|
||||
|
||||
def self.directory_tree(project)
|
||||
def self.directory_tree(project, current_folder = nil)
|
||||
tree = [["Documents", nil]]
|
||||
DmsfFolder.project_root_folders(project).each do |folder|
|
||||
tree.push(["...#{folder.name}", folder.id])
|
||||
directory_subtree(tree, folder, 2)
|
||||
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)
|
||||
def self.directory_subtree(tree, folder, level, current_folder)
|
||||
folder.subfolders.each do |subfolder|
|
||||
tree.push(["#{"..." * level}#{subfolder.name}", subfolder.id])
|
||||
directory_subtree(tree, subfolder, level + 1)
|
||||
unless subfolder == current_folder
|
||||
tree.push(["#{"..." * level}#{subfolder.name}", subfolder.id])
|
||||
directory_subtree(tree, subfolder, level + 1)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@ -30,7 +30,7 @@ form_for(:dmsf_file_revision, @revision, :url => {:action => "save_file", :id =>
|
||||
</div>
|
||||
<div class="splitcontentright">
|
||||
<p>
|
||||
<%= label_tag("", l(:label_filename) + ":") %>
|
||||
<%= label_tag("", l(:label_file) + ":") %>
|
||||
<%= f.select(:folder,
|
||||
options_for_select(DmsfHelper.directory_tree(@project),
|
||||
:selected => (@revision.folder.id unless @revision.folder.nil?))) %> /
|
||||
|
||||
@ -78,8 +78,8 @@
|
||||
</div>
|
||||
<div class="splitcontentright">
|
||||
<p>
|
||||
<%= label_tag("", l(:label_filename) + ":") %>
|
||||
<%= h(revision.name) %>
|
||||
<%= label_tag("", l(:label_file) + ":") %>
|
||||
<%= (h(revision.folder.dmsf_path_str) + " / ") unless revision.folder.nil? %><%= h(revision.name) %>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -9,17 +9,31 @@
|
||||
</h2>
|
||||
|
||||
<% form_for(:dmsf_folder, @folder, :url => {:action => create ? "create_folder" : "save_folder", :id => @project, :folder_id => @folder, :parent_id => @parent},
|
||||
:html => {:method=>:post, :class => "tabular"}) do |f| %>
|
||||
:html => {:method=>:post}) do |f| %>
|
||||
<%= error_messages_for("folder") %>
|
||||
<div class="box">
|
||||
<p>
|
||||
<%= label_tag("dmsf_folder_name", l(:label_title) + ":") %>
|
||||
<%= f.text_field(:name, :size => "32", :required => true) %>
|
||||
</p>
|
||||
<p>
|
||||
<div class="box dmsf_detail">
|
||||
<div class="clear">
|
||||
<div class="splitcontentleft">
|
||||
<p>
|
||||
<%= label_tag("dmsf_folder_name", l(:label_title) + ":") %>
|
||||
<%= f.text_field(:name, :size => "32", :required => true) %>
|
||||
</p>
|
||||
</div>
|
||||
<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?))) %>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<p class="no-ident">
|
||||
<%= label_tag("dmsf_folder_description", l(:label_description) + ":") %>
|
||||
<%= f.text_area(:description, :rows => 15, :class => "wiki-edit") %>
|
||||
</p>
|
||||
<div class="wiki data clear">
|
||||
<%= f.text_area(:description, :rows => 15, :class => "wiki-edit") %>
|
||||
</div>
|
||||
</div>
|
||||
<%= submit_tag(create ? l(:submit_create) : l(:submit_save)) %>
|
||||
<% end %>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user