From b06451f4c52098abcada09e9258e0fc3ef86a1a6 Mon Sep 17 00:00:00 2001
From: Arnaud Levy <contact@arnaudlevy.com>
Date: Thu, 7 Sep 2023 10:10:58 +0200
Subject: [PATCH] refact

---
 app/models/ability.rb                 | 14 +-------------
 app/models/ability/program_manager.rb |  6 ++++++
 app/models/ability/website_manager.rb | 10 ++++++++++
 3 files changed, 17 insertions(+), 13 deletions(-)

diff --git a/app/models/ability.rb b/app/models/ability.rb
index 9c9ed4000..767356766 100644
--- a/app/models/ability.rb
+++ b/app/models/ability.rb
@@ -8,7 +8,7 @@ class Ability
   end
 
   def initialize(user)
-    @user = user ||= User.new # guest user (not logged in)
+    @user = user ||=@ User.new # guest user (not logged in)
   end
 
   protected
@@ -16,16 +16,4 @@ class Ability
   def managed_websites_ids
     @managed_websites_ids ||= @user.websites_to_manage.pluck(:communication_website_id)
   end
-
-  def managed_pages_ids
-    @managed_pages_ids ||= Communication::Website::Page.where(communication_website_id: managed_websites_ids).pluck(:id)
-  end
-
-  def managed_posts_ids
-    @managed_posts_ids ||= Communication::Website::Post.where(communication_website_id: managed_websites_ids).pluck(:id)
-  end
-
-  def managed_programs_ids
-    @managed_programs_ids ||= user.programs_to_manage.pluck(:education_program_id)
-  end
 end
diff --git a/app/models/ability/program_manager.rb b/app/models/ability/program_manager.rb
index 5d3413f6c..3fbb4bdaa 100644
--- a/app/models/ability/program_manager.rb
+++ b/app/models/ability/program_manager.rb
@@ -19,4 +19,10 @@ class Ability::ProgramManager < Ability
     can :manage, University::Person::Involvement, target_type: "Education::Program", target_id: managed_programs_ids
     can :manage, University::Role, target_type: "Education::Program", target_id: managed_programs_ids
   end
+
+  protected
+
+  def managed_programs_ids
+    @managed_programs_ids ||= @user.programs_to_manage.pluck(:education_program_id)
+  end
 end
\ No newline at end of file
diff --git a/app/models/ability/website_manager.rb b/app/models/ability/website_manager.rb
index b36713d94..ccacaf0c2 100644
--- a/app/models/ability/website_manager.rb
+++ b/app/models/ability/website_manager.rb
@@ -25,4 +25,14 @@ class Ability::WebsiteManager < Ability
     can :manage, University::Person::Experience, university_id: @user.university_id
     can :manage, University::Person::Involvement, university_id: @user.university_id
   end
+
+  protected
+
+  def managed_pages_ids
+    @managed_pages_ids ||= Communication::Website::Page.where(communication_website_id: managed_websites_ids).pluck(:id)
+  end
+
+  def managed_posts_ids
+    @managed_posts_ids ||= Communication::Website::Post.where(communication_website_id: managed_websites_ids).pluck(:id)
+  end
 end
\ No newline at end of file
-- 
GitLab