Exemplo n.º 1
0
def register():
    login_form = LoginForm(request.form)
    create_account_form = CreateAccountForm(request.form)
    if 'register' in request.form:

        username = request.form['username']
        email = request.form['email']

        # Check usename exists
        user = User.query.filter_by(username=username).first()
        if user:
            return render_template('accounts/register.html',
                                   msg='Username already registered',
                                   success=False,
                                   form=create_account_form)

        # Check email exists
        user = User.query.filter_by(email=email).first()
        if user:
            return render_template('accounts/register.html',
                                   msg='Email already registered',
                                   success=False,
                                   form=create_account_form)

        # else we can create the user
        user = User(**request.form)
        db.session.add(user)
        db.session.commit()

        return redirect(url_for('base_blueprint.login'))

    else:
        return render_template('accounts/register.html',
                               form=create_account_form)
Exemplo n.º 2
0
def create_user():
    login_form = LoginForm(request.form)
    create_account_form = CreateAccountForm(request.form)
    if 'register' in request.form:

        username = request.form['username']
        email = request.form['email']

        user = User.query.filter_by(username=username).first()
        if user:
            return render_template('login/register.html',
                                   msg='Username already registered',
                                   form=create_account_form)

        user = User.query.filter_by(email=email).first()
        if user:
            return render_template('login/register.html',
                                   msg='Email already registered',
                                   form=create_account_form)

        # else we can create the user
        user = User(**request.form)
        db.session.add(user)
        db.session.commit()

        return render_template(
            'login/register.html',
            success='User created please <a href="/login">login</a>',
            form=create_account_form)

    else:
        return render_template('login/register.html', form=create_account_form)
Exemplo n.º 3
0
def user_list():
    notice = session.pop('notice', None)
    error = session.pop('error', None)
    if 'create_account' in request.form:
        user = User(**request.form)
        webui.logger.debug('user: %s', user.username)
        if (not user.username) or (not user.password) or \
                (not user.api_password):
            error = 'User Name, Password, and API Password are required'
        else:
            existing_user = \
                User.query.filter_by(username=user.username).first()
            if existing_user:
                error = "'%s' already exists" % user.username
            else:
                try:
                    db.session.add(user)
                    db.session.commit()
                    session['notice'] = 'Created a user'
                    return redirect(url_for('admin_blueprint.user_list'))
                except Exception as e:
                    webui.logger.error('DB Error: %s', e)
                    error = 'Error: Could not create a user'
                    db.session.rollback()
    users = User.query.all()
    account_form = CreateAccountForm(request.form)
    return render_template('users.html',
                           notice=notice,
                           error=error,
                           users=users,
                           account_form=account_form)
Exemplo n.º 4
0
def create_account(user_type):
    create_account_form = CreateAccountForm(request.form)
    if 'register' in request.form:

        username = request.form['username']
        email = request.form['email']
        password = request.form['password']

        try:
            firebase_user = auth.create_user_with_email_and_password(
                email, password)
            uid = firebase_user['localId']
            # create flask user
            make_user(uid,
                      user_type,
                      email=firebase_user['email'],
                      name=username,
                      token=firebase_user['idToken'])

            msg = 'verification email sent to email {0} \n User created please <a href="/login">login</a>'.format(
                email)
            auth.send_email_verification(firebase_user['idToken'])
            return render_template('login/register.html',
                                   msg=msg,
                                   form=create_account_form)

        except HTTPError as e:
            return render_template('login/register.html',
                                   msg=PrettyHTTPError(e),
                                   form=create_account_form)
    else:
        return render_template('login/register.html', form=create_account_form)
Exemplo n.º 5
0
def login():
    login_form = LoginForm(request.form)
    create_account_form = CreateAccountForm(request.form)

    if 'login' in request.form:
        username = request.form['username']
        password = request.form['password']
        current_app.logger.warning(username)
        current_app.logger.warning(password)
        collection_users = mongo.db['oriyao_users']
        users = collection_users.find_one({"name": username})
        current_app.logger.info('Mongodb user login')
        current_app.logger.info(users)
        if users and Mongouser.check_password(password, users['password']):
            user_obj = Mongouser(username=users['name'])
            current_app.logger.info(user_obj)
            current_app.logger.info('登录成功')
            login_user(user_obj)
            return redirect(url_for('home_blueprint.index'))
        return render_template('login/login.html',
                               login_form=login_form,
                               create_account_form=create_account_form,
                               message='Wrong User or Password')
    if not current_user.is_authenticated:
        return render_template('login/login.html',
                               login_form=login_form,
                               create_account_form=create_account_form)
    return redirect(url_for('home_blueprint.index'))
