|
- import web
- from views.forms import register_form
- import models.register
- import models.login
- from views.utils import get_nav_bar
- import hashlib
- import re
-
- # Get html templates
- render = web.template.render('templates/')
-
-
- class Register:
-
- def GET(self):
- """
- Get the registration form
-
- :return: A page with the registration form
- """
- session = web.ctx.session
- nav = get_nav_bar(session)
- return render.register(nav, register_form, "")
-
- def POST(self):
- """
- Handle input data and register new user in database
-
- :return: Main page
- """
- session = web.ctx.session
- nav = get_nav_bar(session)
- data = web.input()
- message = ""
-
- # Check if user exists
- if models.login.get_user_id_by_name(data.username):
- message += "Invalid user, already exists. "
-
- # Check if email is valid
- if not re.match(r"[^@]+@[^@]+\.[^@]+", data.email):
- message += "Invalid email address. "
-
- # Check if password is valid
- if not len(data.password) > 5:
- message += "Invalid password, must be atleast 6 characters long. "
-
- # Register user if input is valid
- if len(message) == 0:
- models.register.set_user(data.username, hashlib.md5(b'TDT4237' + data.password.encode('utf-8')).hexdigest(),
- data.full_name, data.email, data.company, data.phone_number, data.street_address,
- data.city, data.state, data.postal_code, data.country)
- message += "User Registered. "
-
- return render.register(nav, register_form, message)
|