예제 #1
0
def login_route():
    if current_user.is_authenticated:
        return redirect(url_for('.index'))
    else:
        print "LOGIN ROUTE: \t NOBODY AUTHENTICATED"
    form = EmailPasswordForm()

    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data).first()
        if user == None:
            print ("LOGIN ROUTE \t NO RECOGNIZED EMAIL!\n")
            session.clear()
            error = "No recognized email!"
            errors={}
            errors['error'] = []
            errors['error'].append(error)
            return render_template('landing.html', form=form, errors=errors)
        if user.is_correct_password(form.password.data):
			login_user(user)
			print("LOGIN ROUTE \t USER LOGGED IN\n")
			return redirect(url_for('.index'))
        else:
            print("LOGIN ROUTE \t INCORRECT PASSWORD")
            session.clear()
            return redirect(url_for('.register_route'))
    else:
        print "LOGIN ROUTE \t FAILED LOGIN"
        print form.errors
        return render_template('landing.html', form=form, errors=form.errors)
    return render_template('landing.html', form=form)
예제 #2
0
def submit_login():
    """
    attempt to log in
    @return: requested page or home page
    """
    if request.form['submit'] == "Login":
        login_form = EmailPasswordForm(request.form)
        if login_form.validate_on_submit():
            registered_user = User.get(login_form.login_email.data)
            if registered_user is None or registered_user.password is None:
                flash('Username is invalid', 'error')
                return render_template('login.html',
                                       loginform=login_form,
                                       forgotpw=ForgotPasswordForm())
            if not registered_user.check_password(login_form.password.data):
                flash('Password is invalid', 'error')
                return render_template('login.html',
                                       loginform=login_form,
                                       forgotpw=ForgotPasswordForm())
            login_user(registered_user)
            return redirect(request.args.get('next') or url_for('index'))
        else:
            return render_template('login.html',
                                   loginform=login_form,
                                   forgotpw=ForgotPasswordForm())
예제 #3
0
def login():
    form = EmailPasswordForm()
    if form.validate_on_submit():

        # Check the password and log the user in
        # [...]

        return redirect(url_for('index'))
    return render_template('login.html', form=form)
예제 #4
0
def signup():
    form = EmailPasswordForm()
    form2 = UsernamePasswordForm()

    if request.method == 'POST':

        if form.validate_on_submit():
            user = User(username=form.username.data,
                        email=form.username.data,
                        password=form.password.data)
            db.session.add(user)
            db.session.commit()

            uid = user.id
            defaultuser = User.query.filter_by(email='default').first_or_404()
            books = Book.query.filter_by(user_id=defaultuser.id).all()

            for b in books:
                bc = Book(b.title, b.synopsis, uid)
                db.session.add(bc)
                db.session.commit()

                for c in b.chapters:
                    cc = Chapter(c.title, c.synopsis, uid, bc.id)
                    db.session.add(cc)
                    db.session.commit()

                    for e in c.events:
                        ec = Event(uid, e.title, e.description, '-1', '-1',
                                   cc.id, e.event_occurs_percent)
                        db.session.add(ec)
                    db.session.commit()

            # SEND CONFIRMATION EMAIL
            subject = "Account created at {}.".format("Timelines")

            # Here we use the URLSafeTimedSerializer we created in `util` at the
            # beginning of the chapter
            token = ts.dumps(user.email, salt='recover-key')

            recover_url = url_for('reset_with_token',
                                  token=token,
                                  _external=True)

            html = render_template('email/create_account.html')

            # Let's assume that send_email was defined in myapp/util.py
            send_email(user.email, subject, html)
            flash('Email sent to: {}'.format(user.email))

            login_user(user, force=True)
            return redirect(url_for('index'))

    return render_template('signup.html', form=form, form2=form2)
예제 #5
0
def login():
    form = EmailPasswordForm()
    error = ""
    if request.method == "POST":
        if form.validate_on_submit():
            if form.email.data == user.email and form.password.data == user.password:
                return "You are logged id"
            else:
                return "Wrong credentials!!"
        else:
            error = form.errors
    return render_template("login.html", form=form, error=error)
예제 #6
0
def signup():
    form = EmailPasswordForm()
    if form.validate_on_submit():
        user = User(username=form.username.data,
                    email=form.username.data,
                    password=form.password.data)
        db.session.add(user)
        db.session.commit()
        login_user(user, force=True)
        #todo: create default event etc
        # create_defaults(user.id)
        return redirect(url_for('index'))

    return render_template('signup.html', form=form)
예제 #7
0
def create_account():
    form = EmailPasswordForm()
    if form.validate_on_submit():
        user = User(username=form.email.data,
                    password=form.password.data,
                    email=form.email.data)
        db.session.add(user)
        db.session.commit()
        uid = user.id

        defaultuser = User.query.filter_by(email='default').first_or_404()
        books = Book.query.filter_all(user_id=defaultuser.id).all()

        for b in books:
            bc = Book(b.title, b.synopsis, uid)
            db.session.add(bc)
            db.session.commit()

            for c in b.chapters:
                cc = Chapter(c.title, c.synopsis, uid, bc.id)
                db.session.add(cc)
                db.session.commit()

                for e in c.events:
                    ec = Event(uid, e.title, e.description, '-1', '-1', cc.id,
                               e.event_occurs_percent)
                    db.session.add(ec)
                db.session.commit()

        # Now we'll send the email confirmation link
        subject = "Confirm your email"

        token = ts.dumps(self.email, salt='email-confirm-key')

        confirm_url = url_for('confirm_email', token=token, _external=True)

        html = render_template('email/activate.html', confirm_url=confirm_url)

        # We'll assume that send_email has been defined in myapp/util.py
        send_email(user.email, subject, html)

        return redirect(url_for("index"))

    return render_template("accounts/create.html", form=form)
예제 #8
0
def create_account():
    form = EmailPasswordForm()
    if form.validate_on_submit():
        user = User(username=form.email.data,
                    password=form.password.data,
                    email=form.email.data)
        db.session.add(user)
        db.session.commit()

        # Now we'll send the email confirmation link
        subject = "Confirm your email"

        token = ts.dumps(self.email, salt='email-confirm-key')

        confirm_url = url_for('confirm_email', token=token, _external=True)

        html = render_template('email/activate.html', confirm_url=confirm_url)

        # We'll assume that send_email has been defined in myapp/util.py
        send_email(user.email, subject, html)

        return redirect(url_for("index"))

    return render_template("accounts/create.html", form=form)