Esempio n. 1
0
def login():
    login_form = LoginForm(request.form)
    #if 'login' in request.form:
    if login_form.validate_on_submit():

        # read form data
        username = request.form['username']
        password = request.form['password']

        # Check user and password
        if (username in users_db.users) and (
                password == users_db.get_user(username).get('password')):
            user = User(username,
                        users_db.get_user(username).get('password'),
                        users_db.get_user(username).get('id'))
            login_user(user)
            return redirect(url_for('base_blueprint.route_default'))

        # Something (user or pass) is not ok
        else:
            return render_template('accounts/login.html',
                                   msg='Wrong user or password',
                                   form=login_form)
    print(current_user)
    if not current_user.is_authenticated:
        return render_template('accounts/login.html', form=login_form)
    return redirect(url_for('home_blueprint.index'))
Esempio n. 2
0
def login():
    login_form = LoginForm(request.form)
    # -------------------------------------------------------------------------#
    # POST Request - Valid
    if login_form.validate_on_submit():
        # Search for user in database
        user = User.query.filter_by(username=login_form.username.data).first()

        # Username invalid
        if not user:
            flash("Invalid username or password.", "info")
            return render_template(
                "accounts/login.html",
                msg="Invalid username or password.",
                form=login_form,
            )
        # Password is invalid
        elif not user.check_password(login_form.password.data):
            flash("Invalid username or password.", "info")
            return render_template(
                "accounts/login.html",
                msg="Invalid username or password.",
                form=login_form,
            )
        # Account is not confirmed
        elif (user and user.check_password(login_form.password.data)
              and not user.confirmed):
            flash("User has not confirmed by email.", "info")
            return render_template(
                "accounts/login.html",
                msg="User has not confirmed by email.",
                form=login_form,
            )
        # Valid login
        elif user and user.check_password(login_form.password.data):
            login_user(user, remember=login_form.remember_me.data)
            next_page = request.args.get("next")
            # only allow relative links
            if not next_page or url_parse(next_page).netloc != "":
                next_page = url_for("home_blueprint.index")
            return redirect(next_page)
        # Unhandled
        else:
            flash("Unknown error.", "error")
            return render_template("accounts/login.html",
                                   msg="Unknown error.",
                                   form=login_form)
    # -------------------------------------------------------------------------#
    # GET Request - Non-Authenticated User
    if not current_user.is_authenticated:
        return render_template("accounts/login.html", form=login_form)
    # -------------------------------------------------------------------------#
    # GET Request - Authenticated User
    else:
        return redirect(url_for("home_blueprint.index"))
Esempio n. 3
0
def login():
    form = LoginForm()
    if request.method == "POST" and form.validate_on_submit():
        username = form.username.data
        password = form.password.data
        user = User.query.filter_by(username=username).first()

        # Check the password
        if user and check_password_hash(user.password, password):
            login_user(user)
            return redirect(url_for("home_blueprint.index"))
        else:
            flash("Invalid username or password.", "danger")

    return render_template("accounts/login.html", form=form)
Esempio n. 4
0
def login():
    login_form = LoginForm(request.form)
    #menus = SysMenu.query.filter().all()
    #menus1 = SysMenu.query.filter().all()
    #url = menus1[0].menu.MenuUrl
    if 'login' in request.form:

        # read form data
        username = request.form['username']
        password = request.form['password']

        # Locate user
        user = User.query.filter_by(username=username).first()

        # Check the password
        if user and verify_pass(password, user.password):

            login_user(user)
            return redirect_dest(
                fallback=url_for('base_blueprint.route_default'))
            #return url_for(url_for('base_blueprint.route_default'))

        # Something (user or pass) is not ok
        return render_template('accounts/login.html',
                               msg='Wrong user or password',
                               form=login_form)

    if not current_user.is_authenticated:
        return render_template('accounts/login.html', form=login_form)
    if current_user.is_active:
        menus, menus1, menus_id = getmenus(3)
    else:
        menus, menus1, = getmenus_no_id()
    return redirect(url_for('home_blueprint.index', menus=menus,
                            menus1=menus1))
