diff options
| author | Étienne Loks <etienne.loks@peacefrogs.net> | 2012-08-22 18:48:12 +0200 |
|---|---|---|
| committer | Étienne Loks <etienne.loks@peacefrogs.net> | 2012-08-22 18:48:12 +0200 |
| commit | 04a5856652848ee2d7c1904c9ae9356c86b22118 (patch) | |
| tree | b8213f840adfc39349a63c4714fd647cd93a4523 | |
| parent | e9748b46575c4c0fb3f3d4e954d77498cf89b317 (diff) | |
| download | Chimère-04a5856652848ee2d7c1904c9ae9356c86b22118.tar.bz2 Chimère-04a5856652848ee2d7c1904c9ae9356c86b22118.zip | |
Hide category panel when there is only one category available
| -rw-r--r-- | chimere/templates/chimere/blocks/map_params.html | 2 | ||||
| -rw-r--r-- | chimere/templatetags/chimere_tags.py | 23 | ||||
| -rw-r--r-- | chimere/views.py | 3 |
3 files changed, 24 insertions, 4 deletions
diff --git a/chimere/templates/chimere/blocks/map_params.html b/chimere/templates/chimere/blocks/map_params.html index c8f97eb..57ced90 100644 --- a/chimere/templates/chimere/blocks/map_params.html +++ b/chimere/templates/chimere/blocks/map_params.html @@ -1,5 +1,7 @@ {% load i18n %} <script type="text/javascript"> + {% if single_category %} + $(function() {$('#panel').hide()});{% endif %} var chimere_init_options = {}; chimere_init_options["default_icon"] = '{{STATIC_URL}}img/marker-green.png'; chimere_init_options["map_layers"] = [{{map_layers|safe|escape}}]; diff --git a/chimere/templatetags/chimere_tags.py b/chimere/templatetags/chimere_tags.py index e7f7248..dbda7c3 100644 --- a/chimere/templatetags/chimere_tags.py +++ b/chimere/templatetags/chimere_tags.py @@ -10,7 +10,7 @@ from django.conf import settings from django.core.exceptions import ObjectDoesNotExist from django.core.urlresolvers import reverse -from chimere.models import Marker, Area, News +from chimere.models import Marker, Area, News, SubCategory from chimere.widgets import get_map_layers log = getLogger(__name__) @@ -123,7 +123,7 @@ def map_params(context): context_data['map_layers'] = ", ".join(map_layers) if default_area: context_data['selected_map_layer'] = default_area - context_data['p_checked_categories'] = "[]" + context_data['p_checked_categories'] = None area = None if area_name: try: @@ -143,7 +143,12 @@ def map_params(context): unicode(area.upper_left_corner.y), unicode(area.lower_right_corner.x), unicode(area.lower_right_corner.y))) - context_data['p_checked_categories'] = unicode([subcategory.pk + if area.subcategories.filter(available=True).count() == 1: + context_data['single_category'] = True + context_data['p_checked_categories'] = "[%d]" % \ + area.subcategories.all()[0].pk + elif area.default_subcategories.count(): + context_data['p_checked_categories'] = unicode([subcategory.pk for subcategory in area.default_subcategories.all()]) if area.restrict_to_extent: context_data['restricted_extent'] = """ @@ -152,8 +157,20 @@ bounds.extend(new OpenLayers.LonLat(%f, %f)); bounds.extend(new OpenLayers.LonLat(%f, %f)); """ % (area.upper_left_corner.x, area.upper_left_corner.y, area.lower_right_corner.x, area.lower_right_corner.y) + + if SubCategory.objects.filter(available=True).count() <= 1: + context_data['single_category'] = True + if not context_data['p_checked_categories']: + cat = '' + if SubCategory.objects.filter(available=True).count(): + cat = unicode(SubCategory.objects.filter(available=True + ).all()[0].pk) + context_data['p_checked_categories'] = "[%s]" % cat + if not context_data['p_checked_categories']: + context_data['p_checked_categories'] = "[]" context_data['dynamic_categories'] = 'true' \ if area and area.dynamic_categories else 'false' + print context_data if 'request' not in context: return context_data request = context['request'] diff --git a/chimere/views.py b/chimere/views.py index f61e209..35c9179 100644 --- a/chimere/views.py +++ b/chimere/views.py @@ -89,6 +89,7 @@ def get_base_response(area_name=""): area_name = area.urn except ObjectDoesNotExist: pass + base_response_dct['area'] = area base_response_dct['area_name'] = area_name if area and area.external_css: @@ -120,7 +121,7 @@ def index(request, area_name=None, default_area=None, simple=False): and 'lon' in request.GET: zoomout = None response_dct.update({ - 'actions':actions, 'action_selected':('view',), + 'actions':actions, 'action_selected':('view',), 'error_message':'', 'news_visible': news_visible, 'areas_visible': settings.CHIMERE_DISPLAY_AREAS, |
