evorepo/templates/mirrors/mirror_details.html
Dan McGee 36f5e1df9a Allow mirror notes to wrap
Signed-off-by: Dan McGee <dan@archlinux.org>
2013-12-18 21:23:47 -06:00

161 lines
5.9 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{% extends "base.html" %}
{% load cycle from future %}
{% load static from staticfiles %}
{% load mirror_status %}
{% load flags %}
{% load admin_urls %}
{% block title %}Arch Linux - {{ mirror.name }} - Mirror Details{% endblock %}
{% block head %}<link rel="stylesheet" type="text/css" href="{% static "flags/fam.css" %}" media="screen, projection" />{% endblock %}
{% block content %}
<div class="box">
<h2>Mirror Details: {{ mirror.name }}</h2>
{% if perms.mirrors.change_mirror %}
<ul class="admin-actions">
<li><a href="{% url 'admin:mirrors_mirror_change' mirror.pk %}" title="Edit mirror">Edit Mirror</a></li>
</ul>
{% endif %}
<table class="compact">
<tr>
<th>Name:</th>
<td>{{ mirror.name }}</td>
</tr>
<tr>
<th>Tier:</th>
<td>{{ mirror.get_tier_display }}</td>
</tr>
<tr>
<th>Has ISOs:</th>
<td>{{ mirror.isos|yesno|capfirst }}</td>
</tr>
{% if user.is_authenticated %}
<tr>
<th>Public:</th>
<td>{{ mirror.public|yesno|capfirst }}</td>
</tr>
<tr>
<th>Active:</th>
<td>{{ mirror.active|yesno|capfirst }}</td>
</tr>
<tr>
<th>Created:</th>
<td>{{ mirror.created }}</td>
</tr>
<tr>
<th>Rsync IPs:</th>
<td class="wrap">{{mirror.rsync_ips.all|join:', '}}</td>
</tr>
<tr>
<th>Admin Email:</th>
<td>{% if mirror.admin_email %}<a href="mailto:{{ mirror.admin_email }}">{{ mirror.admin_email }}</a>{% else %}None{% endif %}</td>
</tr>
<tr>
<th>Alternate Email:</th>
<td>{% if mirror.alternate_email %}<a href="mailto:{{ mirror.alternate_email }}">{{ mirror.alternate_email }}</a>{% else %}None{% endif %}</td>
</tr>
<tr>
<th>Flyspray Issue:</th>
<td>{% if mirror.bug %}<a href="https://bugs.archlinux.org/task/{{ mirror.bug }}">FS#{{ mirror.bug }}</a>{% endif %}</td>
</tr>
<tr>
<th>Notes:</th>
<td class="wrap">{{ mirror.notes|linebreaks }}</td>
</tr>
<tr>
<th>Upstream:</th>
<td>{% if mirror.upstream %}
<a href="{{ mirror.upstream.get_absolute_url }}"
title="Mirror details for {{ mirror.upstream.name }}">{{ mirror.upstream.name }}</a>
{% else %}None{% endif %}</td>
</tr>
<tr>
<th>Downstream:</th>
{% with mirror.downstream as ds_mirrors %}
<td class="wrap">{% if ds_mirrors %}
{% for ds in ds_mirrors %}
<a href="{{ ds.get_absolute_url }}"
title="Mirror details for {{ ds.name }}">{{ ds.name }}</a>{% comment %}
{% endcomment %}{% if not ds.active %} <span class="testing-dep">(inactive)</span>{% endif %}{% comment %}
{% endcomment %}{% if not ds.public %} <span class="testing-dep">(private)</span>{% endif %}{% comment %}
{% endcomment %}{% if not forloop.last %}, {% endif %}{% endfor %}
{% else %}None{% endif %}</td>
{% endwith %}
</tr>
{% endif %}
</table>
<h3>Available URLs</h3>
<table id="available_urls" class="results">
<thead>
<tr>
<th>Mirror URL</th>
<th>Protocol</th>
<th>Country</th>
<th>IPv4</th>
<th>IPv6</th>
<th>Last Sync</th>
<th>Completion %</th>
<th>μ Delay (hh:mm)</th>
<th>μ Duration (secs)</th>
<th>σ Duration (secs)</th>
<th>Score</th>
<th>Details</th>
</tr>
</thead>
<tbody>
{% for m_url in urls %}
<tr class="{% cycle 'odd' 'even' %}">
<td>{% if m_url.protocol.is_download %}<a href="{{ m_url.url }}">{{ m_url.url }}</a>{% else %}{{ m_url.url }}{% endif %}</td>
<td>{{ m_url.protocol }}</td>
<td class="country">{% country_flag m_url.country %}{{ m_url.country.name }}</td>
<td>{{ m_url.has_ipv4|yesno|capfirst }}</td>
<td>{{ m_url.has_ipv6|yesno|capfirst }}</td>
<td>{{ m_url.last_sync|date:'Y-m-d H:i'|default:'unknown' }}</td>
<td>{{ m_url.completion_pct|percentage:1 }}</td>
<td>{{ m_url.delay|duration|default:'unknown' }}</td>
<td>{{ m_url.duration_avg|floatvalue:2 }}</td>
<td>{{ m_url.duration_stddev|floatvalue:2 }}</td>
<td>{{ m_url.score|floatvalue:1|default:'∞' }}</td>
<td><a href="{{ m_url.id }}/">Details</a></td>
</tr>
{% endfor %}
</tbody>
</table>
<h3>Error Log</h3>
{% include "mirrors/error_table.html" %}
</div>
<div class="box">
<h2>Mirror Status Charts</h2>
<p>Periodic checks of the mirrors are done from various geographic
locations, IP addresses, and using IPv4 or IPv6. These results are
summarized in graphical form below.</p>
<div id="charts-container"></div>
</div>
{% endblock %}
{% block script_block %}
{% load cdn %}{% jquery %}{% jquery_tablesorter %}
<script type="text/javascript" src="{% static "d3-3.0.6.min.js" %}"></script>
<script type="text/javascript" src="{% static "archweb.js" %}"></script>
<script type="text/javascript" src="{% static "mirror_status.js" %}"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#available_urls:has(tbody tr)").tablesorter(
{widgets: ['zebra'], sortList: [[1,0], [2,0]],
headers: { 8: { sorter: 'mostlydigit' }, 9: { sorter: 'mostlydigit' }, 10: { sorter: 'mostlydigit' } } });
});
$(document).ready(function() {
draw_graphs("/mirrors/locations/json/", "./json/", "#charts-container");
});
</script>
{% endblock %}