예제 #1
0
def signup():
    """
    Permite a un usuario registrarse en el sistema

        Returns:
            Si no existe un usuario con los datos introducidos en el sistema lo añade al sistema y le redirige a la página de inicio de sesión.
            Si existe entonces lo redirige a la página de inicio de sesión.
        """

    # If sign in form is submitted
    form = RegisterForm(request.form)

    # Verify the sign in form
    if form.validate_on_submit():

        user = User.query.filter_by(email=form.email.data).first()

        if user:
            flash('Usuario ya existe', 'error-message')
            form = LoginForm(request.form)
            return render_template("auth/signin.html", form=form)
        else:
            a = User(form.username.data, form.email.data, form.password.data,
                     'user', '0')
            db.session.add(a)
            db.session.commit()
            form = LoginForm(request.form)
            return redirect(url_for('auth.signin'))

    return render_template("sigup.html", form=form)
예제 #2
0
def login():
    form = LoginForm()
    if request.method == "POST":
        if form.validate_on_submit():
            email = request.form.get("email")
            password = request.form.get("password")

            user = User.objects.get(email=email)

            if user.validate_password(password):
                login_user(user)

                next = request.args.get("next")

                if next:
                    params = dict((key, request.args.get(key)) for key in request.args.keys())
                    del params["next"]
                    next = next + "?" + urllib.urlencode(params)

                if not next_is_valid(next):
                    return abort(401)

                return redirect(next or jsonify({"status": "ok"}))
            return abort(401)
        return abort(400)
    return render_template("login.html", form=form, values=request.args)
def signin():
    # Check if not already signed in
    if 'user_id' in session:
        return redirect(url_for('landing.index'))

    # If sign in form is submitted
    form = LoginForm(request.form)
    # Verify the sign in form
    if request.method == 'POST' and form.validate():

        user = User.query.filter_by(emailID=form.email.data).first()
        if user and check_password_hash(user.password, form.password.data):
            session['user_name'] = escape(user.name)
            session['user_id'] = user.id
            session['role'] = user.role

            subpath = 'user'

            if (session['role'] == 0):
                role = 'customer'
            elif (session['role'] == 1):
                role = 'owner'
            elif (session['role'] == 2):
                role = 'manager'
            elif (session['role'] == 3):
                role = 'gardener'
            return redirect(url_for('{path}.index'.format(path=role)))
    return render_template("auth/signin.html", form=form)
예제 #4
0
def login():
    """
    Renders a login screen
    """

    # create login form
    loginForm = LoginForm(request.form)

    if loginForm.validate_on_submit():

        # get request data
        username = request.form.get('username')
        password = request.form.get('password')

        # find user
        user = User.query.filter(User.username==username).first()

        if user != None:
            # check password
            if user.checkPassword(password):

                # login user
                login_user(user)

                # redirect to homepage
                return redirect('/')

    # render login html
    return render_template('auth/login.html', form=loginForm)
예제 #5
0
def login():

    if current_user.is_authenticated:
        flash('User {} already authenticated'.format(current_user.email))
        return redirect(url_for('dashboard.index'))

    login_form = LoginForm(request.form)
    forgot_password_form = ForgotPasswordForm()
    request_form = RequestAccountForm()
    if request.method == 'POST':
        if login_form.validate_on_submit():
            user = User.query.filter_by(email=login_form.email.data).first()
            if user is None or not user.check_password(
                    login_form.password.data):
                flash('Invalid username or password')
                return redirect(url_for('auth.login'))
            user.authenticate()
            login_user(user, remember=login_form.remember_me.data)
            _next = request.args.get('next')
            if not is_safe_url(_next):
                return abort(400)
            return redirect(_next or url_for('dashboard.index'))
    return render_template('auth/login.html',
                           title='Sign In',
                           login_form=login_form,
                           forgot_pw=forgot_password_form,
                           request_form=request_form)
