示例#1
0
def register():
    """Registers the user."""
    if g.user:
        return redirect(url_for('timeline'))
    error = None
    if request.method == 'POST':
        if not request.form['username']:
            error = 'You have to enter a username'
        elif not request.form['email'] or \
                 '@' not in request.form['email']:
            error = 'You have to enter a valid email address'
        elif not request.form['password']:
            error = 'You have to enter a password'
        elif request.form['password'] != request.form['password2']:
            error = 'The two passwords do not match'
        elif get_user_id(request.form['username']) is not None:
            error = 'The username is already taken'
        else:
            db = get_db()
            db.execute(
                '''insert into user (
                username, full_name, email, birth_date, state, city, pw_hash)
                values (?, ?, ?, ?, ?, ?, ?)''', [
                    request.form['username'], request.form['full_name'],
                    request.form['email'], request.form['birth_date'],
                    request.form['state'], request.form['city'],
                    generate_password_hash(request.form['password'])
                ])
            db.commit()
            user_utils.force_follow_department(db)
            flash('You were successfully registered and can login now')
            return redirect(url_for('login'))
    return render_template('register.html', error=error)
示例#2
0
def register():
    """Registers the user."""
    if g.user:
        return redirect(url_for('timeline'))
    error = None
    if request.method == 'POST':
        if not request.form['username']:
            error = 'You have to enter a username'
        elif not request.form['email'] or \
                 '@' not in request.form['email']:
            error = 'You have to enter a valid email address'
        elif not request.form['password']:
            error = 'You have to enter a password'
        elif request.form['password'] != request.form['password2']:
            error = 'The two passwords do not match'
        elif get_user_id(request.form['username']) is not None:
            error = 'The username is already taken'
        else:
            db = get_db()
            db.execute('''insert into user (
                username, full_name, email, birth_date, state, city, pw_hash)
                values (?, ?, ?, ?, ?, ?, ?)''',
                [request.form['username'],
                request.form['full_name'],
                request.form['email'],
                request.form['birth_date'],
                request.form['state'],
                request.form['city'],
                generate_password_hash(request.form['password'])])
            db.commit()
            user_utils.force_follow_department(db)
            flash('You were successfully registered and can login now')
            return redirect(url_for('login'))
    return render_template('register.html', error=error)
示例#3
0
def register_department():
    """Registers a government affiliated department."""
    if g.user:
        return redirect(url_for('timeline'))
    error = None
    if request.method == 'POST':
        if not request.form['username']:
            error = 'You have to enter a username'
        elif not request.form['email'] or \
                 '@' not in request.form['email']:
            error = 'You have to enter a valid email address'
        elif not request.form['password']:
            error = 'You have to enter a password'
        elif request.form['password'] != request.form['password2']:
            error = 'The two passwords do not match'
        elif get_user_id(request.form['username']) is not None:
            error = 'The username is already taken'
        else:
            db = get_db()
            db.execute(
                '''insert into department (
                username, email, department_name, state, city, pw_hash) values (?, ?, ?, ?, ?, ?)''',
                [
                    request.form['username'], request.form['email'],
                    request.form['department_name'], request.form['state'],
                    request.form['city'],
                    generate_password_hash(request.form['password'])
                ])
            db.commit()
            user_utils.force_follow_department(db)

            department = query_db('''select * from department where
            username = ?''', [request.form['username']],
                                  one=True)

            department_utils.follow_tags(get_db(), department['department_id'],
                                         request.form['follow_tags'])

            flash('''You were successfully registered. Verification is pending.
                If your email address ends in .gov or .gov.in your account will
                be automatically verified.''')
            return redirect(url_for('login_department'))
    return render_template('register-department.html', error=error)
示例#4
0
def register_department():
    """Registers a government affiliated department."""
    if g.user:
        return redirect(url_for('timeline'))
    error = None
    if request.method == 'POST':
        if not request.form['username']:
            error = 'You have to enter a username'
        elif not request.form['email'] or \
                 '@' not in request.form['email']:
            error = 'You have to enter a valid email address'
        elif not request.form['password']:
            error = 'You have to enter a password'
        elif request.form['password'] != request.form['password2']:
            error = 'The two passwords do not match'
        elif get_user_id(request.form['username']) is not None:
            error = 'The username is already taken'
        else:
            db = get_db()
            db.execute('''insert into department (
                username, email, department_name, state, city, pw_hash) values (?, ?, ?, ?, ?, ?)''',
                [request.form['username'],
                request.form['email'],
                request.form['department_name'],
                request.form['state'],
                request.form['city'],
                generate_password_hash(request.form['password'])])
            db.commit()
            user_utils.force_follow_department(db)

            department = query_db('''select * from department where
            username = ?''', [request.form['username']], one=True)

            department_utils.follow_tags(
                get_db(),
                department['department_id'], 
                request.form['follow_tags'])

            flash('''You were successfully registered. Verification is pending.
                If your email address ends in .gov or .gov.in your account will
                be automatically verified.''')
            return redirect(url_for('login_department'))
    return render_template('register-department.html', error=error)