summaryrefslogtreecommitdiff
path: root/ishtar/furnitures
diff options
context:
space:
mode:
Diffstat (limited to 'ishtar/furnitures')
-rw-r--r--ishtar/furnitures/models.py16
-rw-r--r--ishtar/furnitures/views.py5
2 files changed, 14 insertions, 7 deletions
diff --git a/ishtar/furnitures/models.py b/ishtar/furnitures/models.py
index f7cc8288c..1a595f629 100644
--- a/ishtar/furnitures/models.py
+++ b/ishtar/furnitures/models.py
@@ -144,7 +144,7 @@ class LightHistorizedItem(BaseHistorizedItem):
class Departement(models.Model):
label = models.CharField(_(u"Label"), max_length=30)
- number = models.IntegerField(_(u"Number"))
+ number = models.CharField(_(u"Number"), unique=True, max_length=3)
class Meta:
verbose_name = _(u"Departement")
@@ -669,10 +669,14 @@ if settings.COUNTRY == 'fr':
class Town(models.Model):
name = models.CharField(_(u"Name"), max_length=100)
- surface = models.IntegerField(_(u"Surface"))
- center = models.PointField(_(u"Localisation"), srid=settings.SRID)
+ surface = models.IntegerField(_(u"Surface"), blank=True, null=True)
+ center = models.PointField(_(u"Localisation"), srid=settings.SRID,
+ blank=True, null=True)
if settings.COUNTRY == 'fr':
- numero_insee = models.CharField(u"Numéro INSEE", max_length=5)
+ numero_insee = models.CharField(u"Numéro INSEE", max_length=6,
+ unique=True)
+ departement = models.ForeignKey(Departement, verbose_name=u"Département",
+ null=True, blank=True)
canton = models.ForeignKey(Canton, verbose_name=u"Canton", null=True,
blank=True)
objects = models.GeoManager()
@@ -680,8 +684,12 @@ class Town(models.Model):
class Meta:
verbose_name = _(u"Town")
verbose_name_plural = _(u"Towns")
+ if settings.COUNTRY == 'fr':
+ ordering = ['numero_insee']
def __unicode__(self):
+ if settings.COUNTRY == "fr":
+ return " - ".join((self.name, self.numero_insee))
return self.name
class TreatmentType(GeneralType):
diff --git a/ishtar/furnitures/views.py b/ishtar/furnitures/views.py
index 03029cfe4..c9ea7a0fd 100644
--- a/ishtar/furnitures/views.py
+++ b/ishtar/furnitures/views.py
@@ -91,9 +91,8 @@ def autocomplete_town(request):
for q in q.split(' '):
extra = Q(name__icontains=q)
if settings.COUNTRY == 'fr':
- extra = extra | (Q(canton__name__istartswith=q) | \
- Q(canton__arrondissement__name__istartswith=q) | \
- Q(canton__arrondissement__department__label__istartswith=q))
+ extra = (extra | Q(numero_insee__istartswith=q) | \
+ Q(departement__label__istartswith=q))
query = query & extra
limit = 15
towns = models.Town.objects.filter(query)[:limit]