defmodule ToweropsWeb.MaintenanceLive.Show do @moduledoc false use ToweropsWeb, :live_view alias Towerops.Maintenance alias ToweropsWeb.MaintenanceLive.Helpers @impl true def mount(%{"id" => id}, _session, socket) do window = Maintenance.get_window!(id) timezone = socket.assigns.current_scope.timezone {:ok, socket |> assign(:page_title, window.name) |> assign(:window, window) |> assign(:timezone, timezone)} end @impl true def handle_event("delete", _params, socket) do case Maintenance.delete_window(socket.assigns.window) do {:ok, _} -> {:noreply, socket |> put_flash(:info, t("Maintenance window deleted")) |> push_navigate(to: ~p"/maintenance")} {:error, _} -> {:noreply, put_flash(socket, :error, t("Unable to delete maintenance window"))} end end defdelegate status_for(window), to: Helpers defdelegate scope_label(window), to: Helpers defdelegate format_datetime(dt, timezone), to: Helpers defdelegate status_label(status), to: Helpers end