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