{t("All Towerops devices have matching Gaiia inventory items.")}
<% else %>| {t("Device")} | {t("IP Address")} | {t("Site")} | {t("Actions")} |
|---|---|---|---|
| <.link navigate={~p"/devices/#{entry.device.id}"} class="text-blue-600 hover:text-blue-700 dark:text-blue-400 dark:hover:text-blue-300" > {entry.device.name} | {entry.device.ip_address} | <%= if entry.device.site do %> {entry.device.site.name} <% end %> |
<%= cond do %>
<% @open_create_for == entry.device.id -> %>
<%= if @selected_manufacturer do %>
<% end %>
<% @open_link_for == entry.device.id -> %>
|
|
<%= for item <- @link_search_results do %>
{item.name}
{item.ip_address || "—"}
|
|||
{t("No data mismatches found between mapped devices.")}
<% else %>| {t("Device")} | {t("Field")} | {t("Towerops")} | {t("Gaiia")} |
|---|---|---|---|
| <.link navigate={~p"/devices/#{mismatch.device.id}"} class="text-blue-600 hover:text-blue-700 dark:text-blue-400 dark:hover:text-blue-300" > {mismatch.device.name} | {mismatch.field} | {mismatch.towerops_value} | {mismatch.gaiia_value} |
{t("All Gaiia inventory items are mapped to Towerops devices.")}
<% else %>| {t("Gaiia Item")} | {t("IP Address")} | {t("Category")} | {t("Status")} |
|---|---|---|---|
| {entry.inventory_item.name} | {entry.inventory_item.ip_address || "—"} | {entry.inventory_item.category || "—"} | {entry.inventory_item.status || "—"} |
{t("No stale mappings — all linked Gaiia items reference existing Towerops devices.")}
<% else %>{t( "These Gaiia inventory items are linked to Towerops devices that no longer exist. Unlink them to restore them to the unmapped pool." )}
| {t("Gaiia Item")} | {t("IP Address")} | {t("Status")} | {t("Actions")} |
|---|---|---|---|
| {entry.inventory_item.name} | {entry.inventory_item.ip_address || "—"} | {entry.inventory_item.status || "—"} |
Last reconciled: {ToweropsWeb.TimeHelpers.format_datetime( @report.reconciled_at, @current_scope.timezone, @current_scope.time_format )}
<%= if @report.summary.total_mapped == 0 && @report.summary.missing_mapping_count == 0 && @report.summary.untracked_count == 0 do %>{t("Sync Gaiia data and map inventory items to see reconciliation results.")}
<.link navigate={~p"/orgs/#{@organization.slug}/settings/integrations/gaiia/mapping"} class="mt-4 inline-flex items-center gap-1 text-sm font-medium text-blue-600 hover:text-blue-700 dark:text-blue-400 dark:hover:text-blue-300" > Go to Entity Mapping <.icon name="hero-arrow-right" class="h-4 w-4" />