forked from spen/seminar
Fix bug.
This commit is contained in:
parent
3a59df9efb
commit
0d46188002
|
@ -494,16 +494,17 @@ class SeminarMain
|
|||
approve_append = nil
|
||||
relations_fields.each do |k|
|
||||
belongs_to_class = clone_target.relations[k].class_name.constantize.relations.select{|k,v| v.macro == :belongs_to}.keys
|
||||
has_many_class = clone_target.relations[k].class_name.constantize.relations.select{|k,v| v.macro == :has_many}.keys
|
||||
has_many_class = clone_target.relations[k].class_name.constantize.relations.select{|k,v| v.macro.to_s.start_with?('has') }.keys
|
||||
if (belongs_to_class - tmp_singularize_relations_fields).count == 0
|
||||
other_has_many_class = (has_many_class - unsort_relation_keys)
|
||||
if other_has_many_class.count == 0
|
||||
tmp_relations_fields << k
|
||||
else
|
||||
org_k = k.to_s
|
||||
result = other_has_many_class.map do |k|
|
||||
belongs_to_class = k.classify.constantize.relations.select{|kk,v| v.macro == :belongs_to}.keys
|
||||
has_many_class = k.classify.constantize.relations.select{|kk,v| v.macro == :has_many}.keys
|
||||
if (belongs_to_class - tmp_singularize_relations_fields).count == 0
|
||||
has_many_class = k.classify.constantize.relations.select{|kk,v| v.macro.to_s.start_with?('has') }.keys
|
||||
if (belongs_to_class - tmp_singularize_relations_fields - [org_k]).count == 0
|
||||
true
|
||||
else
|
||||
fields_to_delete = fields_to_delete.concat(belongs_to_class)
|
||||
|
@ -546,7 +547,7 @@ class SeminarMain
|
|||
no_dup_flag = false
|
||||
if clone_target.relations[f].macro == :belongs_to || clone_target.relations[f].macro == :has_one
|
||||
no_dup_flag = new_object.send(f).present?
|
||||
elsif clone_target.relations[f].macro == :has_many
|
||||
elsif clone_target.relations[f].macro == :has_many || clone_target.relations[f].macro == :has_and_belongs_to_many
|
||||
no_dup_flag = new_object.send(f).to_a.count != 0
|
||||
elsif clone_target.relations[f].macro == :embeds_many #Fix localize fields
|
||||
if new_object.send(f).to_a.count != 0
|
||||
|
@ -597,7 +598,7 @@ class SeminarMain
|
|||
end
|
||||
end
|
||||
new_object.send("#{f}=",clone_relation)
|
||||
elsif clone_target.relations[f].macro == :has_many
|
||||
elsif clone_target.relations[f].macro == :has_many || clone_target.relations[f].macro == :has_and_belongs_to_many
|
||||
next if self.except_clone_relations.to_s.include?(f)
|
||||
clone_relations = []
|
||||
need_clone_relations = clone_target.send(f).asc(:_id).to_a
|
||||
|
|
|
@ -337,8 +337,8 @@
|
|||
<%= t('seminar.disable') %>
|
||||
</td>
|
||||
<td>
|
||||
<input type="hidden" class="field_set" name='<%= "seminar_main[seminar_email_sets][#{index1}][disabled]" %>' value="false">
|
||||
<%= check_box_tag("seminar_main[seminar_email_sets][#{index1}][disabled]", true ,@email_set[index1].disabled) %>
|
||||
<input type="hidden" class="field_set" name='<%= "seminar_main[seminar_email_sets_attributes][#{index1}][disabled]" %>' value="false">
|
||||
<%= check_box_tag("seminar_main[seminar_email_sets_attributes][#{index1}][disabled]", true ,@email_set[index1].disabled) %>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
@ -346,7 +346,7 @@
|
|||
<%= t('seminar.email_title') %>
|
||||
</td>
|
||||
<td>
|
||||
<%= show_set_field(@email_set[index1],'seminar_email_sets',index1,'title','text_field') %>
|
||||
<%= show_set_field(@email_set[index1],'seminar_email_sets_attributes',index1,'title','text_field') %>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
@ -355,7 +355,7 @@
|
|||
</td>
|
||||
<td>
|
||||
<div class="form-group">
|
||||
<%= show_set_field(@email_set[index1],'seminar_email_sets',index1,'content','text_area') %>
|
||||
<%= show_set_field(@email_set[index1],'seminar_email_sets_attributes',index1,'content','text_area') %>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
|
Loading…
Reference in New Issue