{% extends "holdfast/den/base.html" %} {% load i18n %} {% load humanize %} {% block holdfast_content %} {% if sov_impacted %}
{% translate "Costing us sovereignty upgrades" %}
{% blocktranslate %}A siphon only really matters once it knocks something out. In these systems a den is taking workforce and a sovereignty upgrade is unpowered at the same time.{% endblocktranslate %}
{% for row in sov_impacted %} {% with estimate=row.skyhook.siphon_estimate %} {% endwith %} {% endfor %}
{% translate "Planet" %} {% translate "System" %} {% translate "Workforce taken" %} {% translate "Upgrades down" %}
{{ row.skyhook.planet_name }} {{ row.skyhook.system_name }} −{{ estimate.1|intcomma }} ({{ estimate.0|floatformat:0 }}%)
{{ estimate.2 }}
{% for upgrade in row.upgrades %} {{ upgrade.type_name }} {% endfor %}
{% endif %} {% if pending_claims %}
{% translate "Claims awaiting a decision" %}
{% for claim in pending_claims %} {% endfor %}
{% translate "Planet" %} {% translate "Applicant" %} {% translate "Character" %} {% translate "Requested" %}
{{ claim.slot.planet_name }} {{ claim.user.username }} {{ claim.character.character_name }} {{ claim.created_at|date:"Y-m-d H:i" }} UTC {% if can_manage %}
{% csrf_token %}
{% csrf_token %}
{% else %} {% translate "a den manager decides" %} {% endif %}

{% translate "Approving one applicant automatically rejects everyone else queued on that site." %}

{% endif %}
{% translate "Every site, with holders" %}
{% for slot in slots %} {% if can_manage %} {% endif %} {% endfor %}
{% translate "Planet" %} {% translate "System" %} {% translate "Status" %} {% translate "Held by" %} {% translate "Corporation" %} {% translate "Impact" %}
{{ slot.planet_name }} {{ slot.system_name }} {{ slot.status_label }} {% if slot.is_overdue %}
{% translate "approved, nothing anchored" %}
{% endif %} {# Revoking cannot unanchor anything; only the operator can. #} {% if slot.awaiting_removal %}
{% translate "revoked, den still up" %}
{% endif %}
{{ slot.holder_name|default:"—" }} {% if slot.holder_source %}
{{ slot.holder_source }}
{% endif %}
{{ slot.holder_corporation|default:"—" }} {% with estimate=slot.skyhook.siphon_estimate %} {% if estimate.0 %} −{{ estimate.0|floatformat:0 }}% ({{ estimate.1|intcomma }}) {# measured is arithmetic; inferred rests on the peak having been clean #}
{{ estimate.2 }}
{% else %}—{% endif %} {% endwith %}
{% if can_manage %} {% with granted=slot.approved_claim %} {% if granted %} {# Taking the ground back. The operator has to unanchor it themselves. #}
{% csrf_token %}
{% endif %} {% endwith %} {% endif %}
{% csrf_token %} {% if slot.recorded_den %} {% if slot.recorded_hostile %}{% translate "Hostile" %}{% else %}{% translate "Ours" %}{% endif %} — {{ slot.recorded_owner_note|default:_("no owner noted") }} {% if slot.recorded_corporation_note %}({{ slot.recorded_corporation_note }}){% endif %} — {% translate "recorded by" %} {{ slot.recorded_by }} {{ slot.recorded_at|date:"Y-m-d" }} {% else %}
{% endif %}

{% translate "ESI only ever exposes a character's own dens. Anything not run by a registered operator -- hostile or our own -- has to be recorded here by hand, and a hand record is replaced automatically the day its operator registers a token." %}

{% if operators %}
{% translate "Operators, and how to reach them" %}
{% for operator in operators %} {% endfor %}
{% translate "Auth user" %} {% translate "Main" %} {% translate "Characters" %} {% translate "Discord" %} {% translate "Timezone" %} {% translate "Their local time" %} {% translate "Dens" %} {% translate "Note" %}
{{ operator.username }} {{ operator.main|default:"—" }} {{ operator.characters|join:", " }} {{ operator.discord|default:"—" }} {{ operator.timezone|default:"—" }} {% if operator.local_time %}{{ operator.local_time|date:"H:i" }}{% else %}—{% endif %} {{ operator.dens|length }} {{ operator.note|default:"—" }}
{% endif %} {% endblock %}