Esempio n. 5
0
def login():
    print(request.form)
    login_form = LoginForm(request.form)
    if 'login' in request.form:

        # read form data
        username = request.form['username']
        password = request.form['password']
        # Locate user
        user = User.query.filter_by(username=username).first()
        if not user:
            return render_template('login/login.html',
                                   msg="User doesn't exist",
                                   form=login_form)
        # Check the password
        if user and verify_pass(password, user.password):

            login_user(user)
            return redirect(url_for('base_blueprint.route_default'))

        # Something (user or pass) is not ok
        return render_template('login/login.html',
                               msg='Wrong password',
                               form=login_form)

    if not current_user.is_authenticated:
        return render_template('login/login.html', form=login_form)
    return redirect(url_for('home_blueprint.index'))
Esempio n. 6
0
def login():
    global apic, username, password, apic_session

    login_form = LoginForm(request.form)
    if 'login' in request.form:

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

        if apic and username and password:

            # Network connection objects
            apic_session = FindEncap.apic_login(username, password, apic)

            if apic_session is not None:

                GetPolicies.vlan_pools(apic_session, apic)
                GetPolicies.domains(apic_session, apic)
                session_time(username, password, apic)
                return redirect(url_for('base_blueprint.find_encap'))
            else:
                flash("Login Failed")
                return render_template('accounts/login.html', form=login_form)

    if not current_user.is_authenticated:
        return render_template('accounts/login.html', form=login_form)
    return redirect(url_for('home_blueprint.index'))
Esempio n. 7
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)
Esempio n. 8
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'))
Esempio n. 9
0
def login():
    login_form = LoginForm(request.form)
    if 'login' in request.form:

        # read form data
        username = request.form['username']
        password = request.form['password']

        # Locate user
        user = User.query.filter_by(username=username).first()

        # Check the password
        if user and verify_pass(password, user.password):
            login_user(user)
            return redirect(url_for('base_blueprint.route_default'))

        # Something (user or pass) is not ok
        return render_template('accounts/login.html',
                               msg='Wrong user or password',
                               form=login_form)

    if not current_user.is_authenticated:
        return render_template('accounts/login.html', form=login_form)
    if current_user.role == 'admin':
        return redirect(url_for('home_blueprint.dashboardadmin'))
    elif current_user.role == 'owner':
        return redirect(url_for('home_blueprint.dashboardowner'))
    else:
        return redirect(url_for('home_blueprint.dashboard'))
Esempio n. 10
0
def login():
    login_form = LoginForm(request.form)
    if 'login' in request.form:
        # read form data
        username = request.form['username']
        password = request.form['password']

        # Locate user
        user = User.query.filter_by(username=username).first()

        # Check the password
        if user and verify_pass(password, user.password):

            login_user(user)
            data_draw.RandomDraw().main()

            render = run.index()
            return render

        # Something (user or pass) is not ok
        return render_template('accounts/login.html',
                               msg='Wrong user or password',
                               form=login_form)

    if not current_user.is_authenticated:
        return render_template('accounts/login.html', form=login_form)

    render = run.index()
    return render
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)
Esempio n. 12
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)
def login():
    """
    The function to route to the login page.

    Returns:
        Redirection to the login templates
    """
    login_form = LoginForm(request.form)
    if 'login' in request.form:

        # Get form data
        username = request.form['username']
        password = request.form['password']

        # Look up the username
        user = User.query.filter_by(username=username).first()

        # Validate the password
        if user and verify_pass(password, user.password):

            login_user(user)
            return redirect(url_for('base_blueprint.route_default'))

        # Return error
        return render_template('login/login.html', msg='Wrong user or password', form=login_form)

    if not current_user.is_authenticated:
        return render_template('login/login.html',
                               form=login_form)
    return redirect(url_for('home_blueprint.index'))
Esempio n. 14
0
def login():
    login_form = LoginForm(request.form)
    if "login" in request.form:

        # read form data
        username = request.form["username"]
        password = request.form["password"]

        # Locate user
        user = User.query.filter_by(username=username).first()

        # Check the password
        if user and verify_pass(password, user.password):

            login_user(user)
            return redirect(url_for("base_blueprint.route_default"))

        # Something (user or pass) is not ok
        return render_template("accounts/login.html",
                               msg="Wrong user or password",
                               form=login_form)

    if not current_user.is_authenticated:
        return render_template("accounts/login.html", form=login_form)

    return redirect(url_for("home_blueprint.index"))
