From 12d915ddb255d346828364f136a4c3443239fad1 Mon Sep 17 00:00:00 2001 From: Teal Bauer <git@teal.is> Date: Mon, 27 May 2024 21:27:29 +0200 Subject: [PATCH] relevant stages changes --- app/controllers/conferences_controller.rb | 2 +- app/jobs/telegram_notify_upcoming_job.rb | 2 +- app/models/session.rb | 12 +++++++----- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/app/controllers/conferences_controller.rb b/app/controllers/conferences_controller.rb index b44d4e0..c254fad 100644 --- a/app/controllers/conferences_controller.rb +++ b/app/controllers/conferences_controller.rb @@ -5,7 +5,7 @@ class ConferencesController < ApplicationController def show @conference = Conference.find_by(slug: params[:slug]) - @sessions = @conference.sessions.where.not(starts_at: nil).includes(:stage, :assignments).where(stage: { name: ["Stage 1", "Stage 2", "Standby"] }).order(:starts_at) + @sessions = @conference.sessions.where.not(starts_at: nil).includes(:stage, :assignments).where(stage: @conference.relevant_stages).order(:starts_at) if params[:date] date = Time.parse(params[:date]) logger.debug(date) diff --git a/app/jobs/telegram_notify_upcoming_job.rb b/app/jobs/telegram_notify_upcoming_job.rb index b2191b0..5869daf 100644 --- a/app/jobs/telegram_notify_upcoming_job.rb +++ b/app/jobs/telegram_notify_upcoming_job.rb @@ -4,7 +4,7 @@ class TelegramNotifyUpcomingJob < ApplicationJob def perform(args) offset = args["offset"] interval = args["interval"] - Session.scheduled.includes(:stage, :assignments).where(stage: { name: ["Stage 1", "Stage 2", "Standby"] }).where(starts_at: (Time.now + offset)..(Time.now + offset + interval)).order(:starts_at).each do |session| + Session.scheduled.includes(:stage, :assignments).where(stage: RelevantStage.joins(:stage).map(&:stage)).where(starts_at: (Time.now + offset)..(Time.now + offset + interval)).order(:starts_at).each do |session| puts session.inspect assignees = session.assignments.map(&:user) if assignees.length.positive? diff --git a/app/models/session.rb b/app/models/session.rb index 43137cd..b45ecce 100644 --- a/app/models/session.rb +++ b/app/models/session.rb @@ -27,18 +27,20 @@ class Session < ApplicationRecord super.in_time_zone(conference.time_zone) end - def is_interpreted - # XXX - ["Stage 1", "Stage 2"].include? stage.name + def is_interpreted? + is_relevant? + end + + def is_relevant? + RelevantStage.exists?(stage:) end def translators_needed? - is_interpreted && assignments.length < 2 + is_interpreted? && assignments.length < 2 end def backup_needed? return false - # is_interpreted && assignments.length < 4 end def assignees? -- GitLab