summaryrefslogtreecommitdiff
path: root/chimere/models.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2016-11-17 19:18:01 +0100
committerÉtienne Loks <etienne.loks@iggdrasil.net>2016-11-18 12:11:14 +0100
commit82b264b3a0277f35bd79ca83af162cf3c08c813f (patch)
treec365d104677216ee463fc412091481b66767e147 /chimere/models.py
parentc7c140435352532125e0488630c0ae05735019bc (diff)
downloadChimère-82b264b3a0277f35bd79ca83af162cf3c08c813f.tar.bz2
Chimère-82b264b3a0277f35bd79ca83af162cf3c08c813f.zip
Manage JSON overlay
Conflicts: chimere/static/chimere/js/jquery.chimere.js chimere/templatetags/chimere_tags.py
Diffstat (limited to 'chimere/models.py')
-rw-r--r--chimere/models.py41
1 files changed, 39 insertions, 2 deletions
diff --git a/chimere/models.py b/chimere/models.py
index 057e808..b98ad7a 100644
--- a/chimere/models.py
+++ b/chimere/models.py
@@ -527,6 +527,30 @@ class ImporterKeyCategories(models.Model):
class Meta:
verbose_name = _(u"Importer - Key categories")
+OVERLAY_CHOICES = (
+ ('JSON', 'GeoJSON'),
+)
+
+
+class Overlay(models.Model):
+ '''
+ Static overlay on the map
+ '''
+ name = models.CharField(_("Name"), max_length=150)
+ overlay_type = models.CharField(_("Importer type"), max_length=4,
+ choices=OVERLAY_CHOICES)
+ overlay_file = models.FileField(_("File"))
+ style = models.TextField(_("Style definition"), blank=True, null=True,
+ help_text=_("Javascript definition. Cf. to "
+ "openlayers3 documentation."))
+
+ def __str__(self):
+ return self.name or ""
+
+ class Meta:
+ verbose_name = _("Overlay file")
+ verbose_name_plural = _("Overlay files")
+
class GeographicItem(models.Model):
categories = SelectMultipleField(SubCategory)
@@ -1804,6 +1828,8 @@ class Area(models.Model, SimpleArea):
_(u"Default area"), help_text=_(u"Only one area is set by default"))
layers = SelectMultipleField(Layer, related_name='areas',
through='AreaLayers', blank=True)
+ overlays = SelectMultipleField(Overlay, related_name='overlays',
+ through='AreaOverlays', blank=True)
default_subcategories = SelectMultipleField(
SubCategory, blank=True,
verbose_name=_(u"Sub-categories checked by default"))
@@ -1986,8 +2012,19 @@ class AreaLayers(models.Model):
class Meta:
ordering = ('order',)
- verbose_name = _("Layers")
- verbose_name_plural = _("Layers")
+ verbose_name = _("Area - Layer")
+ verbose_name_plural = _("Areas - Layers")
+
+
+class AreaOverlays(models.Model):
+ area = models.ForeignKey(Area)
+ overlay = models.ForeignKey(Overlay)
+ order = models.IntegerField(_("Order"))
+
+ class Meta:
+ ordering = ('order',)
+ verbose_name = _("Area - Overlay")
+ verbose_name_plural = _("Areas - Overlays")
class PropertyModel(models.Model):