#183 link name updating
This commit is contained in:
parent
c19502dc69
commit
f6d25f6033
@ -33,27 +33,35 @@ class DmsfLinksController < ApplicationController
|
||||
@dmsf_file_id = params[:dmsf_link][:dmsf_file_id]
|
||||
@type = params[:dmsf_link][:type]
|
||||
@dmsf_link.target_project_id = params[:dmsf_link][:target_project_id]
|
||||
@target_folder_id = params[:dmsf_link][:target_folder_id].to_i if params[:reload].blank? && DmsfLinksHelper.is_a_number?(params[:dmsf_link][:target_folder_id])
|
||||
if params[:dmsf_link][:name].blank?
|
||||
if @type == 'link_to'
|
||||
if params[:dmsf_link][:dmsf_file_id].present?
|
||||
file = DmsfFile.find_by_id params[:dmsf_link][:dmsf_file_id]
|
||||
@dmsf_link.name = file.title if file
|
||||
else
|
||||
folder = DmsfFolder.find_by_id params[:dmsf_link][:dmsf_folder_id]
|
||||
@dmsf_link.name = folder.title if folder
|
||||
end
|
||||
@target_folder_id = params[:dmsf_link][:target_folder_id].to_i if params[:reload].blank? && DmsfLinksHelper.is_a_number?(params[:dmsf_link][:target_folder_id])
|
||||
if @type == 'link_to'
|
||||
if params[:dmsf_link][:dmsf_file_id].present?
|
||||
file = DmsfFile.find_by_id params[:dmsf_link][:dmsf_file_id]
|
||||
@dmsf_link.name = file.title if file
|
||||
else
|
||||
if params[:dmsf_link][:target_file_id].present?
|
||||
file = DmsfFile.find_by_id params[:dmsf_link][:target_file_id]
|
||||
@dmsf_link.name = file.title if file
|
||||
else
|
||||
folder = DmsfFolder.find_by_id params[:dmsf_link][:target_folder_id]
|
||||
@dmsf_link.name = folder.title if folder
|
||||
end
|
||||
folder = DmsfFolder.find_by_id params[:dmsf_link][:dmsf_folder_id]
|
||||
@dmsf_link.name = folder.title if folder
|
||||
end
|
||||
else
|
||||
if params[:dmsf_link][:target_file_id].present?
|
||||
@target_file_id = params[:dmsf_link][:target_file_id]
|
||||
file = DmsfFile.find_by_id @target_file_id
|
||||
|
||||
if file
|
||||
folder = DmsfFolder.find_by_id params[:dmsf_link][:target_folder_id]
|
||||
if folder && (folder.project_id == @dmsf_link.target_project_id) && folder.files.include?(file)
|
||||
@dmsf_link.name = file.title
|
||||
end
|
||||
end
|
||||
else
|
||||
folder = DmsfFolder.find_by_id params[:dmsf_link][:target_folder_id]
|
||||
|
||||
if folder
|
||||
if folder.project_id == @dmsf_link.target_project_id
|
||||
@dmsf_link.name = folder.title if folder
|
||||
end
|
||||
end
|
||||
end
|
||||
else
|
||||
@dmsf_link.name = params[:dmsf_link][:name]
|
||||
end
|
||||
else
|
||||
# Link from/to
|
||||
@ -96,7 +104,11 @@ class DmsfLinksController < ApplicationController
|
||||
if @dmsf_link.save
|
||||
flash[:notice] = l(:notice_successful_create)
|
||||
redirect_to dmsf_folder_path(:id => @project.id, :folder_id => @dmsf_link.dmsf_folder_id)
|
||||
else
|
||||
else
|
||||
@dmsf_file_id = params[:dmsf_link][:dmsf_file_id]
|
||||
@type = params[:dmsf_link][:type]
|
||||
@target_folder_id = params[:dmsf_link][:target_folder_id].to_i if DmsfLinksHelper.is_a_number?(params[:dmsf_link][:target_folder_id])
|
||||
@target_file_id = @dmsf_link.target_id if @dmsf_link.target_type == DmsfFile.model_name
|
||||
render :action => 'new'
|
||||
end
|
||||
else
|
||||
@ -120,7 +132,13 @@ class DmsfLinksController < ApplicationController
|
||||
else
|
||||
redirect_to edit_dmsf_path(:id => params[:dmsf_link][:project_id], :folder_id => params[:dmsf_link][:dmsf_folder_id])
|
||||
end
|
||||
else
|
||||
else
|
||||
@dmsf_file_id = params[:dmsf_link][:dmsf_file_id]
|
||||
@type = params[:dmsf_link][:type]
|
||||
@target_folder_id = @dmsf_link.dmsf_folder_id
|
||||
@dmsf_link.target_project_id = @dmsf_link.project.id
|
||||
@dmsf_link.project_id = params[:dmsf_link][:project_id]
|
||||
@dmsf_link.dmsf_folder_id = params[:dmsf_link][:dmsf_folder_id]
|
||||
render :action => 'new'
|
||||
end
|
||||
end
|
||||
|
||||
@ -21,12 +21,8 @@
|
||||
<div class="contextual">
|
||||
</div>
|
||||
|
||||
<% type = (@type || params[:dmsf_link].blank?) ? @type : params[:dmsf_link][:type] %>
|
||||
<% dmsf_file_id = (@dmsf_file_id || params[:dmsf_link].blank?) ? @dmsf_file_id : params[:dmsf_link][:dmsf_file_id] %>
|
||||
<% target_folder_id = (@target_folder_id || params[:dmsf_link].blank? || !DmsfLinksHelper.is_a_number?(params[:dmsf_link][:target_folder_id])) ? @target_folder_id : params[:dmsf_link][:target_folder_id].to_i %>
|
||||
|
||||
<% if dmsf_file_id %>
|
||||
<% file = DmsfFile.find_by_id dmsf_file_id%>
|
||||
<% if @dmsf_file_id %>
|
||||
<% file = DmsfFile.find_by_id @dmsf_file_id%>
|
||||
<% title = file.title if file %>
|
||||
<% end %>
|
||||
|
||||
@ -36,11 +32,11 @@
|
||||
<%= error_messages_for @dmsf_link %>
|
||||
<%= f.hidden_field :project_id, :value => @dmsf_link.project_id %>
|
||||
<%= f.hidden_field :dmsf_folder_id, :value => @dmsf_link.dmsf_folder_id if @dmsf_link.dmsf_folder_id %>
|
||||
<%= f.hidden_field :type, :value => type %>
|
||||
<%= f.hidden_field :dmsf_file_id, :value => dmsf_file_id %>
|
||||
<%= f.hidden_field :type, :value => @type %>
|
||||
<%= f.hidden_field :dmsf_file_id, :value => @dmsf_file_id %>
|
||||
<div class="box dmsf_detail">
|
||||
<p>
|
||||
<% if type == 'link_from' %>
|
||||
<% if @type == 'link_from' %>
|
||||
<%= label_tag('dmsf_link[target_project_id]', l(:label_source_project), :class => 'required') %>
|
||||
<% else %>
|
||||
<%= label_tag('dmsf_link[target_project_id]', l(:label_target_project), :class => 'required') %>
|
||||
@ -50,25 +46,25 @@
|
||||
:selected => @dmsf_link.target_project)) %>
|
||||
</p>
|
||||
<p>
|
||||
<% if type == 'link_from' %>
|
||||
<% if @type == 'link_from' %>
|
||||
<%= label_tag('dmsf_link[target_folder_id]', l(:label_source_folder)) %>
|
||||
<% else %>
|
||||
<%= label_tag('dmsf_link[target_folder_id]', l(:label_target_folder)) %>
|
||||
<% end %>
|
||||
<%= select_tag('dmsf_link[target_folder_id]',
|
||||
folder_tree_options_for_select(DmsfFolder.directory_tree(@dmsf_link.target_project),
|
||||
:selected => target_folder_id)) %>
|
||||
:selected => @target_folder_id)) %>
|
||||
</p>
|
||||
<% if type == 'link_from' %>
|
||||
<% if @type == 'link_from' %>
|
||||
<p>
|
||||
<% if target_folder_id %>
|
||||
<% folder = DmsfFolder.find_by_id target_folder_id %>
|
||||
<% if @target_folder_id %>
|
||||
<% folder = DmsfFolder.find_by_id @target_folder_id %>
|
||||
<% files = folder.files.visible if folder %>
|
||||
<% else %>
|
||||
<% files = @dmsf_link.target_project.dmsf_files.visible if @dmsf_link.target_project %>
|
||||
<% end %>
|
||||
<%= f.select(:target_file_id,
|
||||
options_for_select(DmsfFolder.file_list(files), params[:dmsf_link].present? ? params[:dmsf_link][:target_file_id] : nil)) %>
|
||||
options_for_select(DmsfFolder.file_list(files), @target_file_id)) %>
|
||||
</p>
|
||||
<% end %>
|
||||
<p>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user