From 27c833b3efe4365fc300935a0fd7363275949ae0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laura=20Kl=C3=BCnder?= Date: Fri, 16 Nov 2018 00:52:13 +0100 Subject: [PATCH] fix some issues when c3nav is setup from ground up --- src/c3nav/mapdata/models/base.py | 4 ++-- src/c3nav/site/static/site/js/c3nav.js | 4 +++- src/c3nav/site/views.py | 3 +++ 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/c3nav/mapdata/models/base.py b/src/c3nav/mapdata/models/base.py index 68331dc5..b341ce03 100644 --- a/src/c3nav/mapdata/models/base.py +++ b/src/c3nav/mapdata/models/base.py @@ -97,8 +97,8 @@ class BoundsMixin(SerializableMixin, models.Model): return result result = cls.objects.all().aggregate(models.Min('left'), models.Min('bottom'), models.Max('right'), models.Max('top')) - result = ((float(result['left__min']), float(result['bottom__min'])), - (float(result['right__max']), float(result['top__max']))) + result = ((float(result['left__min'] or 0), float(result['bottom__min'] or 0)), + (float(result['right__max'] or 10), float(result['top__max'] or 10))) cache.set(cache_key, result, 900) return result diff --git a/src/c3nav/site/static/site/js/c3nav.js b/src/c3nav/site/static/site/js/c3nav.js index d9b60ba2..04da54bd 100644 --- a/src/c3nav/site/static/site/js/c3nav.js +++ b/src/c3nav/site/static/site/js/c3nav.js @@ -1000,8 +1000,10 @@ c3nav = { if ($map.is('[data-initial-level]')) { c3nav.initial_level = parseInt($map.attr('data-initial-level')); - } else { + } else if (c3nav.levels.length) { c3nav.initial_level = c3nav.levels[0][0]; + } else { + c3nav.initial_level = 0 } c3nav.level_labels_by_id = {}; diff --git a/src/c3nav/site/views.py b/src/c3nav/site/views.py index e32e6088..543949d7 100644 --- a/src/c3nav/site/views.py +++ b/src/c3nav/site/views.py @@ -114,6 +114,9 @@ def map_index(request, mode=None, slug=None, slug2=None, details=None, options=N }) initial_bounds = settings.INITIAL_BOUNDS + if not initial_bounds: + initial_bounds = (0, 0, 10, 10) + ctx = { 'bounds': json.dumps(Source.max_bounds(), separators=(',', ':')), 'levels': json.dumps(tuple((level.pk, level.short_label) for level in levels.values()), separators=(',', ':')),