Compare commits

..

No commits in common. "ac824fb5edf2c765e2c0e3311f79b763bd0a3362" and "55d504d0d94319e414021e213089a6bdd0fbe82f" have entirely different histories.

1 changed files with 9 additions and 22 deletions

View File

@ -157,7 +157,7 @@ class SeminarMain
self.unassigned_seminar_signup_ids = []
self.unassigned_mode_1_seminar_signup_ids = []
if self.copy_id.present?
self.clone_new(true)
clone_new(true)
self.created_at = DateTime.now
self.updated_at = DateTime.now
end
@ -475,14 +475,7 @@ class SeminarMain
nil
end
if !clone_target.nil? && !new_object.nil?
if clone_mode
initialize_fields = []
if new_object.fields.keys.include?("uid")
new_object.generate_uid
end
else
initialize_fields = ["uid","created_at","updated_at"]
end
initialize_fields.each do |f|
new_object.send("#{f}=",nil) if new_object.fields.keys.include?(f)
end
@ -491,8 +484,9 @@ class SeminarMain
all_fields = all_fields - relations_fields.map{|k| "#{k}_id"}
all_fields = all_fields - relations_fields.map{|k| "#{k.singularize}_ids"}
new_object_class_name = new_object.class.to_s.underscore
unless @parent_level
relations_fields = clone_target.relations.except("impressions").keys
unsort_relation_keys = clone_target.relations.keys
unless @parent_level
fields_to_delete = [new_object_class_name]
tmp_relations_fields = [new_object_class_name]
while relations_fields.count > 0
@ -535,16 +529,10 @@ class SeminarMain
tmp_relations_fields << approve_append if approve_append.present?
approve_append = nil
relations_fields = relations_fields - tmp_relations_fields
relations_fields -= @relations_fields if @relations_fields
end
relations_fields = tmp_relations_fields
fields_to_delete.each{|f| relations_fields.delete(f)}
end
if @parent_level
relations_fields -= @relations_fields
else
@clone_mode = clone_mode
@relations_fields = relations_fields
end
@parent_level = true
if clone_mode
@ -588,7 +576,7 @@ class SeminarMain
next if self.except_clone_relations.to_s.include?(f)
need_clone_relation = clone_target.send(f)
clone_relation = new_object.send(f)
clone_relation, need_clone_relation = clone_new_for_object(need_clone_relation.dup, need_clone_relation, true) if clone_relation.nil?
clone_relation = need_clone_relation.dup if clone_relation.nil?
initialize_fields.each do |f|
clone_relation.send("#{f}=",nil) if clone_relation.fields.keys.include?(f)
end
@ -642,12 +630,11 @@ class SeminarMain
end
if !no_dup_flag || (no_dup_flag && file_flag)
new_object_relations = new_object.send(f).to_a
new_object_relations_count = new_object_relations.count
if new_object_relations_count != 0
if clone_relations.count > new_object_relations_count
clone_relations = clone_relations[0...new_object_relations_count]
if new_object_relations.count != 0
if clone_relations.count > new_object_relations.count
clone_relations = clone_relations[0...new_object_relations.count]
else
clone_relations = clone_relations.concat(new_object.send(f)[clone_relations.count...new_object_relations_count])
clone_relations = clone_relations.concat(new_object.send(f)[clone_relations.count...new_object_relations.count])
end
new_object.send("#{f}=",clone_relations)
else