From 06f1bb99617e532f6b39c135370de79be7c270fa Mon Sep 17 00:00:00 2001
From: Dan McGee <dan@archlinux.org>
Date: Fri, 18 May 2012 20:42:05 -0500
Subject: mirrors: add an alternate_email column

We have a lot of these in the freeform text area in the mirror notes;
attempt to make this data usable as necessary if we want to do some sort
of mirror notification automation in the future.

Signed-off-by: Dan McGee <dan@archlinux.org>
---
 mirrors/admin.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

(limited to 'mirrors/admin.py')

diff --git a/mirrors/admin.py b/mirrors/admin.py
index b7b9894c..65fff368 100644
--- a/mirrors/admin.py
+++ b/mirrors/admin.py
@@ -63,9 +63,9 @@ class MirrorAdminForm(forms.ModelForm):
 class MirrorAdmin(admin.ModelAdmin):
     form = MirrorAdminForm
     list_display = ('name', 'tier', 'country', 'active', 'public',
-            'isos', 'admin_email')
+            'isos', 'admin_email', 'alternate_email')
     list_filter = ('tier', 'active', 'public', 'country')
-    search_fields = ('name',)
+    search_fields = ('name', 'admin_email', 'alternate_email')
     inlines = [
             MirrorUrlInlineAdmin,
             MirrorRsyncInlineAdmin,
-- 
cgit v1.2.3-2-g168b


From 6f0ae6746baea657ee6d7c21ac0813a04f825443 Mon Sep 17 00:00:00 2001
From: Dan McGee <dan@archlinux.org>
Date: Mon, 14 Jan 2013 01:00:11 -0600
Subject: Drop country column from mirror table

We now always look for this information at the URL level, not the mirror
level. This simplifies quite a bit of code in and around the mirror
views.

Signed-off-by: Dan McGee <dan@archlinux.org>
---
 mirrors/admin.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

(limited to 'mirrors/admin.py')

diff --git a/mirrors/admin.py b/mirrors/admin.py
index 65fff368..eaa38391 100644
--- a/mirrors/admin.py
+++ b/mirrors/admin.py
@@ -62,9 +62,9 @@ class MirrorAdminForm(forms.ModelForm):
 
 class MirrorAdmin(admin.ModelAdmin):
     form = MirrorAdminForm
-    list_display = ('name', 'tier', 'country', 'active', 'public',
+    list_display = ('name', 'tier', 'active', 'public',
             'isos', 'admin_email', 'alternate_email')
-    list_filter = ('tier', 'active', 'public', 'country')
+    list_filter = ('tier', 'active', 'public')
     search_fields = ('name', 'admin_email', 'alternate_email')
     inlines = [
             MirrorUrlInlineAdmin,
-- 
cgit v1.2.3-2-g168b


From 71259ab4c27ca6f00e09e813c7d9c6e8e24d59b4 Mon Sep 17 00:00:00 2001
From: Dan McGee <dan@archlinux.org>
Date: Wed, 6 Mar 2013 19:53:11 -0600
Subject: Add mirror CheckLocationAdmin

Signed-off-by: Dan McGee <dan@archlinux.org>
---
 mirrors/admin.py | 18 +++++++++++++++++-
 1 file changed, 17 insertions(+), 1 deletion(-)

(limited to 'mirrors/admin.py')

diff --git a/mirrors/admin.py b/mirrors/admin.py
index eaa38391..d6ea3950 100644
--- a/mirrors/admin.py
+++ b/mirrors/admin.py
@@ -4,7 +4,9 @@ from urlparse import urlparse, urlunsplit
 from django import forms
 from django.contrib import admin
 
-from .models import Mirror, MirrorProtocol, MirrorUrl, MirrorRsync
+from .models import (Mirror, MirrorProtocol, MirrorUrl, MirrorRsync,
+        CheckLocation)
+
 
 class MirrorUrlForm(forms.ModelForm):
     class Meta:
@@ -26,12 +28,14 @@ class MirrorUrlForm(forms.ModelForm):
         url = urlunsplit((url_parts.scheme, url_parts.netloc, path, '', ''))
         return url
 
+
 class MirrorUrlInlineAdmin(admin.TabularInline):
     model = MirrorUrl
     form = MirrorUrlForm
     readonly_fields = ('protocol', 'has_ipv4', 'has_ipv6')
     extra = 3
 
+
 # ripped off from django.forms.fields, adding netmask ability
 IPV4NM_RE = re.compile(r'^(25[0-5]|2[0-4]\d|[0-1]?\d?\d)(\.(25[0-5]|2[0-4]\d|[0-1]?\d?\d)){3}(/(\d|[1-2]\d|3[0-2])){0,1}$')
 
@@ -43,16 +47,19 @@ class IPAddressNetmaskField(forms.fields.RegexField):
     def __init__(self, *args, **kwargs):
         super(IPAddressNetmaskField, self).__init__(IPV4NM_RE, *args, **kwargs)
 
+
 class MirrorRsyncForm(forms.ModelForm):
     class Meta:
         model = MirrorRsync
     ip = IPAddressNetmaskField(label='IP')
 
+
 class MirrorRsyncInlineAdmin(admin.TabularInline):
     model = MirrorRsync
     form = MirrorRsyncForm
     extra = 2
 
+
 class MirrorAdminForm(forms.ModelForm):
     class Meta:
         model = Mirror
@@ -60,6 +67,7 @@ class MirrorAdminForm(forms.ModelForm):
             queryset=Mirror.objects.filter(tier__gte=0, tier__lte=1),
             required=False)
 
+
 class MirrorAdmin(admin.ModelAdmin):
     form = MirrorAdminForm
     list_display = ('name', 'tier', 'active', 'public',
@@ -71,11 +79,19 @@ class MirrorAdmin(admin.ModelAdmin):
             MirrorRsyncInlineAdmin,
     ]
 
+
 class MirrorProtocolAdmin(admin.ModelAdmin):
     list_display = ('protocol', 'is_download', 'default')
     list_filter = ('is_download', 'default')
 
+
+class CheckLocationAdmin(admin.ModelAdmin):
+    list_display = ('hostname', 'source_ip', 'country', 'created')
+    search_fields = ('hostname', 'source_ip')
+
+
 admin.site.register(Mirror, MirrorAdmin)
 admin.site.register(MirrorProtocol, MirrorProtocolAdmin)
+admin.site.register(CheckLocation, CheckLocationAdmin)
 
 # vim: set ts=4 sw=4 et:
-- 
cgit v1.2.3-2-g168b