diff --git a/lib/towerops_web/live/schedule_live/index.ex b/lib/towerops_web/live/schedule_live/index.ex index 3cac9942..87c952fe 100644 --- a/lib/towerops_web/live/schedule_live/index.ex +++ b/lib/towerops_web/live/schedule_live/index.ex @@ -39,10 +39,20 @@ defmodule ToweropsWeb.ScheduleLive.Index do schedules_with_on_call = Enum.map(schedules, fn schedule -> on_call = OnCall.who_is_on_call(schedule.id) - Map.put(schedule, :current_on_call, on_call) + + schedule + |> Map.put(:current_on_call, on_call) + |> Map.put(:current_on_call_name, display_name(on_call)) end) assign(socket, :schedules, schedules_with_on_call) end end + + defp display_name(%{first_name: first, last_name: last}) when first != nil and last != nil do + "#{first} #{last}" + end + + defp display_name(%{email: email}), do: email + defp display_name(nil), do: nil end diff --git a/lib/towerops_web/live/schedule_live/index.html.heex b/lib/towerops_web/live/schedule_live/index.html.heex index 2afa6b2f..5aefa306 100644 --- a/lib/towerops_web/live/schedule_live/index.html.heex +++ b/lib/towerops_web/live/schedule_live/index.html.heex @@ -152,7 +152,7 @@ <%= if schedule.current_on_call do %> - {schedule.current_on_call.email} + {schedule.current_on_call_name} <% else %> {t("No one")} diff --git a/test/towerops_web/live/schedule_live_test.exs b/test/towerops_web/live/schedule_live_test.exs index e7536c8a..e428e82c 100644 --- a/test/towerops_web/live/schedule_live_test.exs +++ b/test/towerops_web/live/schedule_live_test.exs @@ -245,11 +245,8 @@ defmodule ToweropsWeb.ScheduleLiveTest do {:ok, view, _html} = live(conn, ~p"/schedules/#{schedule.id}") view - |> form("form[phx-submit='add_member']", %{ - layer_id: layer.id, - user_id: user.id - }) - |> render_submit() + |> element("select[phx-change='add_member'][phx-value-layer_id='#{layer.id}']") + |> render_change(%{"user_id" => user.id, "layer_id" => layer.id}) html = render(view)