예제 #6
0
def login():

    # if the user is logged in redirect to the dashboard
    if current_user.is_authenticated and current_user.is_active:
        flash('You are already logged in', 'warning')
        return redirect(url_for('main.index'))

    form = LoginForm()
    if form.validate_on_submit():

        # try fetching the corresponding user and check password match
        user = User.query.filter_by(username=form.username.data).first()
        if user is not None and user.verify_password(form.password.data):

            # log user in
            login_user(user)
            flash('You have successfully logged in', 'success')

            # redirect after successful login
            return redirect(url_for('main.index'))
        else:
            flash('Invalid username or password!', 'error')

    # load sign in template
    return render_template("auth/signin.html", form=form, title="Sign in")
예제 #7
0
def signin():
    """
    Permite a un usuario registrado en el sistema iniciar sesion.

        Returns:
            En caso de que los datos introducidos por el usuario en el formulario de login sean correctos
            redirige al usuario a una ventana de bienvenida.
            En caso de que los datos introducidos sean incorrectos redirige al usuario de nuevo al página del formulario
            de login
        """
    # If sign in form is submitted
    form = LoginForm(request.form)

    # Verify the sign in form
    if form.validate_on_submit():

        user = User.query.filter_by(email=form.email.data).first()

        if user and user.check_password(form.password.data):

            session['user_id'] = user.email
            flash('Welcome %s' % user.name)
            return render_template("auth/show.html", name=session['user_id'])
        else:
            return render_template("auth/signin.html", form=form)
    return render_template("auth/signin.html", form=form)
예제 #8
0
def signin():
    form = LoginForm(request.form)
    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data).first()
        if user and check_password_hash(user.password, form.password.data):
            session['user_id'] = user.id
            flash('Welcome %s' % user.name)
            return redirect(url_for('auth.home'))
        flash('Wrong email or password', 'error-message')
    return render_template("auth/signin.html", form=form)
예제 #9
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data).first()
        if user:
            if check_password_hash(user.password, form.password.data):
                login_user(user)
                return redirect(url_for('mod_auth.dashboardcustomer'))
        return '<h1>Invalid username or password</h1>'
    return render_template('auth/login.html', form=form)
예제 #10
0
def login():
    form = LoginForm()

    if form.validate_on_submit():
        rememberme = True if "remember_me" in request.form else False
        user = User.query.filter_by(username=request.form['username']).first()
        if user and check_password_hash(user.password, request.form["password"]):
            login_user(user, remember=rememberme)
            return redirect(url_for("index.index"))

    return render_template("login.html", form=form)
예제 #11
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for('product.list'))
    form = LoginForm()
    if form.validate_on_submit():
        user = User.query.filter(User.email==request.form["email"]).first()
        login_user(user)
        flash('Logged in successfully!')
        next = request.args.get('next')
        return redirect(next or url_for('product.list'))
    return render_template('auth/login.html', form=form)
예제 #12
0
def login():

    if g.user is not None and g.user.is_authenticated:
        return redirect(url_for('main.profile'))
    form = LoginForm()
    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data).first()
        login_user(user, form.remember_me.data)
        return redirect(url_for('main.profile'))

    return render_template('auth/login.html', form=form)
예제 #13
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for('product.list'))
    form = LoginForm()
    if form.validate_on_submit():
        user = User.query.filter(User.email == request.form["email"]).first()
        login_user(user)
        flash('Logged in successfully!')
        next = request.args.get('next')
        return redirect(next or url_for('product.list'))
    return render_template('auth/login.html', form=form)
예제 #14
0
def signin():
    form = LoginForm(request.form)

    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data).first()
        if user is not None and check_password_hash(user.password, form.password.data):
            session['user_id'] = user.id
            flash('Bienvenido, %s' % user.name)
            return redirect(url_for('tests.home'))
        flash('Email o contraseña incorrectos.', 'error')
    
    return render_template('auth/signin.html', form=form)
