#!/usr/bin/env python3 """ Quest and quest accessory views. """ from django.shortcuts import render, redirect from django.http import HttpResponse from .models import Quest, DiceRoll, PollOption, PollVote, PageTitle def index(request): """ /quest page index. Possibly not needed. """ return HttpResponse("Hello, world. You're at the quest index.") def quest(request, quest_id, page_num=1): """ Arbituary quest page view. """ quest = Quest.objects.get(id=quest_id) pages = PageTitle.objects.filter(quest=quest).order_by('page_num') messages = quest.message_set.all() posts = quest.post_set.all() dice_rolls = DiceRoll.objects.filter(dicecall__post__quest=quest) poll_options = PollOption.objects.filter(poll__post__quest=quest) poll_votes = PollVote.objects.filter(option__poll__post__quest=quest) ip_address = request.META['REMOTE_ADDR'] context = locals() return render(request, 'quest/quest.html', context) def edit_quest(request, quest_id, page_num=1): """ Edit quest page. Only available to the QM. """ quest = Quest.objects.get(id=quest_id) if quest.owner != request.user: return redirect('quest:quest', quest_id=quest_id, page_num=page_num) if request.method == 'POST': pass else: pass context = locals() return render(request, 'quest/edit_quest.html', context)