def connect_accounts(request): if not request.session.get('sceneid_login_userdata'): return redirect('log_in') form = SceneIDUserSignupForm( initial={ 'username': re.sub(r"[^a-z0-9A-Z]+", "", request.session['sceneid_login_userdata']['display_name']) }) if request.POST.get("accountExisting"): user = authenticate(username=request.POST.get("username"), password=request.POST.get("password")) if user is not None and user.is_active: sceneid = SceneID( user=user, sceneid=request.session['sceneid_login_userdata']['id']) sceneid.save() login(request, user) del request.session['sceneid_login_userdata'] return redirect('home') else: messages.error(request, "Invalid login!") elif request.POST.get("accountNew"): form = SceneIDUserSignupForm(request.POST) if form.is_valid(): sceneid_num = request.session['sceneid_login_userdata']['id'] user = form.save() SceneID.objects.create(user=user, sceneid=sceneid_num) user = authenticate(sceneid=sceneid_num) login(request, user) try: del request.session['sceneid_login_userdata'] except KeyError: # login will overwrite request.session if the old session was authenticated pass return redirect('home') return render( request, 'shared/sceneid_connect_accounts.html', { 'nick': request.session['sceneid_login_userdata']['display_name'], 'form': form, })
def connect_accounts(request): if not request.session.get('sceneid_login_userdata'): return redirect('log_in') form = SceneIDUserSignupForm(initial={ 'username': re.sub(r"[^a-z0-9A-Z]+", "", request.session['sceneid_login_userdata']['display_name']) }) if request.POST.get("accountExisting"): user = authenticate(username=request.POST.get("username"), password=request.POST.get("password")) if user is not None and user.is_active: sceneid = SceneID(user=user, sceneid=request.session['sceneid_login_userdata']['id']) sceneid.save() login(request, user) del request.session['sceneid_login_userdata'] return redirect('home') else: messages.error(request, "Invalid login!") elif request.POST.get("accountNew"): form = SceneIDUserSignupForm(request.POST) if form.is_valid(): sceneid_num = request.session['sceneid_login_userdata']['id'] user = form.save() SceneID.objects.create(user=user, sceneid=sceneid_num) user = authenticate(sceneid=sceneid_num) login(request, user) try: del request.session['sceneid_login_userdata'] except KeyError: # login will overwrite request.session if the old session was authenticated pass return redirect('home') return render(request, 'shared/sceneid_connect_accounts.html', { 'nick': request.session['sceneid_login_userdata']['display_name'], 'form': form, })