def render_registration_page(): form = RegistrationForm() if form.validate_on_submit(): username = form.username.data first_name = form.first_name.data last_name = form.last_name.data password = form.password.data phone_num = form.phone_number.data query = "SELECT * FROM app_user WHERE username = '******'".format(username) exists_user = db.session.execute(query).fetchone() if exists_user: form.username.errors.append( "{} is already in use.".format(username)) else: query = "INSERT INTO app_user(username, first_name, last_name, password, phone_number) " \ "VALUES ('{}', '{}', '{}', '{}', '{}')" \ .format(username, first_name, last_name, password, phone_num) db.session.execute(query) db.session.commit() query = "INSERT INTO passenger(username, p_rating) VALUES('{}', NULL)".format( username) db.session.execute(query) db.session.commit() form.message = "Register successful! Please login with your newly created account." return render_template("registration.html", form=form)
def register_user(request): """ Handles user Registration """ form = RegistrationForm(request.POST) if request.method == 'POST': if form.is_valid(): username = form.cleaned_data['username'] email = form.cleaned_data['email'] password = form.cleaned_data['password'] confirm = form.cleaned_data['confirm'] try: user = User.objects.get(email=email) form.error = "Email already registered!" return render(request, 'registration.html', {'form': form}) except User.DoesNotExist: if password == confirm: password = make_password(password) if is_password_usable(password): user = User(username=username, email=email, password=password) user.save() form = RegistrationForm() form.message = "Success" else: form.message = "Password cannot be used" else: form.message = "Comfirm and Password field do not match" return render(request, 'registration.html', {'form': form, 'page': 'reg'}) except Exception as e: #logging be implemented here print e else: form.error = "Invalid form feild Values" return render(request, 'registration.html', {'form': form, 'page': 'reg'}) else: form = RegistrationForm() return render(request, 'registration.html', {'form': form, 'page': 'reg'})