diff options
author | Étienne Loks <etienne.loks@peacefrogs.net> | 2011-09-07 18:49:47 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@peacefrogs.net> | 2011-09-07 19:01:05 +0200 |
commit | 5833aa61d039bf3d1f4372e0390ffc53b7d63eb9 (patch) | |
tree | 694de5c4a2e2faf586fc4e41ab3cca249f947c17 /chimere/main/models.py | |
parent | d59f0d18f8a92bdd615c114544f727284a71d66e (diff) | |
download | Chimère-5833aa61d039bf3d1f4372e0390ffc53b7d63eb9.tar.bz2 Chimère-5833aa61d039bf3d1f4372e0390ffc53b7d63eb9.zip |
Add new table and fields to manage GPX and KML files (refs #302)
Diffstat (limited to 'chimere/main/models.py')
-rw-r--r-- | chimere/main/models.py | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/chimere/main/models.py b/chimere/main/models.py index 3aefab8..3897fe9 100644 --- a/chimere/main/models.py +++ b/chimere/main/models.py @@ -294,7 +294,7 @@ class Marker(models.Model): 'geometry':self.point.geojson, 'icon_path':cat.icon.image, 'icon_width':cat.icon.image.width, - 'icon_height':cat.icon.image.height,}) + 'icon_height':cat.icon.image.height,} jsons.append(u'{"type":"Feature", "geometry":%(geometry)s, '\ u'"properties":{"pk": %(id)d, "name": "%(name)s", '\ u'"icon_path":"%(icon_path)s", "icon_width":%(icon_width)d, '\ @@ -306,12 +306,25 @@ class Marker(models.Model): self.categories.all()[0].id) return settings.BASE_URL + 'ty/' + TinyUrl.getUrnByParameters(parameters) +class RouteFile(models.Model): + name = models.CharField(_(u"Name"), max_length=150) + raw_file = models.FileField(_(u"Raw file (gpx or kml)"), upload_to='upload') + simplified_file = models.FileField(_(u"Simplified file"), + upload_to='upload', blank=True, null=True) + TYPE = (('K', _(u'KML')), ('G', _(u'GPX'))) + file_type = models.CharField(max_length=1, choices=TYPE) + + def __unicode__(self): + return self.name + class Route(models.Model): '''Route on the map ''' name = models.CharField(_("Name"), max_length=150) categories = SelectMultipleField(SubCategory) route = RouteField(_("Route"), srid=settings.EPSG_DISPLAY_PROJECTION) + associated_file = models.ForeignKey(RouteFile, blank=True, null=True, + verbose_name=_(u"Associated file")) picture = models.ImageField(_("Image"), upload_to='upload', blank=True, null=True, height_field='height', width_field='width') height = models.IntegerField(_("Height"), blank=True, null=True) @@ -433,8 +446,8 @@ class SimpleArea: equal_status = "='%s'" % status[0] elif status: equal_status = " in ('%s')" % "','".join(status) - area = u"ST_GeometryFromText('POLYGON((%f %f,%f %f,%f %f,%f %f, %f %f'"\ - u")), %d)" % (self.upper_left_corner.x, self.upper_left_corner.y, + area = u"ST_GeometryFromText('POLYGON((%f %f,%f %f,%f %f,%f %f, %f %f"\ + u"))', %d)" % (self.upper_left_corner.x, self.upper_left_corner.y, self.lower_right_corner.x, self.upper_left_corner.y, self.lower_right_corner.x, self.lower_right_corner.y, self.upper_left_corner.x, self.lower_right_corner.y, |