From 19fde4f3314bb9d184d1bdb71a233cb3508ccef3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?S=C3=A9bastien=20Gaya?= <sebastien.gaya@gmail.com>
Date: Wed, 29 Dec 2021 15:41:43 +0100
Subject: [PATCH] reorder programs

---
 .../admin/education/programs_controller.rb           | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/app/controllers/admin/education/programs_controller.rb b/app/controllers/admin/education/programs_controller.rb
index 818067ddf..46e8e91d4 100644
--- a/app/controllers/admin/education/programs_controller.rb
+++ b/app/controllers/admin/education/programs_controller.rb
@@ -11,18 +11,22 @@ class Admin::Education::ProgramsController < Admin::Education::ApplicationContro
   def reorder
     parent_id = params[:parentId].blank? ? nil : params[:parentId]
     ids = params[:ids] || []
+    programs = []
     website_ids = []
     ids.each.with_index do |id, index|
       program = current_university.education_programs.find(id)
+      programs << program
+      website_ids.concat(program.list_of_websites.map(&:id))
+      programs.concat(program.descendents) if parent_id != program.parent_id
       program.update(
         parent_id: parent_id,
         position: index + 1,
-        skip_websites_categories_callback: true
+        skip_github_publication: true
       )
-      website_ids.concat(program.website_ids)
     end
-    current_university.communication_websites.where(id: website_ids.uniq).each do |website|
-      website.set_programs_categories!
+    website_ids.uniq.each do |website_id|
+      github = Github.with_website current_university.communication_websites.find(website_id)
+      github.send_batch_to_website(programs, message: '[Program] Reorder programs.')
     end
   end
 
-- 
GitLab