Make general mirror list view public
Hide some columns when not logged in because they aren't relevant for the general public, but this will work nicely as a base page for all of our known mirrors. Signed-off-by: Dan McGee <dan@archlinux.org>
This commit is contained in:
parent
46dec16346
commit
1c6099f4b2
@ -10,7 +10,6 @@
|
||||
from main.models import Package, Todolist, TodolistPkg
|
||||
from main.models import Arch, Repo
|
||||
from main.models import UserProfile
|
||||
from mirrors.models import Mirror
|
||||
from packages.models import PackageRelation
|
||||
from .utils import get_annotated_maintainers
|
||||
|
||||
@ -79,12 +78,6 @@ def change_profile(request):
|
||||
form = ProfileForm(initial={'email': request.user.email})
|
||||
return direct_to_template(request, 'devel/profile.html', {'form': form})
|
||||
|
||||
@login_required
|
||||
def mirrorlist(request):
|
||||
mirrors = Mirror.objects.select_related().order_by('tier', 'country')
|
||||
return direct_to_template(request, 'devel/mirrorlist.html',
|
||||
{'mirror_list': mirrors})
|
||||
|
||||
class NewUserForm(forms.ModelForm):
|
||||
class Meta:
|
||||
model = UserProfile
|
||||
|
@ -27,7 +27,8 @@ def __unicode__(self):
|
||||
return self.name
|
||||
|
||||
def supported_protocols(self):
|
||||
protocols = MirrorProtocol.objects.filter(urls__mirror=self).distinct()
|
||||
protocols = MirrorProtocol.objects.filter(
|
||||
urls__mirror=self).order_by('protocol').distinct()
|
||||
return ", ".join([p.protocol for p in protocols])
|
||||
|
||||
class MirrorProtocol(models.Model):
|
||||
|
@ -70,6 +70,12 @@ def find_mirrors(request, countries=None, protocols=None, use_status=False):
|
||||
},
|
||||
mimetype='text/plain')
|
||||
|
||||
def mirrors(request):
|
||||
mirrors = Mirror.objects.select_related().order_by('tier', 'country')
|
||||
if not request.user.is_authenticated():
|
||||
mirrors = mirrors.filter(public=True, active=True)
|
||||
return direct_to_template(request, 'mirrors/mirrors.html',
|
||||
{'mirror_list': mirrors})
|
||||
|
||||
def status(request):
|
||||
bad_timedelta = datetime.timedelta(days=3)
|
||||
|
@ -3,38 +3,40 @@
|
||||
|
||||
{% block content %}
|
||||
<div id="dev-mirrorlist" class="box">
|
||||
|
||||
<h2>Mirror List</h2>
|
||||
|
||||
<h2>Mirror Overview</h2>
|
||||
<table class="results">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Server</th>
|
||||
<th>Tier</th>
|
||||
<th>Country</th>
|
||||
<th>Admin Email</th>
|
||||
<th>Public</th>
|
||||
<th>Active</th>
|
||||
<th>ISOs</th>
|
||||
<th>Protocols</th>
|
||||
{% if user.is_authenticated %}
|
||||
<th>Public</th>
|
||||
<th>Active</th>
|
||||
<th>Rsync IPs</th>
|
||||
<th>Admin Email</th>
|
||||
<th>Notes</th>
|
||||
{% endif %}
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for mirror in mirror_list %}
|
||||
<tr class="{% cycle 'odd' 'even' %}">
|
||||
<td>{{mirror.name}}</td>
|
||||
<td>{{mirror.get_tier_display}}</td>
|
||||
<td>{{mirror.country}}</td>
|
||||
<td>{{mirror.admin_email}}</td>
|
||||
<td>{{mirror.public|yesno}}</td>
|
||||
<td>{{mirror.active|yesno}}</td>
|
||||
<td>{{mirror.isos|yesno}}</td>
|
||||
<td class="wrap">{{mirror.supported_protocols}}</td>
|
||||
<td>{{mirror.rsync_ips.count}}</td>
|
||||
<td class="wrap">{{mirror.notes}}</td>
|
||||
</tr>
|
||||
<tr class="{% cycle 'odd' 'even' %}">
|
||||
<td>{{mirror.name}}</td>
|
||||
<td>{{mirror.get_tier_display}}</td>
|
||||
<td>{{mirror.country}}</td>
|
||||
<td>{{mirror.isos|yesno}}</td>
|
||||
<td class="wrap">{{mirror.supported_protocols}}</td>
|
||||
{% if user.is_authenticated %}
|
||||
<td>{{mirror.public|yesno}}</td>
|
||||
<td>{{mirror.active|yesno}}</td>
|
||||
<td class="wrap">{{mirror.rsync_ips.all|join:', '}}</td>
|
||||
<td>{{mirror.admin_email}}</td>
|
||||
<td class="wrap">{{mirror.notes|linebreaks}}</td>
|
||||
{% endif %}
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
4
urls.py
4
urls.py
@ -71,8 +71,8 @@
|
||||
(r'^news/(?P<slug>[-\w]+)/delete/$', 'news.views.delete'),
|
||||
(r'^news/$', 'news.views.news_list', {}, 'news-list'),
|
||||
|
||||
(r'^mirrors/$', 'devel.views.mirrorlist', {}, 'mirrors-list'),
|
||||
(r'^mirrors/status/$', 'mirrors.views.status', {}, 'mirror-status'),
|
||||
(r'^mirrors/$', 'mirrors.views.mirrors', {}, 'mirrors-list'),
|
||||
(r'^mirrors/status/$', 'mirrors.views.status', {}, 'mirror-status'),
|
||||
|
||||
(r'^mirrorlist/$', 'mirrors.views.generate_mirrorlist', {}, 'mirrorlist'),
|
||||
(r'^mirrorlist/all/$', 'mirrors.views.find_mirrors', {'countries': ['all']}),
|
||||
|
Loading…
Reference in New Issue
Block a user