def register_user():  # pylint: disable=unused-argument
    """Register user via external services in the database

    :return: redirect to index or Bad request
    """
    name = session["name"]
    email = session["email"]
    login = session["login"]

    form = RegisterForm()

    if form.validate_on_submit():
        email = form.email.data
        name = form.name.data
        password = form.password.data

        resp_id = add_user(email, name, login, password, True)
        if resp_id is not None:
            return create_token(email, "main.home")

        return "Bad request", 400

    form.name.data = name
    form.email.data = "" if email == "Empty" else email

    return render_template("register.html", form=form)
Exemple #2
0
def register():
    content = request.form
    register_form = RegisterForm(content)

    if register_form.validate():
        existing_user = user_database.find_one({'username': content['username_register']})
        if not existing_user:
            hashed_password = hashlib.sha256(content['password_register'].encode('utf-8')).hexdigest()
            user_database.insert({
                'username': content['username_register'],
                'password': hashed_password,
                'email': content['email_register'],
                'first_name': content['first_name_register'],
                'last_name': content['last_name_register'],
                'roles': ['user'],
                'signup-date': datetime.now().strftime('%Y-%m-%d %H:%M:%S'),
                'hwid': None,
                'subscribed_until': datetime.now().strftime('%Y-%m-%d %H:%M:%S')
            })
            return jsonify({'status': 'success', 'message': 'Your account has been created.'})
        return jsonify({
            'status': 'error',
            'message': 'Username already exists.'
        })

    try:
        return jsonify({
            'status': 'error',
            'message': dict(register_form.errors.items())['password_register']
        })
    except:
        return jsonify({
            'status': 'error',
            'message': 'Please fill out the form.'
        })
Exemple #3
0
def register_post():
    form = RegisterForm(request.form)
    if form.validate():
        name = form.name.data
        email = form.email.data
        password = generate_password_hash(form.password.data)
        user = User(name=name, email=email, password=password)
        db.session.add(user)
        db.session.commit()
        flash('Użytkownik został zarejestrowany', 'success')
        return redirect(url_for('auth.login'))
    return render_template('pages/register.html', form=form)
Exemple #4
0
def index():
    if g.user:
        return redirect(url_for('profile'))

    form = RegisterForm(request.form)
    if request.method == 'POST' and form.is_valid():
        user = form.save()
        user.add_role('user')
        db.commit()  # commit BEFORE doing auth.login!
        auth.login(user)
        return redirect(url_for('profile'))

    return render_template('index.html', **locals())
Exemple #5
0
def register(request):
    if request.method == 'POST':
        form = RegisterForm(request.POST)
        if form.is_valid():
            cd = form.cleaned_data
            c = User.objects.create_user(username=cd['username'], email=cd['email'], password=cd['password'])
            c.save()

            title = "Account Created Successfully!!"
            string = title
            return render_to_response('success.html', locals(), context_instance=RequestContext(request, processors=[custom_proc]))
    else:
        form = RegisterForm()
    return render_to_response('registration.html', {'form': form}, context_instance=RequestContext(request, processors=[custom_proc]))
Exemple #6
0
def register():
    form = RegisterForm()
    if form.validate_on_submit():
        email = form.email.data
        password = form.password.data

        new_user = User(email=email,
                        password=generate_password_hash(password,
                                                        method='sha256'))

        db.session.add(new_user)
        db.session.commit()

        return redirect(url_for('auth.login'))
    return render_template('auth/register.html', form=form)
Exemple #7
0
def login(success):
    if current_user.is_authenticated:
        return redirect(url_for("dashboard"))

    form = LoginForm()
    register_form = RegisterForm()

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

        if user is None:
            return render_template("pages/login.html",
                                   invalid_credential=True,
                                   form=form,
                                   register_form=register_form,
                                   page_title="Entrar no Twitter")

        login_user(user)

        return redirect(url_for("dashboard"))

    return render_template("pages/login.html",
                           form=form,
                           register_form=register_form,
                           page_title="Entrar no Twitter",
                           success=success)
