Exemple #1
0
def reset():
    
    print(request.json['email'])
    email = request.json['email'].lower()

    user = User()
    user.get_user_with_email(email)

    if user:
        subject = "Password Reset Requested"
        token = ts.dumps(email, salt='recover-password')

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

        html = render_template(
            'email/recover.html',
            recover_url=recover_url)

        emails=[]
        emails.append(email)

        msg = Message(subject, sender=ADMINS[0], recipients=emails)
        msg.html = html

        with app.app_context():
            mail.send(msg)
            return 'success'
    return 'error'
Exemple #2
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)
Exemple #3
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)
Exemple #4
0
def reset():
    form = EmailForm()
    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data).first_or_404()

        subject = "Password reset requested"

        # 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/recover.html', recover_url=recover_url)

        # Let's assume that send_email was defined in myapp/util.py
        send_email(user.email, subject, html)

        return redirect(url_for('index'))
    return render_template('reset.html', form=form)
Exemple #5
0
def register():
    form = registerForm();
    if form.validate_on_submit():
        
        name = request.form.get('name')
        email = request.form.get('email').lower()
        password = request.form.get('color')
        
        user = User(email, password, name)
        
        # send email to confirm email
        subject = "Confirm your email for //hackRamapo"

        token = ts.dumps(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)

        emails = []
        emails.append(email)
        
        msg = Message(subject, sender=ADMINS[0], recipients=emails)
        msg.html = html
        
        try:
            user.save()
            if login_user(user, remember=False):
                with app.app_context():
                    mail.send(msg)
                return redirect('/profile')
            else:
                flash("unable to log in")
        except:
            print("Registration Failed")
            
    return render_template('register.html', form=form, colors=colors);
Exemple #6
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)