diff options
Diffstat (limited to 'chimere/models.py')
-rw-r--r-- | chimere/models.py | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/chimere/models.py b/chimere/models.py index c38c9c2..d16d20a 100644 --- a/chimere/models.py +++ b/chimere/models.py @@ -189,6 +189,9 @@ class Color(models.Model): """ code = models.CharField(_(u"Code/name"), max_length=200, help_text=_(u"HTML code/name")) + inner_code = models.CharField(_(u"Code/name (inner)"), max_length=200, + help_text=_(u"HTML code/name"), + blank=True, null=True) order = models.IntegerField(_(u"Order")) color_theme = models.ForeignKey(ColorTheme, verbose_name=_(u"Color theme")) @@ -995,8 +998,9 @@ class Polygon(GeographicItem): "geometry": json.loads(self.polygon.geojson), "properties": {"pk": self.id, "name": self.name, 'key': "polygon-{}".format(self.pk), - "color": color, - "inner_color": inner_color}} + "color": self.color or color, + "inner_color": self.inner_color + or inner_color}} return json.dumps(attributes) @classmethod @@ -1028,12 +1032,16 @@ class Polygon(GeographicItem): idx, colors = current_categories[polygon["categories__pk"]] # category have a color theme if colors: - color = colors[idx % len(colors)].code + c = colors[idx % len(colors)] + color = c.code + if c.inner_code: + inner_color = c.inner_code # index += 1 current_categories[polygon["categories__pk"]][0] += 1 - - inner_color = default_inner_color if not polygon["inner_color"] \ - else polygon["inner_color"] + if polygon["inner_color"]: + inner_color = polygon["inner_color"] + elif not inner_color: + inner_color = default_inner_color vals.append({ "type": "Feature", "geometry": json.loads(polygon['json']), |