예제 #1
0
def create_user():
    # declare the Registration Form
    form = CreateUserForm(request.form)
    # check if both http method is POST and form is valid on submit
    if form:
        # assign form data to variables
        username = request.form.get('username', '', type=str)
        password = request.form.get('password', '', type=str)
        first_name = request.form.get('first_name')
        last_name = request.form.get('last_name')
        mobile = request.form.get('mobile')
        address = request.form.get('address')
        roles = request.form.getlist('roles[]')

        # filter User out of database through username
        user = User.query.filter_by(username=username).first()

        if user:
            msg = 'Error: User exists!'

        else:

            pw_hash = bc.generate_password_hash(password)

            user = User(first_name, last_name, mobile, username, pw_hash,
                        address, roles)

            user.save()

            msg = 'Success'

    else:
        msg = 'Input error'

    return {"msg": msg}
예제 #2
0
파일: cli.py 프로젝트: vnpvnp/appseed
def create_user(email, username, password):

    if User.query.filter_by(user=username).scalar():
        #print "Username already registerred .."
        return None

    if User.query.filter_by(email=email).scalar():
        #print "eMail already registerred .."
        return None

    # regex to check for e-mail syntax
    if not re.match("(^.+@{1}.+\.{1}.+)", str(email)):

        print "Invalid e-mail. Please try again."
        return None
        #return "Invalid e-mail. Please try again."

    # hash the password here (bcrypt has salting included)
    pw_hash = bc.generate_password_hash(password)

    # if form is valid and all verification is complete
    # create User object and give the parameters in order
    user = User(username, pw_hash, email)

    user.save()

    print "user created id = " + str(user.id)
    return user
예제 #3
0
def register():
    form = RegisterForm(request.form)
    msg = None

    if request.method == 'GET':
        return render_template('layouts/auth-default.html',
                               content=render_template('pages/register.html',
                                                       form=form,
                                                       msg=msg))

    # check if both http method is POST and form is valid on submit
    if form.validate_on_submit():
        password = request.form.get('password', '', type=str)
        email = request.form.get('email', '', type=str).lower()
        confirmPassword = request.form.get('confirm_password', '', type=str)
        user_by_email = User.query.filter_by(email=email).first()

        if confirmPassword == password:
            if user_by_email:
                msg = 'Error: User exists!'
            else:
                pw_hash = bc.generate_password_hash(password)
                user = User(email, pw_hash)
                user.save()
                msg = 'User created, please <a href="' + url_for(
                    'login') + '">login</a>'
        else:
            msg = "Error: Password do not match."
    else:
        msg = 'Input error'

    return render_template('layouts/auth-default.html',
                           content=render_template('pages/register.html',
                                                   form=form,
                                                   msg=msg))
예제 #4
0
파일: tests.py 프로젝트: seashaw/image-site
def recreateDatabase():
    """
    Function to recreate database tables, make a user for testing,
    and create application roles.
    """
    print("Dropping and recreating database tables.")
    db.drop_all()
    db.create_all()
    print("Cleansing user uploads folder.")
    shutil.rmtree('app/static/uploads/1/')
    os.mkdir('app/static/uploads/1')
    os.chmod('app/static/uploads/1', mode=0o777)
    print("Creating application roles and first user.")
    user = User(password=bc.generate_password_hash('la73ralu5', rounds=12),
            user_name='cshaw')
    from app.roles import active_role, admin_role, verified_role
    db.session.add(admin_role)
    db.session.add(active_role)
    db.session.add(verified_role)
    db.session.flush()
    user.roles.append(admin_role)
    user.roles.append(active_role)
    user.roles.append(verified_role)
    db.session.add(user)
    db.session.commit()
예제 #5
0
 def __init__(self, username, password, display_name, is_admin):
     self.public_id = str(uuid.uuid4())
     self.username = username
     self.password = bc.generate_password_hash(password).decode('utf-8')
     self.display_name = display_name
     self.is_admin = is_admin
     self.is_active = True
     self.token = None
예제 #6
0
def register():

    #return 'NA'

    # define login form here
    form = RegisterForm(request.form)

    msg = None

    # custommize your pate title / description here
    page_title = 'Register - Material Kit coded in Flask | AppSeed App Generator'
    page_description = 'Material Kit by Creative-Tim coded in Flask Microframework, registration page.'

    # check if both http method is POST and form is valid on submit
    if form.validate_on_submit():

        # assign form data to variables
        username = request.form.get('username', '', type=str)
        password = request.form.get('password', '', type=str)
        email = request.form.get('email', '', type=str)

        # dummy
        name = username

        # filter User out of database through username
        user = User.query.filter_by(user=username).first()

        # filter User out of database through username
        user_by_email = User.query.filter_by(email=email).first()

        if user or user_by_email:
            msg = 'Error: User exists!'

        else:
            pw_hash = bc.generate_password_hash(password)

            user = User(username, pw_hash, name, email)

            user.save()

            msg = 'User created, please <a href="' + url_for(
                'login') + '">login</a>'

    # try to match the pages defined in -> themes/phantom/pages/
    return render_template('layouts/default.html',
                           title=page_title,
                           description=page_description,
                           page="login",
                           content=render_template('pages/register.html',
                                                   form=form,
                                                   msg=msg))