def create_user():
    """
    The function to route to the registration form.

    Returns:
        Redirection to the registration templates
    """
    login_form = LoginForm(request.form)
    create_account_form = CreateAccountForm(request.form)
    if 'register' in request.form:

        username = request.form['username']
        email = request.form['email']
        gitlab_username = request.form['gitlab_username']
        token = request.form['token']

        user = User.query.filter_by(username=username).first()
        if user:
            return render_template('login/register.html', msg='Username already registered', form=create_account_form)

        user = User.query.filter_by(email=email).first()
        if user:
            return render_template('login/register.html', msg='Email already registered', form=create_account_form)

        # If not, create the user
        user = User(**request.form)
        db.session.add(user)
        db.session.commit()

        return render_template('login/register.html', msg='User created <br> please <a href="/login">login</a>', form=create_account_form)

    else:
        return render_template('login/register.html', form=create_account_form)
Exemplo n.º 7
0
def register():

    create_account_form = CreateAccountForm(request.form)
    if 'register' in request.form:

        username = request.form['username']
        email = request.form['email']

        # Check usename exists
        user = User.query.filter_by(username=username).first()
        if user:
            return render_template('accounts/register.html',
                                   msg='Username already registered',
                                   success=False,
                                   form=create_account_form)

        # Check email exists
        user = User.query.filter_by(email=email).first()
        if user:
            return render_template('accounts/register.html',
                                   msg='Email already registered',
                                   success=False,
                                   form=create_account_form)

        # else we can create the user

        user = User(**request.form)
        user.confirm = 0
        db.session.add(user)
        db.session.commit()

        #增加user跟角色的關係,預設一般用戶為6
        role_info = RolesUsers(user.id, 6)
        db.session.add(role_info)
        db.session.commit()

        #新增帳號啟動信
        token = user.create_confirm_token()
        re_token = token.decode("utf-8").replace("'", '"')
        User.query.filter_by(id=user.id).update(dict(WebToken=token))
        db.session.commit()
        recipients_mail = []
        recipients_mail.append(email)
        send_mail(sender='*****@*****.**',
                  recipients=recipients_mail,
                  subject='Activate your account',
                  template='accounts/mail/welcome',
                  mailtype='html',
                  user=user,
                  token=re_token)

        return render_template(
            'accounts/register.html',
            msg='User created please <a href="/backend/login">login</a>',
            success=True,
            form=create_account_form)

    else:
        return render_template('accounts/register.html',
                               form=create_account_form)
Exemplo n.º 8
0
def create_user():
    if request.method == 'GET':
        userForm = CreateAccountForm(request.form)
        roleform = CreateRoleForm(request.form)
        return render_template('form/create_user.html',
                               userForm=userForm,
                               roleForm=roleform)
    email = request.form['email']
    username = request.form['username']
    check_email = db.session.query(User).filter_by(email=email).first()
    check_username = db.session.query(User).filter_by(
        username=username).first()
    if '@kit.edu.kh' in email:
        print('yeeeeeeeeeeeeeeee')
    else:
        print('noooooooooooooooooo')
    if check_email is None and check_username is None:

        role = db.session.query(Role).get(request.form.get('role'))
        user = User(**request.form)
        print(user.username)
        # user.roles.append(Role('ADMIN'))
        user.roles.append(role)
        db.session.add(user)
        db.session.commit()
        return jsonify('success')
    else:
        return jsonify('duplicate')