Esempio n. 15
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)
Esempio n. 16
0
def login():

    form = LoginForm()
    status = ''
    try:
        current_app.logger.debug(form.email.data.lower().replace(' ', ''))
    except:
        pass
    current_app.logger.debug('form not validated')
    email_entered = form.email.data
    password_entered = form.password.data
    current_app.logger.debug(
        f'user entered {email_entered} and {password_entered} form not validated'
    )
    current_app.logger.debug('form not validated')
    if form.validate_on_submit():
        try:
            current_app.logger.debug(form.email.data.lower().replace(' ', ''))
        except:
            pass
        current_app.logger.debug('form validated')
        user = User.query.filter_by(email=form.email.data.lower().replace(
            ' ', ''),
                                    active=1).first()
        if user is not None:
            current_app.logger.debug(f'found user {user}')
            if user.check_password(form.password.data):
                current_app.logger.debug(
                    f'user {user} entered correct password')
                login_user(user)
                next_url = request.args.get('next')
                current_app.logger.debug(f'{user} signed in')
                if next_url is None or not next_url[0] == '/':
                    next_url = url_for('home_blueprint.index')

                return redirect(next_url)
            else:
                status = 'Неверный пароль'
        else:
            status = 'Пользователя с такой почтой нет'

    return render_template('login/login.html', form=form, status=status)
Esempio n. 17
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)
Esempio n. 18
0
def login():
    global device, username, password, netconf_session, netmiko_session, model, netconf_port, ssh_port

    login_form = LoginForm(request.form)
    if 'login' in request.form:

        device = request.form['device']
        username = request.form['username']
        password = request.form['password']
        netconf_port = request.form['netconf']
        ssh_port = request.form['ssh']

        if not netconf_port:
            netconf_port = 830
        if not ssh_port:
            ssh_port = 22

        if device and username and password:

            # Attempt to create connection objects. Must have both to get to homepage
            netconf_session = ConnectWith.create_netconf_connection(
                request.form['username'], request.form['password'],
                request.form['device'], netconf_port)
            netmiko_session = ConnectWith.creat_netmiko_connection(
                request.form['username'], request.form['password'],
                request.form['device'], ssh_port)

            model = GetInfo.get_device_model(netmiko_session)

            # Using netmiko and ncclient for connections, verify that both pass. If one fails, return to login
            if netmiko_session == 'Authenitcation Error':
                flash("Authentication Failure")
                return redirect(url_for('base_blueprint.login'))
            elif netmiko_session == 'ssh_exception' or netmiko_session == 'Connection Timeout':
                flash("Check Device Connectivity")
                return redirect(url_for('base_blueprint.login'))

            if netconf_session == 'Authentication Error':
                flash("Authentication Failure")
                return redirect(url_for('base_blueprint.login'))
            elif netconf_session == 'Connection Timeout' or netconf_session == 'Connectivity Issue':
                flash("Check Device Connectivity")
                return redirect(url_for('base_blueprint.login'))
            else:
                return redirect(url_for('base_blueprint.get_routing'))

        return render_template('accounts/login.html',
                               msg='Wrong user or password',
                               form=login_form)

    if not current_user.is_authenticated:
        return render_template('accounts/login.html', form=login_form)
    return redirect(url_for('home_blueprint.index'))
Esempio n. 19
0
def before_request():
    """
    在使用者登入之後,需做一個帳號是否啟動的驗證,啟動之後才能向下展開相關的應用。
    條件一:需登入
    條件二:未啟動
    條件三:endpoint不等於static,這是避免靜態資源的取用異常,如icon、js、css等..
    :return:
    """
    if (current_user.is_authenticated and not current_user.confirm
            and request.endpoint != 'static'):
        #  條件滿足就引導至未啟動說明
        msg = '請激活該帳號'
        login_form = LoginForm(request.form)
        return render_template('accounts/login.html', form=login_form, msg=msg)
Esempio n. 20
0
def reset_password():
    login_form = LoginForm(request.form)
    reset_password_form = ResetPasswordForm(request.form)
    if 'register' in request.form:
        email = request.form['email']
        password = request.form['password']
        confirm_password = request.form['repeat_password']

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

        if data['success']:
            return render_template(
                'login/resetpassword.html',
                success=
                'Password reseted successfully please <a href="/login">login</a>',
                form=reset_password_form)

        # Email not registerd.
        if data['error_code'] == 7000:
            return render_template('login/resetpassword.html',
                                   msg=data['message'],
                                   form=reset_password_form)

        # Passwords don't match
        if data['error_code'] == 7002:
            return render_template('login/resetpassword.html',
                                   msg=data['message'],
                                   form=reset_password_form)

        # Check if password is same as the previous password
        if data['error_code'] == 7003:
            return render_template('login/resetpassword.html',
                                   msg=data['message'],
                                   form=reset_password_form)

        return render_template('login/resetpassword.html',
                               msg=data['message'],
                               form=reset_password_form)

    else:
        return render_template('login/resetpassword.html',
                               form=reset_password_form)