예제 #15
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for('main.index'))
    form = LoginForm()
    if form.validate_on_submit():
        user = User.query.filter_by(username=form.username.data).first()
        if user is None or not user.check_password(form.password.data):
            flash('Invalid username or password')
            return redirect(url_for('mod_auth/login'))
        login_user(user, remember=form.remember_me.data)
        return redirect(url_for('main.index'))
    return render_template('mod_auth/login.html', title='Sign In', form=form)
예제 #16
0
def signin():
	form = LoginForm(request.form)
	#verify the signin form
	if form.validate_on_submit():
		user = Userq.query.filter_by(email = form.email.data,password = form.password.data)
		if user and check_password_hash(user.password ,form.user.data):
			session['user_id'] = user
			flash('welcome %s' %user.name)
			#return redirect( url_for('auth.home success landing page'))
			return redirect( url_for('/index'))
		flash('wrong email address or password','error_message')

	return render_template("/auth/signin.html",form=form)
예제 #17
0
def login():
    """
    Return a HTML of Login Page.
    """
    form = LoginForm(request.form)
    if form.validate_on_submit():
        user = User.query.filter_by(name=form.username.data).first()
        if user:
            if user.check_password(form.password.data):
                session['username'] = user.name
                return redirect(url_for('landing_page.landing_page'))
        flash('Username atau Password tidak ditemukan.', 'danger')
    return render_template("auth/login.html", form=form)
예제 #18
0
def signin():
    #If sign in form is submitted
    form = LoginForm(request.form)

    #Verify the sign in form
    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data).first()

        if user and checkpassword_hash(user.password, form.password.data):
            session['user_id'] = user.id
            flash('Welcome %s' % user.name)
            return redirect(url_for('auth.home'))

        flash('Wrong email or password', 'error-message')
    return render_template("auth/signin.html", form=form)
예제 #19
0
def login():
    form = LoginForm()

    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data).first()
        if user:
            if check_password_hash(user.password, form.password.data):
                login_user(user)
                if user.role == "customer":  # check if customer or provider
                    return redirect(url_for('mod_customer.dashboardcustomer'))
                else:
                    return redirect(url_for('mod_provider.dashboardprovider'))
        flash("Invalid username or password")

    return render_template('auth/login.html', form=form)
def signin():
    app.logger.debug("Applying Signin")
    form = LoginForm(request.form)
    if form.validate_on_submit():
        app.logger.debug("It was validated user information to signin")
        user = User.query.filter_by(email=form.email.data).first()
        if user and check_password(user.password,form.password.data):
            session['user_id']= user.id
            app.logger.debug('Logged user=%s',user.name)
	    #Logged user
	    login_user(user)
	    return redirect(url_for('users.home'))
	    #return render_template('users/home.html',winner=user)
        flash('Wrong email or password', 'error-message')
    return render_template("auth/signin.html",form=form)
예제 #21
0
def login():
    form = LoginForm(request.form)

    if form.validate_on_submit():
        user = User.query.filter_by(username=form.username.data).first()

        if user and user.check_password(form.password.data):
            login_user(user)
            flash('Welcome %s' % user.username)
            return redirect(url_for('.index'))

        else:
            flash('Wrong email or password', 'error-message')

    return render_template("auth/login.html", form=form)
예제 #22
0
def portfolio():
    # Get blog posts from db
    posts = BlogPost.query.filter_by(is_published=True).order_by(
        BlogPost.date_created.desc()).all()
    return render_template('public/portfolio.html',
                           login_form=LoginForm(),
                           posts=posts)
예제 #23
0
def register():
    """
    Return a HTML of Register Page.
    """
    form = LoginForm(request.form)
    if form.validate_on_submit():
        user = User.query.filter_by(name=form.username.data).first()
        if not user:
            user = User(form.username.data, form.password.data)
            db.session.add(user)
            db.session.commit()
            flash('User %r telah berhasil didaftarkan.' % (user.name),
                  'success')
        else:
            flash('Username %r telah terdaftar.' % (user.name), 'danger')
    return render_template("auth/register.html", form=form)
