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