Exemplo n.º 9
0
def register():
    login_form = LoginForm(request.form)
    create_account_form = CreateAccountForm(request.form)
    if 'register' in request.form:

        username = request.form['username']
        email = request.form['email']

        # Check usename exists
        user = User.query.filter_by(username=username).first()
        if user:
            return render_template('accounts/register.html',
                                   msg='Username already registered',
                                   success=False,
                                   form=create_account_form)

        # Check email exists
        user = User.query.filter_by(email=email).first()
        if user:
            return render_template('accounts/register.html',
                                   msg='Email already registered',
                                   success=False,
                                   form=create_account_form)

        # else we can create the user
        user = User(
            username=request.form['username'],
            password=request.form['password'],
            email=request.form['email'],
            role=request.form['role'],
        )
        db.session.add(user)
        db.session.commit()

        if request.form['role'] == 'owner':
            car = Car(owner=user,
                      carmodel=request.form['carmodel'],
                      carNo=request.form['carNo'],
                      carcolor=request.form['carcolor'],
                      cartype=request.form['cartype'],
                      active='false')
            db.session.add(car)
            db.session.commit()
            # sendmail(subject="Registration for Flask Admin Boilerplate", sender="Flask Admin Boilerplate",
            #          recipient=email, body="You successfully registered on Flask Admin Boilerplate")
            # print("Done")
        return render_template(
            'accounts/register.html',
            msg='User created please <a href="/login">login</a>',
            success=True,
            form=create_account_form)

    else:
        return render_template('accounts/register.html',
                               form=create_account_form)
Exemplo n.º 10
0
def register():
    login_form = LoginForm(request.form)
    create_account_form = CreateAccountForm(request.form)
    if "register" in request.form:

        username = request.form["username"]
        email = request.form["email"]
        # firstname = request.form["firstname"]
        # lastname = request.form["lastname"]
        # phone = request.form["phone"]

        # Check usename exists
        user = User.query.filter_by(username=username).first()
        if user:
            return render_template(
                "accounts/register.html",
                msg="Username already registered",
                success=False,
                form=create_account_form,
            )

        # Check email exists
        user = User.query.filter_by(email=email).first()
        if user:
            return render_template(
                "accounts/register.html",
                msg="Email already registered",
                success=False,
                form=create_account_form,
            )

        # else we can create the user
        user = User(**request.form)

        # Check newsletter field and convert to boolean
        if user.newsletter == "y":
            user.newsletter = True
        else:
            user.newsletter = False

        db.session.add(user)
        db.session.commit()

        return render_template(
            "accounts/register.html",
            msg='User created please <a href="/login">login</a>',
            success=True,
            form=create_account_form,
        )

    else:
        return render_template("accounts/register.html",
                               form=create_account_form)
Exemplo n.º 11
0
def register():
    form = CreateAccountForm()
    if form.validate_on_submit():
        user = User(**request.form)
        db.session.add(user)
        db.session.commit()

        email_template, subject = generate_url_and_email_template(
            form.email.data,
            form.username.data,
            form.first_name.data,
            form.last_name.data,
            email_category="verify_email",
        )
        send_email.delay(form.email.data, subject, email_template)
        flash(
            "Your account has been created. Check your inbox to verify your email.",
            "success",
        )
        return redirect(url_for("base_blueprint.login"))

    return render_template("accounts/register.html", form=form)
Exemplo n.º 12
0
def login():
    login_form = LoginForm(request.form)
    create_account_form = CreateAccountForm(request.form)
    if 'login' in request.form:
        username = request.form['username']
        password = request.form['password']
        user = User.query.filter_by(username=username).first()
        if user and checkpw(password.encode('utf8'), user.password):
            login_user(user)
            return redirect(url_for('base_blueprint.route_default'))
        return render_template('errors/page_403.html')
    if not current_user.is_authenticated:
        return render_template('login/login.html',
                               login_form=login_form,
                               create_account_form=create_account_form)
    return redirect(url_for('home_blueprint.index'))
Exemplo n.º 13
0
def register():
    login_form = LoginForm(request.form)
    create_account_form = CreateAccountForm(request.form)
    if 'register' in request.form:

        username = request.form['username']
        email = request.form['email']
        key = request.form['key']

        # Check usename exists
        user = User.query.filter_by(username=username).first()
        if user:
            return render_template('accounts/register.html',
                                   msg='Username already registered',
                                   success=False,
                                   form=create_account_form)

        # Check email exists
        user = User.query.filter_by(email=email).first()
        if user:
            return render_template('accounts/register.html',
                                   msg='Email already registered',
                                   success=False,
                                   form=create_account_form)

        # Check the Key
        if key != "daybreak reaction unaltered squeamish pushchair":
            return render_template('accounts/register.html',
                                   msg='Wrong Key',
                                   success=False,
                                   form=create_account_form)

        # else we can create the user
        user = User(**request.form)
        db.session.add(user)
        db.session.commit()

        return render_template(
            'accounts/register.html',
            msg='User created please <a href="/login">login</a>',
            success=True,
            form=create_account_form)

    else:
        return render_template('accounts/register.html',
                               form=create_account_form)
