From 766b4526406114dd2bf7e936e8a0bb0b39f7319e Mon Sep 17 00:00:00 2001 From: Thomas Citharel Date: Fri, 18 Dec 2020 16:43:31 +0100 Subject: [PATCH] Filter out cancelled events on homepage Signed-off-by: Thomas Citharel --- lib/mobilizon/events/events.ex | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/lib/mobilizon/events/events.ex b/lib/mobilizon/events/events.ex index ec3a1b53f..305ec501b 100644 --- a/lib/mobilizon/events/events.ex +++ b/lib/mobilizon/events/events.ex @@ -364,6 +364,7 @@ defmodule Mobilizon.Events do |> filter_future_events(is_future) |> filter_public_visibility() |> filter_draft() + |> filter_cancelled_events() |> filter_local_or_from_followed_instances_events() |> Page.build_page(page, limit) end @@ -1655,6 +1656,15 @@ defmodule Mobilizon.Events do from(e in query, where: e.draft == ^is_draft) end + @spec filter_cancelled_events(Ecto.Query.t(), boolean()) :: Ecto.Query.t() + defp filter_cancelled_events(query, hide_cancelled \\ true) + + defp filter_cancelled_events(query, false), do: query + + defp filter_cancelled_events(query, true) do + from(e in query, where: e.status != ^:cancelled) + end + @spec filter_future_events(Ecto.Query.t(), boolean) :: Ecto.Query.t() defp filter_future_events(query, true) do from(q in query,