summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
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
commit04a5856652848ee2d7c1904c9ae9356c86b22118 (patch)
treeb8213f840adfc39349a63c4714fd647cd93a4523
parente9748b46575c4c0fb3f3d4e954d77498cf89b317 (diff)
downloadChimè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.html2
-rw-r--r--chimere/templatetags/chimere_tags.py23
-rw-r--r--chimere/views.py3
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,