Exemplo n.º 14
0
def register():
    login_form = LoginForm(request.form)
    create_account_form = CreateAccountForm(request.form)
    if 'register' in request.form:

        username = request.form['username']
        email = request.form['email']

        # Check username exists
        user = User.query.filter_by(username=username).first()
        if user:
            return render_template('accounts/register.html',
                                   msg='Username already registered',
                                   success=False,
                                   form=create_account_form)

        # Check email exists
        user = User.query.filter_by(email=email).first()
        if user:
            return render_template('accounts/register.html',
                                   msg='Email already registered',
                                   success=False,
                                   form=create_account_form)

        # else we can create the user
        user = User(**request.form)
        db.session.add(user)
        db.session.commit()

        print("Username")
        print(user.username)
        print("User access")
        print(user.access)
        print("USER ID")
        print(user.id)

        return render_template(
            'accounts/register.html',
            msg='User created please <a href="/login">login</a>',
            success=True,
            form=create_account_form)

    else:
        return render_template('accounts/register.html',
                               form=create_account_form)
Exemplo n.º 15
0
def login():
    login_form = LoginForm(request.form)
    create_account_form = CreateAccountForm(request.form)
    if 'login' in request.form:
        username = request.form['username']
        password = request.form['password']
        user = mgConnection.db.user_info.find_one({"username": username},
                                                  {"_id": 0})
        if user and checkpw(password.encode('utf8'), user['password']):
            user_obj = LoginUser(username=user['username'])
            login_user(user_obj)
            return redirect(url_for('base_blueprint.route_default'))
        return render_template('errors/page_403.html')
    if not current_user.is_authenticated:
        return render_template('login/login.html',
                               login_form=login_form,
                               create_account_form=create_account_form)
    return redirect(url_for('home_blueprint.index'))
Exemplo n.º 16
0
def login():
    login_form = LoginForm(request.form)
    create_account_form = CreateAccountForm(request.form)
    if "login" in request.form:
        username = request.form["username"]
        password = request.form["password"]
        user = User.objects.get(username=username)
        if user and checkpw(password.encode("utf8"), user.password):
            login_user(user)
            return redirect(url_for("base_blueprint.admin"))
        return render_template("errors/page_403.html")
    if not current_user.is_authenticated:
        return render_template(
            "login/login.html",
            login_form=login_form,
            create_account_form=create_account_form,
        )
    return redirect(url_for("base_blueprint.admin"))
Exemplo n.º 17
0
def register():
    login_form = LoginForm(request.form)
    create_account_form = CreateAccountForm(request.form)
    if 'register' in request.form:

        # HACK: Change type of request b2b
        request.form = request.form.copy()
        request.form['is_b2b'] = 'is_b2b' in request.form

        username = request.form['username']
        email = request.form['email']

        # Check usename exists
        user = User.query.filter_by(username=username).first()
        if user:
            return render_template('accounts/register.html',
                                   msg='Username already registered',
                                   success=False,
                                   form=create_account_form)

        # Check email exists
        user = User.query.filter_by(email=email).first()
        if user:
            return render_template('accounts/register.html',
                                   msg='Email already registered',
                                   success=False,
                                   form=create_account_form)

        # else we can create the user
        user = User(**request.form)
        db.session.add(user)
        db.session.commit()

        return render_template(
            'accounts/register.html',
            msg='User created please <a href="/login">login</a>',
            success=True,
            form=create_account_form)

    else:
        return render_template('accounts/register.html',
                               form=create_account_form)
Exemplo n.º 18
0
def update_user(user_id):
    user = db.session.query(User).get(user_id)
    if request.method == 'GET':
        form = CreateAccountForm(request.form)
        roleForm = CreateRoleForm(request.form)
        return render_template('form/update_user.html',
                               form=form,
                               user=user,
                               roleForm=roleForm)
    else:
        user.email = request.form.get('email')
        user.username = request.form.get('username')
        user.password = hashpw(
            request.form.get('password').encode('utf8'), gensalt())
        role = db.session.query(Role).get(request.form.get('role'))
        user.roles.remove(user.roles[0])
        user.roles.append(role)
        db.session.merge(user)
        db.session.commit()
        flash('User updated')
        return redirect('/users')