예제 #24
0
def login():
    form = LoginForm(request.form)

    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data.lower()).first()

        if user and check_password_hash(user.password, form.password.data):
            session['user_id'] = user.id

            return redirect('/')

        flash(f'Wrong email or password', 'danger')
    else:
        flash(f"Email and/or password is not correct", "danger")

    return render_template('auth/signin.html', form=form)
예제 #25
0
def signin():

    # If sign in form is submitted
    form = LoginForm(request.form)
    # Verify the sign in form
    if form.validate_on_submit():
        user = User.query.filter_by(username=form.username.data).first()
        if check_password_hash(user.password, form.password.data):
            session['username'] = user.username
            session['signed_in'] = True
            flash('Welcome %s' % user.username)
            return redirect(url_for('devices.show_devices'))

        flash('Wrong username or password', 'error-message')

    return render_template("auth/signin.html", form=form)
def login():

    # If sign in form is submitted
    form = LoginForm(request.form)
    # Verify the sign in form
    if form.validate_on_submit():
        user = mongo.db.users.find_one({'email': form.email.data, 'senha': form.password.data})
        if user:
            usuario = User(str(user['_id']), user['nome'], user['email'], user['senha'])
            login_user(usuario)
            flash('Welcome %s' % user['nome'])
            return redirect(url_for('main.home'))

        flash(u'Usuário ou senha inválidos', 'error-message')

    return render_template("auth/login.html", form=form)
예제 #27
0
def signin():
    # If sign in form is submitted
    form = LoginForm(request.form)
    # Verify the sign in form
    if request.method == 'POST' and form.validate_on_submit():
        user = db.session.query(User).filter_by(
            email=form.email.data).first()  # first_or_404()
        if user and check_password_hash(user.password, form.password.data):
            session['user_id'] = user.id
            session['email'] = user.email
            session['owner'] = user.name
            session['role'] = user.role
            flash('Welcome %s' % user.name)
            return redirect(url_for('templates.index'))
        flash('Wrong email or password', 'error-message')
    return render_template("auth/signin.html", form=form)
예제 #28
0
def signin():
    # If sign in form is submitted
    form = LoginForm(request.form)

    # Verify the sign in form
    if form.validate_on_submit():

        user = User.query.filter_by(email=form.email.data).first()

        if user and user.check_password(form.password.data):

            session['user_id'] = user.email
            flash('Welcome %s' % user.name)
            return render_template("auth/show.html", name=session['user_id'])
        else:
            return render_template("auth/signin.html", form=form)
    return render_template("auth/signin.html", form=form)
예제 #29
0
def login():

    if current_user.is_authenticated:
        flash('User {} already authenticated'.format(current_user.email))
        return redirect(url_for('dashboard.index'))

    login_form = LoginForm(request.form)

    if request.method == 'POST':
        if login_form.validate_on_submit():
            response = AuthClient().login(login_form.username.data,
                                          login_form.password.data)
            if response.status_code in [401, 403]:
                flash('Incorrect username or password', 'danger')
                return redirect(url_for('auth.login'))

            alf_ticket = response.body['data']['ticket']
            user = User.query.filter_by(
                username=login_form.username.data).first()
            if user is None:
                user_response = PeopleClient().userinfo(
                    login_form.username.data, alf_ticket)

                #Create a new user in local DB
                u = User(alf_ticket, **user_response.body)
                u.add_or_update()
                u.save()

                #Authenticate newly created user
                u.authenticate(alf_ticket)
                login_user(u)
            else:
                user.authenticate(alf_ticket)
                login_user(user)

            _next = request.args.get('next')
            if not is_safe_url(_next):
                return abort(400)
            return redirect(_next or url_for('dashboard.index'))

    return render_template('auth/login.html',
                           title='Sign In',
                           login_form=login_form)
