summaryrefslogtreecommitdiffstats
path: root/main/admin.py
diff options
context:
space:
mode:
authorDan McGee <dan@archlinux.org>2010-09-06 19:01:46 +0200
committerDan McGee <dan@archlinux.org>2010-09-06 19:01:46 +0200
commit7dba848eaf12f7b5274b04a1d5aff38bc42a1d55 (patch)
tree1e90c292fedeb3cbfdf75e16893f03c9821721eb /main/admin.py
parentfae66679318dbd3f5be2f96747e79676a0795fe6 (diff)
downloadarchweb-7dba848eaf12f7b5274b04a1d5aff38bc42a1d55.tar.gz
archweb-7dba848eaf12f7b5274b04a1d5aff38bc42a1d55.tar.xz
Move mirror models out of main app
South actually makes this relatively painless if you get everything right, so might as well start getting these out of the legacy main application to eventually eliminate models being separate from their views. Signed-off-by: Dan McGee <dan@archlinux.org>
Diffstat (limited to 'main/admin.py')
-rw-r--r--main/admin.py59
1 files changed, 1 insertions, 58 deletions
diff --git a/main/admin.py b/main/admin.py
index bfed459..712cec8 100644
--- a/main/admin.py
+++ b/main/admin.py
@@ -1,66 +1,12 @@
-import re
-from django import forms
from django.contrib import admin
from django.contrib.auth.models import User
from django.contrib.auth.admin import UserAdmin
-from main.models import (Arch, Donor,
- Mirror, MirrorProtocol, MirrorUrl, MirrorRsync,
- Package, Repo, UserProfile)
+from main.models import Arch, Donor, Package, Repo, UserProfile
class DonorAdmin(admin.ModelAdmin):
ordering = ['name']
search_fields = ('name',)
-class MirrorUrlForm(forms.ModelForm):
- class Meta:
- model = MirrorUrl
- def clean_url(self):
- # ensure we always save the URL with a trailing slash
- url = self.cleaned_data["url"].strip()
- if url[-1] == '/':
- return url
- return url + '/'
-
-class MirrorUrlInlineAdmin(admin.TabularInline):
- model = MirrorUrl
- form = MirrorUrlForm
- 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}$')
-class IPAddressNetmaskField(forms.fields.RegexField):
- default_error_messages = {
- 'invalid': u'Enter a valid IPv4 address, possibly including netmask.',
- }
-
- 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
- upstream = forms.ModelChoiceField(queryset=Mirror.objects.filter(tier__gte=0, tier__lte=1), required=False)
-
-class MirrorAdmin(admin.ModelAdmin):
- form = MirrorAdminForm
- list_display = ('name', 'tier', 'country', 'active', 'public', 'isos', 'admin_email', 'supported_protocols')
- list_filter = ('tier', 'country', 'active', 'public')
- search_fields = ('name',)
- inlines = [
- MirrorUrlInlineAdmin,
- MirrorRsyncInlineAdmin,
- ]
-
class RepoAdmin(admin.ModelAdmin):
list_display = ('name', 'testing', 'bugs_project', 'svn_root')
list_filter = ('testing',)
@@ -85,9 +31,6 @@ class UserProfileAdmin(UserAdmin):
admin.site.register(User, UserProfileAdmin)
admin.site.register(Donor, DonorAdmin)
-admin.site.register(Mirror, MirrorAdmin)
-admin.site.register(MirrorProtocol)
-
admin.site.register(Package, PackageAdmin)
admin.site.register(Arch)
admin.site.register(Repo, RepoAdmin)