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)
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})
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')