From e84f80b543bd03f4d449d4194f1e27738f1c45b3 Mon Sep 17 00:00:00 2001
From: Arnaud Levy <contact@arnaudlevy.com>
Date: Fri, 15 Apr 2022 20:51:39 +0200
Subject: [PATCH] year

---
 app/models/education/academic_year.rb            | 10 ++++++++++
 app/views/extranet/academic_years/_list.html.erb | 12 ++++++++----
 2 files changed, 18 insertions(+), 4 deletions(-)

diff --git a/app/models/education/academic_year.rb b/app/models/education/academic_year.rb
index ff203144a..2921bc3be 100644
--- a/app/models/education/academic_year.rb
+++ b/app/models/education/academic_year.rb
@@ -27,6 +27,16 @@ class Education::AcademicYear < ApplicationRecord
 
   scope :ordered, -> { order(year: :desc) }
 
+  def cohorts_in_context(context)
+    return cohorts if context.nil? || !context.respond_to?(:cohorts)
+    cohorts & context.cohorts
+  end
+
+  def alumni_in_context(context)
+    return alumni if context.nil? || !context.respond_to?(:alumni)
+    people & context.alumni
+  end
+
   def to_s
     "#{year}"
   end
diff --git a/app/views/extranet/academic_years/_list.html.erb b/app/views/extranet/academic_years/_list.html.erb
index 54b14810d..914824d30 100644
--- a/app/views/extranet/academic_years/_list.html.erb
+++ b/app/views/extranet/academic_years/_list.html.erb
@@ -1,6 +1,10 @@
 <% academic_years_paged = academic_years.ordered.page(params[:page]).per(60) %>
 <div class="row">
   <% academic_years_paged.each do |year| %>
+    <%
+    cohorts = year.cohorts_in_context(current_context.about)
+    alumni = year.alumni_in_context(current_context.about)
+    %>
     <div class="col-md-3">
       <article class="card mb-4">
         <div class="card-body">
@@ -8,11 +12,11 @@
             <%= link_to year, year, class: 'stretched-link' %>
           </h2>
           <p class="text-end mb-0">
-            <%= year.cohorts.count %>
-            <%= Education::Cohort.model_name.human(count: year.cohorts.count).downcase %>
+            <%= cohorts.count %>
+            <%= Education::Cohort.model_name.human(count: cohorts.count).downcase %>
             <br>
-            <%= year.people.count %>
-            <%= University::Person::Alumnus.model_name.human(count: year.people.count).downcase %>
+            <%= alumni.count %>
+            <%= University::Person::Alumnus.model_name.human(count: alumni.count).downcase %>
           </p>
         </div>
       </article>
-- 
GitLab