예제 #30
0
def signin():

    # If sign in form is submitted
    form = LoginForm(request.form)

    # Verify the sign in form
    if form.validate_on_submit():

        user = User.query.filter_by(name=form.name.data).first()

        if user and check_password_hash(user.password, form.password.data):

            session['user_id'] = user.id

            login_user(user)

            return render_template('main/home.html')

        flash('Wrong email or password', 'error')
    return render_template("auth/signin.html", form=form)
예제 #31
0
def login():
    form = LoginForm()

    if current_user.is_authenticated:
        flash("you are already logged in")
        return redirect(url_for('home.index'))

    if form.validate_on_submit():
        email = form.email.data
        password = form.password.data
        user = db_helper.get_user(email=email)

        if user is None or user.check_password(password):
            flash("invalid email/password")
            return redirect(url_for('auth.login'))

        login_user(user)
        flash("you are logged in")
        return redirect(url_for('home.index'))
    return render_template("auth/login.html", form=form)
예제 #32
0
def login():

    # If sign in form is submitted
    form = LoginForm(request.form)
    # Verify the sign in form
    if form.validate_on_submit():
        user = mongo.db.users.find_one({
            'email': form.email.data,
            'senha': form.password.data
        })
        if user:
            usuario = User(str(user['_id']), user['nome'], user['email'],
                           user['senha'])
            login_user(usuario)
            flash('Welcome %s' % user['nome'])
            return redirect(url_for('main.home'))

        flash(u'Usuário ou senha inválidos', 'error-message')

    return render_template("auth/login.html", form=form)
예제 #33
0
def login():
    form = LoginForm(request.form)
    error = None

    if form.validate_on_submit():
        username = request.form['username']
        password = request.form['password']

        if 'rememberme' in request.form:
            rememberme = request.form['rememberme']
        else:
            rememberme = False

        user = User.query.filter_by(username=username).first()
        if user and user.check_password(password):
            login_user(user, remember=rememberme)
            return redirect(url_for('main.index'))
        else:
            error = 'Invalid username or password.'

    return render_template('auth/login.html', form=form, error=error)
예제 #34
0
def signin():

    # If sign in form is submitted
    form = LoginForm(request.form)

    # Verify the sign in form
    if form.validate_on_submit():

        user = User.objects.get(email=form.email.data)

        if user and check_password_hash(user.password, form.password.data):

            session['user_id'] = user._id

            flash('Welcome %s' % user.name)

            return redirect(url_for('auth.home'))

        flash('Wrong email or password', 'error-message')

    return render_template("auth/signin.html", form=form)
예제 #35
0
def signin():
    print "start"
    try:
        form = LoginForm(request.form)
        if request.method == 'POST' and form.validate():
            user = User.query.filter_by(email=form.email.data).first()
            print "start"
            if user and check_password_hash(user.password, form.password.data):
                session['logged_id'] = True
                session['user_id'] = user.id
                session['user_id'] = user.role
                session['username'] = request.form['username']
                flash('You are now logged in. Welcome %s' % user.username)
                return redirect(url_for('auth.Dashboard'))
            print "end"
        else:
            flash('Invalid Credentials, please try again')

    except Exception as e:
        flash('Invalid Credentials')
        return render_template('index.html', form=form)
예제 #36
0
def signin():
    # If sign in form is submitted
    form = LoginForm(request.form)

    # Verify the sign in form
    if form.validate_on_submit():
        me = User(name='Test', email='*****@*****.**', password='******')
        db.session.add(me)
        db.session.commit()
        all_users = User.query.all()
        user = User.query.filter_by(email=form.email.data).first()

        if user and check_password_hash(user.password, form.password.data):
            session['user_id'] = user.id

            flash('Welcome %s' % user.name)

            return redirect(url_for('auth.home'))

        flash('Wrong email or password', 'error')

    return render_template("auth/signin.html", form=form)
