Example #1
0
def index(request, template_name='webpage/index.html'):
    if is_party_assigned(request):
        return redirect('webparty:index')

    join_party_form = JoinPartyForm(request.POST or None)
    join_party_form.fields['admin_password'].widget = forms.HiddenInput()
    set_passwd_form = SetPasswordForm(request.POST or None)

    if join_party_form.is_valid():
        party_tag = join_party_form.cleaned_data['party_tag']

        try:
            party = Party.objects.get(tag=party_tag)
        except:
            party = None

        user = get_user(request)
        if not user:
            user = User(session=Session.objects.get(
                session_key=request.session.session_key),
                        party=party)
        else:
            user.party = party
        user.save()

        return redirect('webparty:index')

    if set_passwd_form.is_valid():
        party = Party()
        party.init_party()
        user = get_user(request)
        if not user:
            user = User(session=Session.objects.get(
                session_key=request.session.session_key),
                        party=party)
        else:
            user.party = party
        user.save()
        party.admins.add(user)
        party.password = set_passwd_form.cleaned_data['password']
        party.save()

        return redirect('player')

    context = {
        'join_form': join_party_form,
        'host_form': set_passwd_form,
    }

    return render(request, template_name, context)
Example #2
0
def join_party(request):
    if is_party_assigned(request):
        return redirect('player')

    if request.method == 'POST':
        form = JoinPartyForm(request.POST)
        if form.is_valid():
            party_tag = form.cleaned_data['party_tag']
            party = Party.objects.get(tag=party_tag)
            password = form.cleaned_data['admin_password']
            user = get_user(request)
            if not user:
                user = User(session=Session.objects.get(session_key=request.session.session_key), party=party)
            else:
                user.party = party
            user.save()

            if password != '' and password == party.password:
                party.admins.add(user)
                party.save()

            return redirect('player')
    else:
        form = JoinPartyForm()

    return render(request, 'party/join_party.html', {'join_party_form': form})
Example #3
0
def host_party(request):
    if not is_party_assigned(request):
        party = Party()
        party.init_party()
        user = get_user(request)
        if not user:
            user = User(session=Session.objects.get(session_key=request.session.session_key), party=party)
        else:
            user.party = party
        user.save()
        party.admins.add(user)
        party.save()

    return redirect('player')