Base structure for event-specific control

This commit is contained in:
Raphael Michel
2014-09-12 22:10:37 +02:00
parent 1b579a7e45
commit b47c6e14fa
4 changed files with 30 additions and 1 deletions

View File

@@ -5,6 +5,7 @@ from django.utils.six.moves.urllib.parse import urlparse
from django.shortcuts import resolve_url from django.shortcuts import resolve_url
from django.contrib.auth import REDIRECT_FIELD_NAME from django.contrib.auth import REDIRECT_FIELD_NAME
from django.http import HttpResponseNotFound from django.http import HttpResponseNotFound
from django.utils.translation import ugettext as _
from tixlbase.models import Event from tixlbase.models import Event
@@ -45,6 +46,8 @@ class PermissionMiddleware:
return redirect_to_login( return redirect_to_login(
path, resolved_login_url, REDIRECT_FIELD_NAME) path, resolved_login_url, REDIRECT_FIELD_NAME)
request.user.events_cache = request.user.events.order_by(
"organizer", "date_from").prefetch_related("organizer")
if 'event.' in url_name and 'event' in url.kwargs: if 'event.' in url_name and 'event' in url.kwargs:
try: try:
request.event = Event.objects.get( request.event = Event.objects.get(

View File

@@ -0,0 +1,20 @@
{% extends "tixlcontrol/base.html" %}
{% load i18n %}
{% block nav %}
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class="fa fa-calendar"></i> {{ request.event.slug }} <span class="caret"></span></a>
<ul class="dropdown-menu" role="menu">
<li><a href="{% url "control:events" %}">{% trans "Event overview" %}</a></li>
{% regroup request.user.events_cache by organizer as event_list %}
{% for g in event_list %}
<li class="dropdown-header">{{ g.grouper }}</li>
{% for e in g.list %}
<li><a href="{% url "control:event.index" event=e.slug %}">{{ e.name }}</a></li>
{% endfor %}
{% endfor %}
</ul>
</li>
<li {% if url_name == "event.index" %}class="active"{% endif %}><a href="{% url 'control:index' %}">{% trans "Dashboard" %}</a></li>
<li {% if "event.settings" in url_name %}class="active"{% endif %}><a href="">{% trans "Settings" %}</a></li>
{% endblock %}

View File

@@ -0,0 +1,6 @@
{% extends "tixlcontrol/event/base.html" %}
{% load i18n %}
{% block title %}{{ request.event.name }}{% endblock %}
{% block content %}
<h1>{{ request.event.name }}</h1>
{% endblock %}

View File

@@ -2,4 +2,4 @@ from django.shortcuts import render
def index(request, event): def index(request, event):
pass return render(request, 'tixlcontrol/event/index.html', {})