Esempio n. 1
0
def home(request, template="radio/home/index.html", extra_context=None):
    current_dj_object = retrieve_current_dj()
    current_song_object = retrieve_current_song()

    news_objects = News.objects.all().order_by("-time")[:3]

    played_objects = Played.objects.all().select_related()
    played_objects = played_objects.order_by("time")[:10]

    queue_objects = Queue.objects.filter(user=current_dj_object)
    queue_objects = queue_objects.select_related().order_by('time')[:10]

    context = {
        "news": news_objects,
        "played": played_objects,
        "queue": queue_objects,
        "current": current_song_object,
        "current_dj": current_dj_object,
    }

    if extra_context is not None:
        context.update(extra_context)

    return render_to_response(template, context,
                              context_instance=RequestContext(request))
Esempio n. 2
0
def queue(request, user=None, page=1):
    if user is None:
        user = retrieve_current_dj()

    if user is None:
        queryset = Queue.objects.none()
    else:
        queryset = Queue.objects.all().filter(user=user)
        queryset = queryset.order_by("-time").select_related()

    paginator = Paginator(queryset, settings.RESULTS_PER_PAGE)

    try:
        page = paginator.page(int(page))
    except InvalidPage:
        raise Http404("No such page.")
    except ValueError:
        raise Http404("Invalid page number.")

    context = RequestContext(request, {
        "queue_page": page,
        "queue_user": user,
    })

    return render(request, "queue/index.html",
                  context_instance=context)