예제 #7
0
def register():

    # declare the Registration Form
    form = RegisterForm(request.form)

    msg = None
    success = False

    if request.method == 'GET':

        return render_template('accounts/register.html', form=form, msg=msg)

    # check if both http method is POST and form is valid on submit
    if form.validate_on_submit():

        # assign form data to variables
        username = request.form.get('username', '', type=str)
        password = request.form.get('password', '', type=str)
        email = request.form.get('email', '', type=str)

        # filter User out of database through username
        user = User.query.filter_by(user=username).first()

        # filter User out of database through username
        user_by_email = User.query.filter_by(email=email).first()

        if user or user_by_email:
            msg = 'Error: User exists!'

        else:

            pw_hash = bc.generate_password_hash(password)

            user = User(username, email, pw_hash)

            user.save()

            msg = 'User created, please <a href="' + url_for(
                'login') + '">login</a>'
            success = True

    else:
        msg = 'Input error'

    return render_template('accounts/register.html',
                           form=form,
                           msg=msg,
                           success=success)
예제 #8
0
def Signup():

    # define login form here
    form = RegisterForm(request.form)

    msg = None

    # custommize your pate title / description here
    page_title = 'SignUP - SMPEV'
    page_description = 'SMPEV Dashboard, registration page.'

    # check if both http method is POST and form is valid on submit
    if form.validate_on_submit():

        # assign form data to variables
        username = request.form.get('username', '', type=str)
        password = request.form.get('password', '', type=str)
        name = request.form.get('name', '', type=str)
        email = request.form.get('email', '', type=str)

        # filter User out of database through username
        user = User.query.filter_by(user=username).first()

        # filter User out of database through username
        user_by_email = User.query.filter_by(email=email).first()

        if user:
            msg = 'Error: Username exists!'
        elif (user_by_email):
            msg = 'Error: e-mail exists!'
        else:
            pw_hash = bc.generate_password_hash(password)

            user = User(username, pw_hash, name, email)

            user.save()

            msg = 'User created, please <a href="' + url_for(
                'login') + '">login</a>'
            return redirect(url_for('login'))

    # try to match the pages defined in -> themes/light-bootstrap/pages/
    return render_template('layouts/default.html',
                           title=page_title,
                           content=render_template('pages/index.html',
                                                   form=form,
                                                   msg=msg))
예제 #9
0
파일: views.py 프로젝트: vnpvnp/appseed
def register():

    # declare the form here
    form = RegisterForm(request.form)

    # validate_on_submit() checks if both http method is POST and the form is valid
    # on submit
    if form.validate_on_submit():

        # get form data and assign it to variables
        username = request.form.get('username', '', type=str)
        email = request.form.get('email', '', type=str)
        password = request.form.get('password', '', type=str)
        password_conf = request.form.get('password_conf', '', type=str)

        #name     = request.form.get('name'     ,   '', type=str) #not used

        if user_exists(email, username):
            return "Username or email already registerred. Please try again."

        # regex to check for e-mail syntax
        if not re.match("(^.+@{1}.+\.{1}.+)", str(email)):
            return "Invalid e-mail. Please try again."

        # check if passwords match
        if not password == password_conf:
            return "Passwords do no match. Please try again."

        # hash the password here (bcrypt has salting included)
        pw_hash = bc.generate_password_hash(password)

        # if form is valid and all verification is complete
        # create User object and give the parameters in order
        user = User(username, pw_hash, email)

        # add User object to database
        db.session.add(user)

        # commit change
        db.session.commit()

        return 'Registration ok, you can login ... '

    return render_template('auth/base.html',
                           content=render_template('auth/register.html',
                                                   form=form))
예제 #10
0
def api_register():
    password = request.form.get('password', '', type=str)
    email = request.form.get('email', '', type=str).lower()
    confirmPassword = request.form.get('confirm_password', '', type=str)
    user_by_email = User.query.filter_by(email=email).first()

    if confirmPassword == password:
        if user_by_email:
            msg = 'User exists already.'
        else:
            pw_hash = bc.generate_password_hash(password)
            user = User(email, pw_hash)
            user.save()
            return jsonify({'success': 'User created successfully'}), 200
    else:
        msg = 'Password do not match'

    return jsonify({'error': msg}), 422
