|
|
@ -1,7 +1,10 @@ |
|
|
from flask import Blueprint, render_template, redirect, url_for, request, flash |
|
|
from flask import Blueprint, render_template, redirect, url_for, request, flash |
|
|
from werkzeug.security import generate_password_hash, check_password_hash |
|
|
from werkzeug.security import generate_password_hash, check_password_hash |
|
|
|
|
|
from werkzeug.utils import secure_filename |
|
|
from flask_login import login_user, logout_user, login_required |
|
|
from flask_login import login_user, logout_user, login_required |
|
|
from .models import User |
|
|
from .models import User |
|
|
|
|
|
import os |
|
|
|
|
|
|
|
|
from . import db |
|
|
from . import db |
|
|
|
|
|
|
|
|
bp = Blueprint('auth', __name__) |
|
|
bp = Blueprint('auth', __name__) |
|
|
@ -39,8 +42,15 @@ def signup(): |
|
|
@bp.route('/signup', methods=['POST']) |
|
|
@bp.route('/signup', methods=['POST']) |
|
|
def signup_post(): |
|
|
def signup_post(): |
|
|
print("Creando usuario") |
|
|
print("Creando usuario") |
|
|
|
|
|
email = request.form.get('email') |
|
|
username = request.form.get('username') |
|
|
username = request.form.get('username') |
|
|
password = request.form.get('password') |
|
|
password = request.form.get('password') |
|
|
|
|
|
confirm_password = request.form.get('confirm_password') |
|
|
|
|
|
photo = request.files['photo'] |
|
|
|
|
|
|
|
|
|
|
|
if password != confirm_password: |
|
|
|
|
|
flash('Passwords do not match.') |
|
|
|
|
|
return redirect(url_for('auth.signup')) |
|
|
|
|
|
|
|
|
user = User.query.filter_by(username=username).first() # if this returns a user, then the user already exists in database |
|
|
user = User.query.filter_by(username=username).first() # if this returns a user, then the user already exists in database |
|
|
|
|
|
|
|
|
@ -48,14 +58,27 @@ def signup_post(): |
|
|
flash('La dirección de correo ya existe') |
|
|
flash('La dirección de correo ya existe') |
|
|
return redirect(url_for('auth.signup')) |
|
|
return redirect(url_for('auth.signup')) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if photo: |
|
|
|
|
|
photo_filename = secure_filename(photo.filename) |
|
|
|
|
|
print("Foto: ", photo_filename) |
|
|
|
|
|
photo.save(os.path.join(bp.config['UPLOAD_FOLDER'], photo_filename)) |
|
|
|
|
|
else: |
|
|
|
|
|
photo_filename = None |
|
|
|
|
|
|
|
|
# create a new user with the form data. Hash the password so the plaintext version isn't saved. |
|
|
# create a new user with the form data. Hash the password so the plaintext version isn't saved. |
|
|
new_user = User(username=username, password=generate_password_hash(password, method='pbkdf2:sha256')) |
|
|
|
|
|
|
|
|
new_user = User(email=email, username=username, password=generate_password_hash(password, method='pbkdf2:sha256'), photo=photo_filename) |
|
|
|
|
|
|
|
|
# add the new user to the database |
|
|
# add the new user to the database |
|
|
db.session.add(new_user) |
|
|
|
|
|
db.session.commit() |
|
|
|
|
|
|
|
|
|
|
|
return redirect(url_for('auth.login')) |
|
|
|
|
|
|
|
|
try: |
|
|
|
|
|
db.session.add(new_user) |
|
|
|
|
|
db.session.commit() |
|
|
|
|
|
flash('Registration successful.') |
|
|
|
|
|
return redirect(url_for('auth.login')) |
|
|
|
|
|
except: |
|
|
|
|
|
flash('Email address already exists.') |
|
|
|
|
|
return redirect(url_for('auth.login')) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@bp.route('/logout') |
|
|
@bp.route('/logout') |
|
|
@login_required |
|
|
@login_required |
|
|
|