Esempio n. 21
0
def add_devices():
    login_form = LoginForm(request.form)
    if 'login' in request.form:

        netconf_port = request.form['netconf']
        ssh_port = request.form['ssh']

        if not netconf_port:
            netconf_port = 830
        if not ssh_port:
            ssh_port = 22

        # Attempt to create connection objects. Must have both to get to homepage
        netconf_session = ConnectWith.create_netconf_connection(
            request.form['username'], request.form['password'],
            request.form['device'], netconf_port)
        netmiko_session = ConnectWith.creat_netmiko_connection(
            request.form['username'], request.form['password'],
            request.form['device'], ssh_port)

        # Using netmiko and ncclient for connections, verify that both pass. If one fails, return to login
        if netmiko_session == 'Authenitcation Error':
            flash("Authentication Failure")
            return redirect(url_for('base_blueprint.add_devices'))
        elif netmiko_session == 'ssh_exception' or netmiko_session == 'Connection Timeout':
            flash("Check Device Connectivity")
            return redirect(url_for('base_blueprint.add_devices'))

        if netconf_session == 'Authentication Error':
            flash("Authentication Failure")
            return redirect(url_for('base_blueprint.add_devices'))
        elif netconf_session == 'Connection Timeout' or netconf_session == 'Connectivity Issue':
            flash("Check Device Connectivity")
            return redirect(url_for('base_blueprint.add_devices'))
        else:
            serial_model = GetFacts.get_serial_model(netmiko_session)
            uptime_software = GetFacts.get_serial_model(netmiko_session)
            DbOps.update_device_facts(request.form['device'], serial_model[0],
                                      serial_model[1], uptime_software[0],
                                      uptime_software[1],
                                      request.form['username'],
                                      request.form['password'], ssh_port,
                                      netconf_port)

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

    else:
        return render_template('accounts/new_inventory_login.html',
                               form=login_form)
Esempio n. 22
0
def login():
    login_form = LoginForm(request.form)
    if 'login' in request.form:

        # read form data
        email = request.form['username']
        password = request.form['password']

        try:

            firebase_user = auth.sign_in_with_email_and_password(
                email, password)
            uid = firebase_user['localId']
            account_info = auth.get_account_info(firebase_user['idToken'])
            user = load_user(
                uid,
                is_authenticated=account_info['users'][0]['emailVerified'],
                is_active=True,
                is_anonymous=False)

            custom_token = auth.create_custom_token(
                uid, {
                    "centre_account":
                    True if user.data['account_type'] == "centre" else False
                })

            firebase_user = auth.sign_in_with_custom_token(custom_token)

            user.data['token'] = custom_token
            print(f"logging in user {user.get_id()}")
            login_user(user)

        except HTTPError as e:
            return render_template('login/login.html',
                                   msg=PrettyHTTPError(e),
                                   form=login_form)

    if current_user:
        if current_user.is_authenticated:
            next_page = request.args.get('next')
            if not next_page or url_parse(next_page).netloc != '':
                next_page = url_for('home_blueprint.index')
            return redirect(next_page)
        elif not current_user.is_anonymous:
            return render_template('login/login.html',
                                   verify=True,
                                   form=login_form)

    return render_template('login/login.html', form=login_form)
Esempio n. 23
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'))
Esempio n. 24
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)
Esempio n. 25
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)
Esempio n. 26
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'))
Esempio n. 27
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"))
Esempio n. 28
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)
Esempio n. 29
0
def user_confirm(token):
    login_form = LoginForm(request.form)
    if not token:
        return render_template('accounts/login.html',
                               msg='token無效',
                               form=login_form)
    user = User.query.filter_by(WebToken=token).first()
    if not user:
        return render_template('accounts/login.html',
                               form=login_form,
                               msg='user無效')
    data = user.validate_confirm_token(token)
    if data:
        user = User.query.filter_by(id=data.get('user_id')).first()
        user.confirm = True
        db.session.add(user)
        db.session.commit()
        flash("激活成功 請重新登入")
        return redirect(url_for('base_blueprint.login'))
    else:
        return redirect(url_for('base_blueprint.login', msg='已失效 請重新註冊'))
Esempio n. 30
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"))