defmodule ToweropsWeb.SiteLive.Show do @moduledoc false use ToweropsWeb, :live_view alias Towerops.Equipment alias Towerops.Sites @impl true def mount(_params, _session, socket) do {:ok, socket} end @impl true def handle_params(%{"id" => id}, _, socket) do organization = socket.assigns.current_organization site = Sites.get_organization_site!(organization.id, id) equipment = Equipment.list_site_equipment(site.id) {:noreply, socket |> assign(:page_title, site.name) |> assign(:site, site) |> assign(:equipment, equipment)} end @impl true def handle_event("delete", _params, socket) do case Sites.delete_site(socket.assigns.site) do {:ok, _} -> {:noreply, socket |> put_flash(:info, "Site deleted successfully") |> push_navigate(to: ~p"/orgs/#{socket.assigns.current_organization.slug}/sites")} {:error, _} -> {:noreply, put_flash(socket, :error, "Unable to delete site")} end end end