diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2018-03-15 19:31:19 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2018-03-15 19:31:19 +0100 |
commit | 350a58d927d93c40b7508e46212eb20923bf36bb (patch) | |
tree | 287c78ae4681f9a6469b18f7e8e456f783e9b801 /chimere/views.py | |
parent | a53fb8d6525fa93f0e131a8a10ed3cae23a6c1f0 (diff) | |
download | Chimère-350a58d927d93c40b7508e46212eb20923bf36bb.tar.bz2 Chimère-350a58d927d93c40b7508e46212eb20923bf36bb.zip |
Fix categories in detail
Diffstat (limited to 'chimere/views.py')
-rw-r--r-- | chimere/views.py | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/chimere/views.py b/chimere/views.py index 02f79fe..ab07a07 100644 --- a/chimere/views.py +++ b/chimere/views.py @@ -641,23 +641,28 @@ def getDetail(request, area_name, key, popup=False): response_dct['popup'] = popup response_dct['category'] = None + marker_cats = list(marker.categories.all()) + if request.method == 'GET': if 'simple' in request.GET and request.GET['simple']: response_dct['simple'] = True if 'categories' in request.GET and request.GET['categories']: - response_dct['categories'] = [] + response_dct['extra_categories'] = [] for cat_id in request.GET['categories'].split('-'): try: category = models.SubCategory.objects.get( available=True, pk=int(cat_id)) + if category not in marker_cats: + continue if not response_dct['category']: response_dct['category'] = category - response_dct['categories'].append(category) + else: + response_dct['extra_categories'].append(category) except (models.SubCategory.DoesNotExists, ValueError): pass - if len(response_dct['categories']): + if response_dct['category']: response_dct['color'] = \ - response_dct['categories'][0].category.color + response_dct['category'].category.color response_dct['share_networks'], net_dct = \ getShareNetwork(request, response_dct['area_name'], marker, geo_type) |