Browse Source

correctly update duplicate set IDs when answer is changed through normal form flow

pull/2141/head
Kat 2 years ago
parent
commit
83330abad8
  1. 7
      app/controllers/form_controller.rb

7
app/controllers/form_controller.rb

@ -175,10 +175,9 @@ private
if dynamic_duplicates.any? if dynamic_duplicates.any?
saved_duplicates = @log.duplicates saved_duplicates = @log.duplicates
if saved_duplicates.none? || duplicates_changed?(dynamic_duplicates, saved_duplicates) if saved_duplicates.none? || duplicates_changed?(dynamic_duplicates, saved_duplicates)
@log.update!(duplicate_set_id: new_duplicate_set_id(@log)) if @log.duplicate_set_id.blank? duplicate_set_id = dynamic_duplicates.first.duplicate_set_id || new_duplicate_set_id(@log)
dynamic_duplicates.each do |duplicate| update_logs_with_duplicate_set_id(@log, dynamic_duplicates, duplicate_set_id)
duplicate.update!(duplicate_set_id: @log.duplicate_set_id) if duplicate.duplicate_set_id != @log.duplicate_set_id saved_duplicates.first.update!(duplicate_set_id: nil) if saved_duplicates.count == 1
end
end end
return send("#{@log.class.name.underscore}_duplicate_logs_path", @log, original_log_id: @log.id) return send("#{@log.class.name.underscore}_duplicate_logs_path", @log, original_log_id: @log.id)
end end

Loading…
Cancel
Save