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, | 
