summaryrefslogtreecommitdiff
path: root/chimere/models.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2016-06-01 10:16:20 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2016-06-01 10:16:20 +0200
commit16d6bda41d0015741ebccdb1564ced806820396b (patch)
treeecc76e0ccf5e1d17ef63b29856f23ecb24dcf03c /chimere/models.py
parentc0e5fbb52d5964973e5f07e82d235f1906c522e3 (diff)
downloadChimère-16d6bda41d0015741ebccdb1564ced806820396b.tar.bz2
Chimère-16d6bda41d0015741ebccdb1564ced806820396b.zip
Add inner color to themes
Diffstat (limited to 'chimere/models.py')
-rw-r--r--chimere/models.py20
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']),