diff options
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 |
commit | 82b264b3a0277f35bd79ca83af162cf3c08c813f (patch) | |
tree | c365d104677216ee463fc412091481b66767e147 /chimere/models.py | |
parent | c7c140435352532125e0488630c0ae05735019bc (diff) | |
download | Chimè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.py | 41 |
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): |