Exemple #8
0
def index():
    if current_user.is_authenticated:
        return redirect(url_for("dashboard"))

    form = RegisterForm()

    return render_template("pages/index.html",
                           form=form,
                           page_title="Twitter. É o que está acontecendo")
Exemple #9
0
def register():
    if current_user.is_authenticated:
        return redirect(url_for('main.index'))

    form = RegisterForm()
    if form.validate_on_submit():
        name = form.name.data
        email = form.email.data.lower()
        username = form.username.data
        password = form.password.data
        user = User(name=name, email=email, username=username)
        user.set_password(password)
        db.session.add(user)
        db.session.commit()
        token = generate_token(user=user, operation='confirm')
        send_confirm_email(user=user, token=token)
        flash('Confirm email sent, check your inbox.', 'info')
        return redirect(url_for('.login'))
    return render_template('auth/register.html', form=form)
Exemple #10
0
def register():
    if current_user.is_authenticated:
        return redirect(url_for("dashboard"))

    form = RegisterForm()
    errors = {}

    if form.validate_on_submit():
        if not form.validate_email(form.email):
            errors["email"] = True

        if not form.validate_username(form.username):
            errors["username"] = True

        if errors:
            return render_template("pages/register.html",
                                   error_email=errors["email"],
                                   error_username=errors["username"],
                                   form=form,
                                   page_title="Inscrever-se no Twitter")

        user = User(
            form.name.data,
            form.username.data,
            form.email.data,
            form.password.data,
            form.birth_date.data,
            local_timezone.localize(datetime.now()),
        )

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

        return redirect(url_for("login", success=True))
    else:
        return render_template("pages/register.html",
                               form=form,
                               page_title="Inscrever-se no Twitter")
Exemple #11
0
def signup(request):
    if request.method == 'POST':
        form = RegisterForm(request.POST)
        if form.is_valid():
            form.save()
            username = form.cleaned_data.get('username')
            raw_password = form.cleaned_data.get('password1')
            user = authenticate(username=username, password=raw_password)
            login(request, user)
            return redirect('home')
    else:
        form = RegisterForm()
    return render(request, 'signup.html', {'form': form})
Exemple #12
0
def home():
    """root endpoint in application

    :return: redirect to index html or say that user is logged
    """
    current_user = get_jwt_identity()
    if current_user is not None:
        return render_template("login.html", name=current_user)

    form = RegisterForm()
    if form.validate_on_submit():
        email = form.email.data
        name = form.name.data
        password = form.password.data

        if send_confirmation_email(email, name):
            flash("Email send", "success")
            resp_id = add_user(email, name, "", password, False)
            if resp_id is not None:
                return redirect(url_for("main.home"))

        return "Bad request", 400

    return render_template("index.html", form=form)
Exemple #13
0
def signup():
    form = RegisterForm()
    if form.validate_on_submit():
        email = request.form.get('email')
        name = request.form.get('username')
        password = request.form.get('password')

        user = User.query.filter_by(email=email).first()
        # if this returns a user, then the email already exists in database

        if user:  # if a user is found, we want to redirect back to signup page so user can try again
            flash('Email address already exists')
            return redirect(url_for('auth.signup'))

        # create new user with the form data. Hash the password so plaintext version isn't saved.
        new_user = User(email=email,
                        name=name,
                        password=generate_password_hash(password,
                                                        method='sha256'))
        # add the new user to the database
        db.session.add(new_user)
        db.session.commit()
        return redirect(url_for('auth.login'))
    return render_template('signup.html', form=form)
Exemple #14
0
def register():
    form = RegisterForm()
    return render_template('pages/register.html', form=form)
Exemple #15
0
def include_auth(context):
    context.update({
        'login_form': AuthenticationForm(),
        'register_form': RegisterForm()
    })
    return context