diff --git a/src/c3nav/control/templates/control/base.html b/src/c3nav/control/templates/control/base.html new file mode 100644 index 00000000..4dd01f1d --- /dev/null +++ b/src/c3nav/control/templates/control/base.html @@ -0,0 +1,13 @@ +{% extends 'site/base.html' %} +{% load i18n %} + +{% block title %}{% trans 'c3nav control panel' %}{% endblock %} +{% block header_title %}{% trans 'c3nav control panel' %}{% endblock %} +{% block header_title_url %}{% url 'control.index' %}{% endblock %} + +{% block content %} +
+ {% block subcontent %} + {% endblock %} +
+{% endblock %} diff --git a/src/c3nav/control/templates/control/index.html b/src/c3nav/control/templates/control/index.html new file mode 100644 index 00000000..66d134ac --- /dev/null +++ b/src/c3nav/control/templates/control/index.html @@ -0,0 +1,8 @@ +{% extends 'control/base.html' %} +{% load i18n %} + +{% block subcontent %} +

{% trans 'Overview' %}

+ +

{% trans 'Welcome to the c3nav control panel.' %}

+{% endblock %} diff --git a/src/c3nav/control/urls.py b/src/c3nav/control/urls.py index dfd5e4bc..7058385a 100644 --- a/src/c3nav/control/urls.py +++ b/src/c3nav/control/urls.py @@ -1,6 +1,7 @@ -# from django.conf.urls import url +from django.conf.urls import url +from c3nav.control.views import main_index urlpatterns = [ - # url(r'^register$', register_view, name='control.index'), + url(r'^$', main_index, name='control.index'), ] diff --git a/src/c3nav/control/views.py b/src/c3nav/control/views.py index e69de29b..07f72dc3 100644 --- a/src/c3nav/control/views.py +++ b/src/c3nav/control/views.py @@ -0,0 +1,5 @@ +from django.shortcuts import render + + +def main_index(request): + return render(request, 'control/index.html', {}) diff --git a/src/c3nav/mapdata/context_processors.py b/src/c3nav/mapdata/context_processors.py new file mode 100644 index 00000000..baf2268c --- /dev/null +++ b/src/c3nav/mapdata/context_processors.py @@ -0,0 +1,7 @@ +from c3nav.mapdata.utils.user import get_user_data_lazy + + +def user_data(request): + return { + 'user_data': get_user_data_lazy(request) + } diff --git a/src/c3nav/mapdata/utils/user.py b/src/c3nav/mapdata/utils/user.py index c62a6939..b7cca198 100644 --- a/src/c3nav/mapdata/utils/user.py +++ b/src/c3nav/mapdata/utils/user.py @@ -1,3 +1,4 @@ +from django.utils.functional import lazy from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ungettext_lazy @@ -24,3 +25,6 @@ def get_user_data(request): if request.user.is_authenticated: result['title'] = request.user.username return result + + +get_user_data_lazy = lazy(get_user_data, dict) diff --git a/src/c3nav/settings.py b/src/c3nav/settings.py index 5fbe9dd2..7d2b6e46 100644 --- a/src/c3nav/settings.py +++ b/src/c3nav/settings.py @@ -268,6 +268,7 @@ TEMPLATES = [ 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', + 'c3nav.mapdata.context_processors.user_data', ], 'loaders': template_loaders }, diff --git a/src/c3nav/site/templates/site/base.html b/src/c3nav/site/templates/site/base.html index d0fc37de..6915a459 100644 --- a/src/c3nav/site/templates/site/base.html +++ b/src/c3nav/site/templates/site/base.html @@ -6,7 +6,7 @@ - c3nav + {% block title %}c3nav{% endblock %} {% compress css %} @@ -19,7 +19,7 @@ {% if not embed %}
-

c3nav

+

{% block header_title %}c3nav{% endblock %}

{{ user_data.title }} {% if user_data.subtitle %}{{ user_data.subtitle }}{% endif %} diff --git a/src/c3nav/site/views.py b/src/c3nav/site/views.py index 0a1d4f4b..8e8750ff 100644 --- a/src/c3nav/site/views.py +++ b/src/c3nav/site/views.py @@ -83,7 +83,6 @@ def map_index(request, mode=None, slug=None, slug2=None, details=None, 'levels': json.dumps(tuple((level.pk, level.short_label) for level in levels.values()), separators=(',', ':')), 'state': json.dumps(state, separators=(',', ':'), cls=DjangoJSONEncoder), 'tile_cache_server': settings.TILE_CACHE_SERVER, - 'user_data': get_user_data(request), 'embed': bool(embed), } response = render(request, 'site/map.html', ctx)