Addressbook

- location field.. has to be refactored
This commit is contained in:
Martin Bauer
2013-09-22 11:11:48 +02:00
parent 49ba4e5223
commit 230f1e6a36
28 changed files with 587 additions and 463 deletions

40
location_field/models.py Executable file
View File

@@ -0,0 +1,40 @@
from django.db.models import CharField
from location_field import forms
class BaseLocationField(object):
def __init__(self, based_fields=[], zoom=2, default=None, *args, **kwargs):
self._based_fields = based_fields
self._zoom = zoom
self._default = default
self.default = default
def formfield(self, **kwargs):
return super(BaseLocationField, self).formfield(
form_class=self.formfield_class,
based_fields=self._based_fields,
zoom=self._zoom,
default=self._default,
**kwargs)
class PlainLocationField(BaseLocationField, CharField):
formfield_class = forms.PlainLocationField
def __init__(self, based_fields=None, zoom=None,
max_length=63, *args, **kwargs):
super(PlainLocationField, self).__init__(based_fields=based_fields,
zoom=zoom, *args, **kwargs)
CharField.__init__(self, max_length=max_length, *args, **kwargs)
# south compatibility
try:
from south.modelsinspector import add_introspection_rules
add_introspection_rules([], ["^location_field\.models\.LocationField"])
add_introspection_rules([], ["^django\.contrib\.gis"])
except:
pass