1
0
Fork 0

Allow account registration with invites.

This commit is contained in:
Adam Kelly 2020-06-01 22:34:45 +01:00
parent e0a009a0f1
commit 48f7fd34a7
8 changed files with 111 additions and 4 deletions

View file

@ -51,7 +51,17 @@ def register(request):
return redirect('/login')
if not models.SiteSettings.get().allow_registration:
raise PermissionDenied
invite_code = request.POST.get('invite_code')
if not invite_code:
raise PermissionDenied
try:
invite = models.SiteInvite.objects.get(code=invite_code)
except models.SiteInvite.DoesNotExist:
raise PermissionDenied
else:
invite = None
form = forms.RegisterForm(request.POST)
if not form.is_valid():
@ -62,6 +72,10 @@ def register(request):
password = form.data['password']
user = models.User.objects.create_user(username, email, password)
if invite:
invite.times_used += 1
invite.save()
login(request, user)
return redirect('/')