diff --git a/lib/tasks/routing_engine.rake b/lib/tasks/routing_engine.rake new file mode 100644 index 00000000000..f62f2880538 --- /dev/null +++ b/lib/tasks/routing_engine.rake @@ -0,0 +1,23 @@ +require Rails.root.join("lib", "tasks", "task_helper") + +namespace :routing_engine do + desc <<~EOD + Given an id in argument, run the RoutingEngine for a dossier, after having set `forced_groupe_instructeur` field to false. + ex: rails routing_engine:run\[1352684\] + EOD + task :run, [:dossier_id] => :environment do |_t, args| + dossier = Dossier.find_by(id: args[:dossier_id]) + + if dossier.present? + dossier.update!(forced_groupe_instructeur: false) + + dossier.reload + + RoutingEngine.compute(dossier) + + rake_puts "Dossier #{args[:dossier_id]} routed to groupe instructeur #{dossier.groupe_instructeur.label}" + else + rake_puts "Dossier with id #{args[:dossier_id]} not found in db" + end + end +end