Merge commit '36fa608cc1a8096147b7b21bd597769facc7a202' into webdav
This commit is contained in:
commit
1e3e644da0
@ -90,9 +90,9 @@ class DmsfFile < ActiveRecord::Base
|
||||
return false
|
||||
end
|
||||
if Setting.plugin_redmine_dmsf["dmsf_really_delete_files"]
|
||||
CustomValue.find(:all, :conditions => "customized_id = " + self.id.to_s).each do |v|
|
||||
v.destroy
|
||||
end
|
||||
CustomValue.find(:all, :conditions => "customized_id = " + self.id.to_s).each do |v|
|
||||
v.destroy
|
||||
end
|
||||
self.revisions.each {|r| r.delete(true)}
|
||||
self.destroy
|
||||
else
|
||||
@ -189,21 +189,21 @@ class DmsfFile < ActiveRecord::Base
|
||||
end
|
||||
projects
|
||||
end
|
||||
|
||||
# Overrides Redmine::Acts::Customizable::InstanceMethods#available_custom_fields
|
||||
def available_custom_fields
|
||||
search_project = nil
|
||||
if self.project.present?
|
||||
search_project = self.project
|
||||
elsif self.project_id.present?
|
||||
search_project = Project.find(self.project_id)
|
||||
end
|
||||
if search_project
|
||||
search_project.all_dmsf_custom_fields
|
||||
else
|
||||
DmsfFileRevisionCustomField.all
|
||||
end
|
||||
end
|
||||
|
||||
# Overrides Redmine::Acts::Customizable::InstanceMethods#available_custom_fields
|
||||
def available_custom_fields
|
||||
search_project = nil
|
||||
if self.project.present?
|
||||
search_project = self.project
|
||||
elsif self.project_id.present?
|
||||
search_project = Project.find(self.project_id)
|
||||
end
|
||||
if search_project
|
||||
search_project.all_dmsf_custom_fields
|
||||
else
|
||||
DmsfFileRevisionCustomField.all
|
||||
end
|
||||
end
|
||||
|
||||
def move_to(project, folder)
|
||||
if self.locked_for_user?
|
||||
@ -215,19 +215,19 @@ class DmsfFile < ActiveRecord::Base
|
||||
|
||||
new_revision.folder = folder ? folder : nil
|
||||
new_revision.project = folder ? folder.project : project
|
||||
new_revision.comment = l(:comment_moved_from, :source => "#{self.project.identifier}:#{self.dmsf_path_str}")
|
||||
new_revision.comment = l(:comment_moved_from, :source => "#{self.project.identifier}:#{self.dmsf_path_str}")
|
||||
|
||||
new_revision.custom_values = []
|
||||
temp_custom_values = self.last_revision.custom_values.select{|cv| new_revision.project.all_dmsf_custom_fields.include?(cv.custom_field)}.map(&:clone)
|
||||
new_revision.custom_values = temp_custom_values
|
||||
|
||||
#add default value for CFs not existing
|
||||
present_custom_fields = new_revision.custom_values.collect(&:custom_field).uniq
|
||||
Project.find(new_revision.project_id).all_dmsf_custom_fields.each do |cf|
|
||||
unless present_custom_fields.include?(cf)
|
||||
new_revision.custom_values << CustomValue.new({:custom_field => cf, :value => cf.default_value})
|
||||
end
|
||||
end
|
||||
new_revision.custom_values = []
|
||||
temp_custom_values = self.last_revision.custom_values.select{|cv| new_revision.project.all_dmsf_custom_fields.include?(cv.custom_field)}.map(&:clone)
|
||||
new_revision.custom_values = temp_custom_values
|
||||
|
||||
#add default value for CFs not existing
|
||||
present_custom_fields = new_revision.custom_values.collect(&:custom_field).uniq
|
||||
Project.find(new_revision.project_id).all_dmsf_custom_fields.each do |cf|
|
||||
unless present_custom_fields.include?(cf)
|
||||
new_revision.custom_values << CustomValue.new({:custom_field => cf, :value => cf.default_value})
|
||||
end
|
||||
end
|
||||
|
||||
self.folder = new_revision.folder
|
||||
self.project = new_revision.project
|
||||
@ -242,29 +242,29 @@ class DmsfFile < ActiveRecord::Base
|
||||
file.name = self.name
|
||||
file.notification = !Setting.plugin_redmine_dmsf["dmsf_default_notifications"].blank?
|
||||
|
||||
if file.save
|
||||
new_revision = self.last_revision.clone
|
||||
|
||||
new_revision.file = file
|
||||
new_revision.folder = folder ? folder : nil
|
||||
new_revision.project = folder ? folder.project : project
|
||||
new_revision.comment = l(:comment_copied_from, :source => "#{self.project.identifier}: #{self.dmsf_path_str}")
|
||||
|
||||
new_revision.custom_values = []
|
||||
temp_custom_values = self.last_revision.custom_values.select{|cv| new_revision.project.all_dmsf_custom_fields.include?(cv.custom_field)}.map(&:clone)
|
||||
new_revision.custom_values = temp_custom_values
|
||||
|
||||
#add default value for CFs not existing
|
||||
present_custom_fields = new_revision.custom_values.collect(&:custom_field).uniq
|
||||
new_revision.project.all_dmsf_custom_fields.each do |cf|
|
||||
unless present_custom_fields.include?(cf)
|
||||
new_revision.custom_values << CustomValue.new({:custom_field => cf, :value => cf.default_value})
|
||||
end
|
||||
end
|
||||
|
||||
unless new_revision.save
|
||||
file.delete
|
||||
end
|
||||
if file.save
|
||||
new_revision = self.last_revision.clone
|
||||
|
||||
new_revision.file = file
|
||||
new_revision.folder = folder ? folder : nil
|
||||
new_revision.project = folder ? folder.project : project
|
||||
new_revision.comment = l(:comment_copied_from, :source => "#{self.project.identifier}: #{self.dmsf_path_str}")
|
||||
|
||||
new_revision.custom_values = []
|
||||
temp_custom_values = self.last_revision.custom_values.select{|cv| new_revision.project.all_dmsf_custom_fields.include?(cv.custom_field)}.map(&:clone)
|
||||
new_revision.custom_values = temp_custom_values
|
||||
|
||||
#add default value for CFs not existing
|
||||
present_custom_fields = new_revision.custom_values.collect(&:custom_field).uniq
|
||||
new_revision.project.all_dmsf_custom_fields.each do |cf|
|
||||
unless present_custom_fields.include?(cf)
|
||||
new_revision.custom_values << CustomValue.new({:custom_field => cf, :value => cf.default_value})
|
||||
end
|
||||
end
|
||||
|
||||
unless new_revision.save
|
||||
file.delete
|
||||
end
|
||||
end
|
||||
|
||||
return file
|
||||
@ -350,8 +350,7 @@ class DmsfFile < ActiveRecord::Base
|
||||
next if dmsf_attrs[1].blank?
|
||||
next unless results.select{|f| f.id.to_s == dmsf_attrs[1]}.empty?
|
||||
|
||||
find_conditions = DmsfFile.merge_conditions(limit_options[:conditions], :id => dmsf_attrs[1], :deleted => false )
|
||||
dmsf_file = DmsfFile.find(:first, :conditions => find_conditions )
|
||||
dmsf_file = DmsfFile.where(limit_options[:conditions]).where(:id => dmsf_attrs[1], :deleted => false).first
|
||||
|
||||
if !dmsf_file.nil?
|
||||
if options[:offset]
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user