diff options
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) |