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 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):