summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2017-09-10 12:05:38 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2017-09-10 12:05:38 +0200
commit733763c12850445e53e7d6b805b2e49739659a84 (patch)
treea253cb7d2c9fa66bc30567d2f677dc62df022533
parentbe28f6b7aa3c92e5cee5f180f010534d518657fb (diff)
downloadChimère-v3.0.tar.bz2
Chimère-v3.0.zip
Color code for categoriesv3.0
-rw-r--r--chimere/migrations/0007_auto_20170910_1109.py24
-rw-r--r--chimere/models.py3
-rw-r--r--chimere/views.py29
3 files changed, 44 insertions, 12 deletions
diff --git a/chimere/migrations/0007_auto_20170910_1109.py b/chimere/migrations/0007_auto_20170910_1109.py
new file mode 100644
index 0000000..a5ccc56
--- /dev/null
+++ b/chimere/migrations/0007_auto_20170910_1109.py
@@ -0,0 +1,24 @@
+# -*- coding: utf-8 -*-
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('chimere', '0006_auto_20170724_0115'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='category',
+ name='color',
+ field=models.CharField(help_text='HTML code/name', verbose_name='Color code/name', max_length=200, blank=True, null=True),
+ ),
+ migrations.AlterField(
+ model_name='subcategory',
+ name='simplify_tolerance',
+ field=models.FloatField(help_text='Only relevant when Minimum zoom is set. Use the Douglas-Peucker algorythm to simplify the geometry when details is not alvailable. Adjust to your data volume and your performance need. 0.0003 is a good starting point. Note: topology is not preserved.', verbose_name='Simplify tolerance for lower zoom', blank=True, null=True),
+ ),
+ ]
diff --git a/chimere/models.py b/chimere/models.py
index 444df36..c7a1e33 100644
--- a/chimere/models.py
+++ b/chimere/models.py
@@ -222,6 +222,9 @@ class Category(models.Model):
available = models.BooleanField(_("Available"))
order = models.IntegerField(_("Order"))
description = models.TextField(blank=True, null=True)
+ color = models.CharField(_("Color code/name"), max_length=200,
+ help_text=_("HTML code/name"), blank=True,
+ null=True)
class Meta:
ordering = ["order"]
diff --git a/chimere/views.py b/chimere/views.py
index 5f0594b..8c41a7f 100644
--- a/chimere/views.py
+++ b/chimere/views.py
@@ -75,6 +75,22 @@ def get_base_uri(request):
# TODO: convert to requestcontext
+def get_area(area_name=""):
+ area = None
+ if area_name:
+ try:
+ area = Area.objects.get(urn=area_name, available=True)
+ except ObjectDoesNotExist:
+ pass
+ if not area:
+ try:
+ area = Area.objects.get(default=True)
+ area_name = area.urn
+ except ObjectDoesNotExist:
+ pass
+ return area, area_name
+
+
def get_base_response(request, area_name=""):
"""
Get the base url
@@ -99,18 +115,7 @@ def get_base_response(request, area_name=""):
base_url += '/'
base_url += area_name + '/'
base_response_dct['extra_url'] = base_url
- area = None
- if area_name:
- try:
- area = Area.objects.get(urn=area_name, available=True)
- except ObjectDoesNotExist:
- return None, redirect(reverse('chimere:index'))
- else:
- try:
- area = Area.objects.get(default=True)
- area_name = area.urn
- except ObjectDoesNotExist:
- pass
+ area, area_name = get_area(area_name)
base_response_dct['area'] = area
base_response_dct['area_name'] = area_name