diff --git a/libraryauth/admin.py b/libraryauth/admin.py index 4844d659..11eb8217 100644 --- a/libraryauth/admin.py +++ b/libraryauth/admin.py @@ -5,7 +5,7 @@ from selectable.base import ModelLookup from selectable.registry import registry from django import forms -from django.contrib.admin import ModelAdmin +from django.contrib.admin import ModelAdmin, site from django.contrib.auth.models import User, Group class UserLookup(ModelLookup): @@ -47,3 +47,8 @@ class CardPatternAdmin(ModelAdmin): class EmailPatternAdmin(ModelAdmin): list_display = ('library', 'pattern', ) search_fields = ('library__name',) + +site.register(models.Library, LibraryAdmin) +site.register(models.Block, BlockAdmin) +site.register(models.CardPattern, CardPatternAdmin) +site.register(models.EmailPattern, EmailPatternAdmin) \ No newline at end of file diff --git a/libraryauth/models.py b/libraryauth/models.py index e30968bb..4af5c30a 100644 --- a/libraryauth/models.py +++ b/libraryauth/models.py @@ -140,7 +140,7 @@ class IP(object): if not isinstance(other, IP): other = IP(other) - if self.int and other.int: + if self.int is not None and other.int is not None: return self.int.__cmp__(other.int) raise ValueError('Invalid arguments') @@ -177,7 +177,7 @@ class IPAddressFormField(BaseIPAddressField): raise ValidationError(self.default_error_messages['invalid'], code='invalid') -class IPAddressModelField(models.IPAddressField): +class IPAddressModelField(models.GenericIPAddressField): __metaclass__ = models.SubfieldBase empty_strings_allowed = False @@ -205,10 +205,10 @@ class IPAddressModelField(models.IPAddressField): def formfield(self, **kwargs): defaults = {'form_class': IPAddressFormField} defaults.update(kwargs) - return super(models.IPAddressField, self).formfield(**defaults) + return super(models.GenericIPAddressField, self).formfield(**defaults) def deconstruct(self): - name, path, args, kwargs = super(models.IPAddressField, self).deconstruct() + name, path, args, kwargs = super(models.GenericIPAddressField, self).deconstruct() return name, path, args, kwargs class Block(models.Model):