summaryrefslogtreecommitdiff
path: root/chimere/models.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@peacefrogs.net>2012-09-20 13:09:48 +0200
committerÉtienne Loks <etienne.loks@peacefrogs.net>2012-09-20 13:09:48 +0200
commit2340a338584c53d2cc07590c0a3ebc541306bdb5 (patch)
tree5800768d99b0a49e6f3ffa0910c635aab0615e27 /chimere/models.py
parentf28aac1763640d273c440da680986581bc6f1bad (diff)
downloadChimère-2340a338584c53d2cc07590c0a3ebc541306bdb5.tar.bz2
Chimère-2340a338584c53d2cc07590c0a3ebc541306bdb5.zip
Fix category sort
Diffstat (limited to 'chimere/models.py')
-rw-r--r--chimere/models.py10
1 files changed, 7 insertions, 3 deletions
diff --git a/chimere/models.py b/chimere/models.py
index 35da9a0..99fa073 100644
--- a/chimere/models.py
+++ b/chimere/models.py
@@ -184,15 +184,19 @@ class SubCategory(models.Model):
subcategories = subcategories.filter(id__in=sub_ids)
selected_cats = [subcat.pk
for subcat in area.default_subcategories.all()]
- for sub_category in subcategories:
+ for sub_category in subcategories.order_by('order'):
if sub_category.category not in sub_categories:
sub_categories[sub_category.category] = []
if sub_category.id in selected_cats:
sub_category.selected = True
sub_category.category.selected = True
sub_categories[sub_category.category].append(sub_category)
- return [(category, sub_cats) for category, sub_cats \
- in sub_categories.items()]
+
+ subcategories = [(cat, subcats) \
+ for cat, subcats in sub_categories.items()]
+ get_cat_order = lambda cat_tuple: cat_tuple[0].order
+ subcategories = sorted(subcategories, key=get_cat_order)
+ return subcategories
IMPORTERS = {'KML':KMLManager,
'OSM':OSMManager,