Skip to content

Commit

Permalink
fix: remove date filter when fetching campaign_ids
Browse files Browse the repository at this point in the history
Based on a bug reported here #369
  • Loading branch information
teesloane committed Jun 19, 2024
1 parent 8e2de46 commit 8cdc9b8
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 24 deletions.
44 changes: 21 additions & 23 deletions lib/bike_brigade/delivery.ex
Original file line number Diff line number Diff line change
Expand Up @@ -214,34 +214,32 @@ defmodule BikeBrigade.Delivery do
end

filter =
case Keyword.fetch(opts, :start_date) do
{:ok, date} ->
date_time = LocalizedDateTime.new!(date, ~T[00:00:00])
dynamic([campaign: c], ^filter and c.delivery_start >= ^date_time)

_ ->
filter
end

filter =
case Keyword.fetch(opts, :end_date) do
{:ok, date} ->
date_time = LocalizedDateTime.new!(date, ~T[23:59:59])
dynamic([campaign: c], ^filter and c.delivery_start <= ^date_time)

_ ->
filter
end

# sometimes we just want to fetch campaigns with specific ids
# (such as when we need to display campaigns that urgently need a rider)
filter =
# First we check if we are fetching with campaign_ids
# If so, we can ignore start_date and end_date to avoid
# cutting off results by the current_week boundary.
case Keyword.fetch(opts, :campaign_ids) do
{:ok, campaign_ids} when not is_nil(campaign_ids) ->
dynamic([campaign: c], ^filter and c.id in ^campaign_ids)

_ ->
filter
filter =
case Keyword.fetch(opts, :start_date) do
{:ok, date} ->
date_time = LocalizedDateTime.new!(date, ~T[00:00:00])
dynamic([campaign: c], ^filter and c.delivery_start >= ^date_time)

_ ->
filter
end

case Keyword.fetch(opts, :end_date) do
{:ok, date} ->
date_time = LocalizedDateTime.new!(date, ~T[23:59:59])
dynamic([campaign: c], ^filter and c.delivery_start <= ^date_time)

_ ->
filter
end
end

filter
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@
</nav>

<%= if @campaigns != [] do %>
<div :if={@showing_urgent_campaigns} class="bg-red-300 p-2 rounded bg-opacity-40">
<div :if={@showing_urgent_campaigns} class="bg-red-300 p-2 lg:mb-4 rounded bg-opacity-40">
These deliveries need riders in the next 48 hours:
</div>

Expand Down

0 comments on commit 8cdc9b8

Please sign in to comment.