예제 #11
0
def main_register():
    commonVariables()

    if request.method == 'POST':
        user = User(firstName=request.form['firstName'],
                    lastName=request.form['lastName'],
                    email=request.form['email'],
                    password=bc.generate_password_hash(
                        request.form['password']))
        db.session.add(user)
        db.session.commit()
        return redirect(url_for('main_login'))
    return render_template('main/register.html',
                           shopContacts=shopContacts,
                           cards=cards,
                           socialMedias=socialMedias,
                           loginStat=loginStat,
                           loginId=loginId)
예제 #12
0
def reset_password():
    msg = None
    if current_user.is_authenticated:
        return redirect(url_for('/'))
    form = PasswordResetForm()
    loginForm = LoginForm()
    if form.validate_on_submit():
        user = User.verify_reset_token(request.form.get('token'))
        if user:
            password = request.form.get('password')
            user.password = bc.generate_password_hash(password)
            db.session.commit()
            msg = "Password changed. Now you can login."
        else:
            msg = "Sorry Invalid token."
    return render_template('layouts/auth-default.html',
                           content=render_template('pages/login.html',
                                                   form=loginForm,
                                                   msg=msg))
예제 #13
0
def create_user(email, name, username, password):

    # regex to check for e-mail syntax
    if not re.match("(^.+@{1}.+\.{1}.+)", str(email)):

        print("Invalid e-mail. Please try again.")
        return None
        #return "Invalid e-mail. Please try again."

    # hash the password here (bcrypt has salting included)
    pw_hash = bc.generate_password_hash(password)

    # if form is valid and all verification is complete
    # create User object and give the parameters in order
    user = User(username, pw_hash, name, email)

    user.save()

    print("user created ok: " + str(user.id))
    return user
예제 #14
0
 def __init__(self,
              fullname,
              username,
              email,
              password,
              phoneno=None,
              address=None,
              staff_no='',
              role_id=1,
              photourl=None):
     self.fullname = fullname
     self.username = username
     self.password = bc.generate_password_hash(password).decode('utf-8')
     self.email = email
     self.phoneno = phoneno
     self.address = address
     self.role_id = role_id
     self.staffno = str(random.randint(
         100000, 999999)) if staff_no == '' else staff_no
     self.photo = photourl if photourl is not None else 'sample.png'
예제 #15
0
def registerStudent(form):
    hashed_password = bc.generate_password_hash(
        form.password.data).decode('utf-8')
    username = (form.lastName.data + form.firstName.data[0] +
                (form.middleName.data[0]
                 if len(form.middleName.data) > 0 else '')).lower()
    sListLen = len(
        db.session.query(Student).filter(Student.username.like(username +
                                                               '%')).all())
    if sListLen > 0:
        username = username + str(sListLen + (1 if sListLen != 1 else 0))
    email = username + '@notapp.edu'
    student = Student(fname=form.firstName.data,
                      mname=form.middleName.data,
                      lname=form.lastName.data,
                      username=username,
                      email=email,
                      password=hashed_password)
    db.session.add(student)
    db.session.commit()
    return username
예제 #16
0
def register():
    
    #return 'NA'    

    # define login form here
    form = RegisterForm(request.form)

    msg = None

    # check if both http method is POST and form is valid on submit
    if form.validate_on_submit():

        # assign form data to variables
        username = request.form.get('username', '', type=str)
        password = request.form.get('password', '', type=str) 
        name     = request.form.get('name'    , '', type=str) 
        email    = request.form.get('email'   , '', type=str) 

        # filter User out of database through username
        user = User.query.filter_by(user=username).first()

        # filter User out of database through username
        user_by_email = User.query.filter_by(email=email).first()

        if user or user_by_email:
            msg = 'Error: User exists!'
        
        else:                    
            pw_hash = bc.generate_password_hash(password)

            user = User(username, pw_hash, name, email)

            user.save()

            msg = 'User created, please <a href="' + url_for('login') + '">login</a>'     

    # try to match the pages defined in -> themes/phantom/pages/
    return render_template( 'layouts/default.html',
                            content=render_template( 'pages/register.html', form=form, msg=msg) )
예제 #17
0
import os
import shutil
from datetime import datetime
from pytz import utc
# Drop all database tables.
print("Dropping and recreating database tables.")
db.drop_all()
db.create_all()
# Remove all user uploads.
print("Removing and recreating upload folder.")
shutil.rmtree('app/static/uploads/1/')
os.mkdir('app/static/uploads/1')
os.chmod('app/static/uploads/1', mode=0o777)
# Create default user.
print("Creating new user.")
user = User(password=bc.generate_password_hash('la73ralu5', rounds=12),
        user_name='cshaw')
# Creating roles.
print("Creating roles.")
from app.roles import active_role, admin_role, verified_role
print("Adding roles to session.")
db.session.add(admin_role)
db.session.add(active_role)
db.session.add(verified_role)
db.session.flush()
# Add roles to user object.
print("Adding roles to user.")
user.roles.append(admin_role)
user.roles.append(active_role)
user.roles.append(verified_role)
print("Adding user to session.")