|
|
|
@ -16,6 +16,7 @@ from .forms import LoginForm
|
|
|
|
|
from .ungleich_ldap import LdapManager |
|
|
|
|
|
|
|
|
|
import logging |
|
|
|
|
import re |
|
|
|
|
|
|
|
|
|
logger = logging.getLogger(__name__) |
|
|
|
|
|
|
|
|
@ -30,6 +31,9 @@ import string
|
|
|
|
|
from django.conf import settings |
|
|
|
|
from django.contrib.auth.mixins import LoginRequiredMixin |
|
|
|
|
|
|
|
|
|
# Small helper used for registration. |
|
|
|
|
def is_username_valid(username): |
|
|
|
|
return re.fullmatch(r"^[a-z|0-9|\-|_]+$", username) |
|
|
|
|
|
|
|
|
|
class Index(FormView): |
|
|
|
|
template_name = "landing.html" |
|
|
|
@ -37,9 +41,9 @@ class Index(FormView):
|
|
|
|
|
success_url = 'useroptions.html' |
|
|
|
|
|
|
|
|
|
def form_valid(self, form): |
|
|
|
|
email = form.cleaned_data.get('email') |
|
|
|
|
username = form.cleaned_data.get('username') |
|
|
|
|
password = form.cleaned_data.get('password') |
|
|
|
|
user = authenticate(username=email, password=password) |
|
|
|
|
user = authenticate(username=username, password=password) |
|
|
|
|
if user is not None: |
|
|
|
|
login(self.request, user) |
|
|
|
|
return render(self.request, 'useroptions.html', { 'user': user } ) |
|
|
|
@ -64,7 +68,16 @@ class Register(View):
|
|
|
|
|
username = request.POST.get('username') |
|
|
|
|
|
|
|
|
|
if username == "" or not username: |
|
|
|
|
return render(request, 'error.html', { 'urlname': urlname, 'service': service, 'error': 'Please supply a username.' } ) |
|
|
|
|
return render(request, 'error.html', { |
|
|
|
|
'urlname': urlname, |
|
|
|
|
'service': service, |
|
|
|
|
'error': 'Please supply a username.' } ) |
|
|
|
|
|
|
|
|
|
if not is_username_valid(username): |
|
|
|
|
return render(request, 'error.html', { |
|
|
|
|
'urlname': urlname, |
|
|
|
|
'service': service, |
|
|
|
|
'error': 'You can only use lowercase letters, numbers, underscores and the dash character in your username.' } ) |
|
|
|
|
|
|
|
|
|
password1 = request.POST.get('password1') |
|
|
|
|
password2 = request.POST.get('password2') |
|
|
|
@ -491,7 +504,6 @@ class PseudoUser():
|
|
|
|
|
class UserCreateAPI(APIView): |
|
|
|
|
|
|
|
|
|
def post(self, request): |
|
|
|
|
|
|
|
|
|
username = request.POST.get('username') |
|
|
|
|
email = request.POST.get('email') |
|
|
|
|
firstname = request.POST.get('firstname') |
|
|
|
|