Exemplo n.º 19
0
def login():
    login_form = LoginForm(request.form)
    create_account_form = CreateAccountForm(request.form)
    if "login" in request.form:
        username = request.form["username"]
        password = request.form["password"]
        user = UserClass.query.filter_by(username=username).first()
        if user and checkpw(password.encode("utf8"), user.password):
            login_user(user)
            return redirect(url_for("base_blueprint.route_default"))
        return render_template("errors/page_403.html")

    if not current_user.is_authenticated:
        return render_template(
            "login/login.html",
            login_form=login_form,
            create_account_form=create_account_form,
            disable_register=(environ.get("CROP_DISABLE_REGISTER",
                                          "True") == "True"),
        )
    return redirect(url_for("home_blueprint.index"))
def register():
    login_form = LoginForm(request.form)
    create_account_form = CreateAccountForm(request.form)
    if 'register' in request.form:

        username = request.form['username']
        email = request.form['email']
        password = request.form['password']

        # Check usename exists
        user = User.objects(username=username).first()
        if user:
            return render_template('accounts/register.html',
                                   msg='Username already registered',
                                   success=False,
                                   form=create_account_form)

        # Check email exists
        user = User.objects(email=email).first()
        if user:
            return render_template('accounts/register.html',
                                   msg='Email already registered',
                                   success=False,
                                   form=create_account_form)

        # else we can create the user
        user = User(username=username, email=email, password=password)
        user.save()

        login_user(user)
        # return render_template('accounts/register.html',
        #                         msg='User created please <a href="/login">login</a>',
        #                         success=True,
        #                         form=create_account_form)
        return redirect(url_for('base_blueprint.route_default'))

    else:
        return render_template('accounts/register.html',
                               form=create_account_form)
Exemplo n.º 21
0
def create_user():
    login_form = LoginForm(request.form)
    create_account_form = CreateAccountForm(request.form)
    if 'register' in request.form:

        username = request.form['username']
        email = request.form['email']
        password = request.form['password']
        confirm_password = request.form['repeat_password']

        url = UDAPI_URL + "/register"
        payload = {
            "username": username,
            "email": email,
            "password": password,
            "confirm_password": confirm_password
        }
        response = requests.post(url, json=payload)
        data = response.json()

        if data['success']:
            return render_template(
                'login/register.html',
                success='User created please <a href="/login">login</a>',
                form=create_account_form)

        if data['error_code'] == 7002:
            return render_template('login/register.html',
                                   msg=data['message'],
                                   form=create_account_form)

        return render_template('login/register.html',
                               msg=data['message'],
                               form=create_account_form)
    else:
        return render_template('login/register.html', form=create_account_form)
Exemplo n.º 22
0
def register():
    create_account_form = CreateAccountForm(request.form)
    # -------------------------------------------------------------------------#
    # POST Request - Valid
    if create_account_form.validate_on_submit():

        user = User.query.filter_by(
            username=create_account_form.username.data).first()
        # Check if usename exists
        if user:
            flash("Username already registered.", "info")
            return render_template(
                "accounts/register.html",
                msg="Username already registered.",
                form=create_account_form,
            )

        # Check if email exists
        user = User.query.filter_by(
            email=create_account_form.email.data).first()
        if user:
            flash("Email already registered.", "info")
            return render_template(
                "accounts/register.html",
                msg="Email already registered.",
                form=create_account_form,
            )

        # Create user from data
        user = User(**request.form)

        # Send an activation email
        confirmation_token = generate_confirmation_token(user.email)
        confirm_url = url_for("base_blueprint.confirm_email",
                              token=confirmation_token,
                              _external=True)
        html = render_template("accounts/activate.html",
                               confirm_url=confirm_url)
        subject = "Please confirm your email."
        try:
            send_email(user.email, subject, html)

        except SMTPAuthenticationError:
            flash(
                "Server-side authentication eror. " +
                "Was mail properly configured for this app?",
                "error",
            )
            return redirect(url_for("base_blueprint.login"))

        # Add the unconfirmed user
        db.session.add(user)
        db.session.commit()

        flash("A confirmation email has been sent.", "success")
        return redirect(url_for("base_blueprint.route_default"))

    # GET Request
    else:
        return render_template("accounts/register.html",
                               form=create_account_form)