summaryrefslogtreecommitdiff
path: root/chimere/models.py
diff options
context:
space:
mode:
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 f21e45a..2d5c991 100644
--- a/chimere/models.py
+++ b/chimere/models.py
@@ -528,6 +528,30 @@ class ImporterKeyCategories(models.Model):
class Meta:
verbose_name = _("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)
@@ -1797,6 +1821,8 @@ class Area(models.Model, SimpleArea):
_("Default area"), help_text=_("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=_("Sub-categories checked by default"))
@@ -1979,8 +2005,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):