22 lines
591 B
Ruby
22 lines
591 B
Ruby
# frozen_string_literal: true
|
|
|
|
module Maintenance
|
|
class T20241216removeNonUniqueChampsTask < MaintenanceTasks::Task
|
|
# Documentation: cette tâche supprime les champs en double dans un dossier
|
|
|
|
include RunnableOnDeployConcern
|
|
include StatementsHelpersConcern
|
|
|
|
def collection
|
|
Dossier.state_not_brouillon.includes(champs: true)
|
|
end
|
|
|
|
def process(dossier)
|
|
dossier.champs.filter { _1.row_id.nil? }.group_by(&:public_id).each do |_, champs|
|
|
if champs.size > 1
|
|
champs.sort_by(&:id)[1..].each(&:destroy)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|