{% extends "fitcheck/base.html" %} {% load i18n %} {% block fitcheck_content %}
{% translate "Diagnostics & health" %}
{% translate "Back to settings" %}

{% translate "Read-only. Nothing here changes data or calls ESI." %}

{# --- deploy-check warnings --- #} {% if health.deploy_warnings %} {% for w in health.deploy_warnings %}
{{ w.id }} — {{ w.msg }} {% if w.hint %}
{{ w.hint }}
{% endif %}
{% endfor %} {% else %}
{% translate "All deploy checks pass." %}
{% endif %}
{% translate "Versions" %}
{% translate "Fit Check" %}{{ health.fitcheck_version }}
{% translate "corptools" %} {% if health.corptools_installed %} {% translate "installed" %} {{ health.corptools_version|default:"?" }} {% else %} {% translate "not installed" %} {% endif %}
{% translate "Asset source" %}{{ health.asset_source }}
{% translate "Static data (SDE)" %}
{% if health.sde_latest %} {% endif %}
{% translate "Ships loaded" %} {% if health.sde_loaded %}{% translate "yes" %}{% else %}{% translate "no" %}{% endif %}
{% translate "Build" %}{{ health.sde_latest.sde_build }}
{% translate "Loaded" %}{{ health.sde_latest.loaded_at|date:"Y-m-d H:i" }}
{% translate "Types total" %}{{ health.sde_type_total }}
{% translate "Ships / modules / charges" %} {{ health.sde_category_counts.ship }} / {{ health.sde_category_counts.module }} / {{ health.sde_category_counts.charge }}
{% translate "Structure name cache" %}
{% translate "Resolved" %}{{ health.structure_resolved }}
{% translate "Pending" %}{{ health.structure_pending }}
{% translate "Inaccessible" %}{{ health.structure_inaccessible }}
{% translate "Last attempt" %}{{ health.structure_last_attempt|date:"Y-m-d H:i"|default:"—" }}
{% translate "TTL (hours)" %}{{ health.structure_cache_ttl_hours }}
{% translate "Enforcement modes" %}
{% translate "Implants" %}{{ health.enforcement.get_implant_mode_display }}
{% translate "Fuel" %}{{ health.enforcement.get_fuel_mode_display }}
{% translate "Boosters" %}{{ health.enforcement.get_booster_mode_display }}
{% translate "Frigate Escape Bay" %}{{ health.enforcement.get_feb_mode_display }}
{% translate "Content & queue" %}
{% translate "Active doctrines" %}{{ health.active_doctrines }}
{% translate "Active fits" %}{{ health.active_fits }}
{% translate "Pending submissions" %}{{ health.pending_submissions }}
{% translate "Stale pending" %}{{ health.stale_pending|default:"—" }}
{# --- inventory doctor --- #}
{% translate "Inventory doctor" %}

{% translate "Why does a character's ships show (or not) in My Ships? Reads the local DB + corptools cache only - no ESI." %}

{% if doctor_not_found %}
{% blocktranslate %}No character matches "{{ doctor_ident }}".{% endblocktranslate %}
{% elif doctor %}
{{ doctor_character.character_name }} ({{ doctor_character.character_id }})
{% translate "Verdict" %}: {{ doctor.verdict }}
{% if doctor.corptools.installed %} {% endif %}
{% translate "SDE ship types (whitelist)" %}{{ doctor.sde_ship_types }}
{% translate "Asset source" %}{{ doctor.asset_source }}
corptools installed{{ doctor.corptools.installed }}{% if doctor.corptools.version %} (v{{ doctor.corptools.version }}){% endif %}
CharacterAudit found{{ doctor.corptools.audit_found }}
assets_synced_at{{ doctor.corptools.assets_synced_at|default:"—" }}
{% translate "assembled (singleton) ship rows" %}{{ doctor.corptools.ship_rows_all|default_if_none:"None (not servable)" }}
{% translate "…of those, type in SDE set" %}{{ doctor.corptools.ship_rows_in_sde|default_if_none:"—" }}
{% translate "ship rows (SDE-filtered)" %}{{ doctor.corptools.ship_rows_sde_filtered|default_if_none:"—" }}
{% translate "sample type_ids" %}{{ doctor.corptools.sample_type_ids }}
{% translate "valid asset-scope token" %}{{ doctor.token_present }}
{% translate "Live ESI is intentionally not run from this page. Use the CLI 'fitcheck_inventory_doctor --esi' for a live comparison." %}
{% endif %}
{% endblock %}