예제 #37
0
def signin():

    # If sign in form is submitted
    form = LoginForm(request.form)
    next = request.args.get('next')
    
    # Verify the sign in form
    if form.validate_on_submit():
        user = User.query.filter(User.email == form.email.data and User.platform_id == 1).first()

        if user and user.password == form.password.data:
            login_user(LoggedUser(user), remember=form.remember.data)
            # Now the user is accesible via current_user
            return redirect(next or '/')

        else:
            flash('Wrong email or password', 'error')
    
    if (next):
      return render_template('signin.html', form=form, next=next)

    return render_template('signin.html', form=form)
예제 #38
0
def signin():
    # If sign in form is submitted
    form = LoginForm(request.form)

    # Verify the sign in form
    if form.validate_on_submit():
        me = User(name="Test", email="*****@*****.**", password="******")
        db.session.add(me)
        db.session.commit()
        all_users = User.query.all()
        user = User.query.filter_by(email=form.email.data).first()

        if user and check_password_hash(user.password, form.password.data):
            session["user_id"] = user.id

            flash("Welcome %s" % user.name)

            return redirect(url_for("auth.home"))

        flash("Wrong email or password", "error")

    return render_template("auth/signin.html", form=form)
예제 #39
0
def login():
    """
    Logging in

    If successful, statistics for current day is shown (/statistics/show_today)
    """
    if current_user.is_authenticated:
        user = User.query.filter_by(email=current_user.email).first()

        # change this
        if user.organizations:
            org_id = user.organizations[0].id
        else:
            org_id = 0
        return redirect(url_for('stats.show_today', org_id=org_id))

    form = LoginForm()

    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data).first()

        # change this
        if user.organizations:
            org_id = user.organizations[0].id
        else:
            org_id = 0

        if user is None or not user.check_password(form.password.data):
            form.password.errors.append("Email or password are incorrect.")

            return render_template('auth/login.html',
                                   title='Sign In',
                                   form=form)

        login_user(user, remember=form.remember_me.data)

        return redirect(url_for('stats.show_today', org_id=org_id))

    return render_template('auth/login.html', title='Sign In', form=form)
예제 #40
0
def signup():
    # If sign in form is submitted
    form = RegisterForm(request.form)

    # Verify the sign in form
    if form.validate_on_submit():

        user = User.query.filter_by(email=form.email.data).first()

        if user:
            flash('Usuario ya existe', 'error-message')
            form = LoginForm(request.form)
            return render_template("auth/signin.html", form=form)
        else:
            a = User(form.username.data, form.email.data, form.password.data,
                     'user', '0')
            db.session.add(a)
            db.session.commit()
            form = LoginForm(request.form)
            return render_template("auth/signin.html", form=form)

    return render_template("sigup.html", form=form)
예제 #41
0
def signin():
    # If sign in form is submitted
    form = LoginForm(request.form)

    # Verify the sign in form
    if form.validate_on_submit():
        me = User(name='Test', email='*****@*****.**', password='******')
        db.session.add(me)
        db.session.commit()
        all_users = User.query.all()
        user = User.query.filter_by(email=form.email.data).first()

        if user and check_password_hash(user.password, form.password.data):
            session['user_id'] = user.id

            flash('Welcome %s' % user.name)

            return redirect(url_for('auth.home'))

        flash('Wrong email or password', 'error')

    return render_template("auth/signin.html", form=form)
예제 #42
0
    def test_validate_login_invalid_email_form(self):
        form = LoginForm(email='mcflurry0',password='******')
	self.assertFalse(form.validate())
예제 #43
0
 def test_validate_login_without_password_form(self):
     form = LoginForm(email='*****@*****.**',password='')
     self.assertFalse(form.validate())
예제 #44
0
 def test_validate_login_form(self):
     form = LoginForm(email='*****@*****.**',password='******')
     self.assertTrue(form.validate())