コード例 #1
0
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,
        })
コード例 #2
0
ファイル: auth.py プロジェクト: Gargaj/demozoo
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,
	})