def view(): logout = logout_form() search = search_person_form() search.player.choices = [('{}'.format(person.id), '{} {}'.format(person.lastname, person.name)) for person in get_Athletes()] if search.validate_on_submit(): id = search.player.data player = get_Person(id) if player != None: edit = create_edit_form(id=id) context = { 'user': current_user, 'player': player, 'logout': logout, 'search': search, 'edit': edit, } return render_template('view.html', **context) context = { 'user': current_user, 'logout': logout, 'search': search, } return render_template('view.html', **context)
def signup(): signup = signup_form() if signup.validate_on_submit(): email = signup.id.data user = get_Person(email) if user is None: email = signup.id.data password = signup.password.data name = signup.name.data lastname = signup.lastname.data height = signup.height.data weight = signup.weight.data birthday = signup.birthday.data biography = signup.biography.data dorsal = signup.dorsal.data position = signup.position.data image = signup.image.data if image != '': image_name = secure_filename(email + '_' + image.filename) image_path = os.path.abspath( 'app/static/uploads/{}'.format(image_name)) image.save(image_path) put_Athlete(email, password, name, lastname, birthday, biography, image_name, height, weight, dorsal, position) else: put_Athlete(email, password, name, lastname, birthday, biography, None, height, weight, dorsal, position) flash('User successfully registered', category='success') user = get_Person(email) # user = Athlete(email, name, lastname, height, weight, birthday, dorsal, position, False, image_path) login_user(user) return redirect(url_for('profile.home', current=current_user.name)) else: flash('User already exist', category='danger') else: if request.method == 'POST': flash('Something went wrong, check the fields', category='danger') context = {'signup_form': signup, 'current': current_user} return render_template('signup.html', **context)
def create_edit_form(id): class edit_form(FlaskForm): pass player = get_Person(id) choices = [\ ("1","Arquero"), ("2","Defensa derecho"), ("3","Defensa izquierdo"), ("4","Defensa central"), ("5","Defensa/Mediocampista de contencion"),\ ("6","Mediocampista derecho/exterior"), ("7","Central/ Mediocampista"), ("8","Delantero"), ("9","Mediocampista ataque/armador"),\ ("10","Mediocampista izquierdo/exterior")] id = HiddenField('id', default=player.id, validators=[InputRequired()]) email = StringField('Correo', validators=[validate_name, InputRequired()], default=player.id) name = StringField('Nombre', default=player.name, validators=[InputRequired()]) lastname = StringField('apellidos', default=player.lastname, validators=[InputRequired()]) birthday = DateField('CumpleaƱos', format='%Y-%m-%d', default=player.birthday, validators=[InputRequired()]) height = StringField('Estatura (cm)', default=player.athlete.height, validators=[InputRequired()]) weight = StringField('Peso', default=player.athlete.weight, validators=[InputRequired()]) dorsal = StringField('Dorsal', validators=[validate_dorsal, InputRequired()], default=player.athlete.dorsal) position = SelectField('Posicion', choices=choices, default=player.athlete.position, validators=[InputRequired()]) submit = SubmitField() setattr(edit_form, 'id', id) setattr(edit_form, 'email', email) setattr(edit_form, 'name', name) setattr(edit_form, 'lastname', lastname) setattr(edit_form, 'birthday', birthday) setattr(edit_form, 'height', height) setattr(edit_form, 'weight', weight) setattr(edit_form, 'dorsal', dorsal) setattr(edit_form, 'position', position) setattr(edit_form, 'submit', submit) return edit_form()
def create_coach(): logout = logout_form() signup = signup_coach_form() if signup.validate_on_submit(): email = signup.id.data user = get_Person(email) if user is None: email = signup.id.data password = signup.password.data name = signup.name.data lastname = signup.lastname.data birthday = signup.birthday.data especialization = signup.especialization.data link = signup.link.data biography = signup.biography.data image = signup.image.data print(password) if image != '': image_name = secure_filename('{}_{}'.format( email, image.filename)) image_path = os.path.abspath( 'app/static/uploads/{}'.format(image_name)) image.save(image_path) put_coach(email, password, name, lastname, birthday, biography, image_name, especialization, link) flash('User successfully registered', category='success') else: flash('El usuario ya existe', category='danger') return redirect(url_for('crud.create_coach')) else: if request.method == 'POST': flash('Something went wrong, check the fields', category='danger') context = { 'user': current_user, 'logout': logout, 'signup': signup, } return render_template('coach.html', **context)
def login(): login = login_form() if current_user.is_active: return redirect(url_for('profile.home', current=current_user.name)) if login.validate_on_submit(): email = login.email.data password = login.password.data user = get_Person(email) if user and user.check_password(password): login_user(user) flash('Logued in successfully', category="success") return redirect(url_for('profile.home', current=user.name)) # return redirect(url_for('profile.home')) context = {'login_form': login} return render_template('login.html', **context)
def delete(): logout = logout_form() delete = delete_person_form() delete.player.choices = [('{}'.format(person.id), '{} {}'.format(person.lastname, person.name)) for person in get_Athletes()] if delete.validate_on_submit(): id = delete.player.data player = get_Person(id) if player is not None: delete_Person(player) flash('User delete successfuly', category='success') return redirect(url_for('crud.delete')) context = { 'user': current_user, 'logout': logout, 'delete': delete, } return render_template('delete.html', **context)
def edit(): form = edit_form(request.form) id = form.id.data email = form if request.method == 'POST' and form.validate(): player = get_Person(email) email if player is None: # insert email = form.email.data name = form.name.data lastname = form.lastname.data birthday = form.birthday.data height = form.height.data weight = form.weight.data dorsal = form.dorsal.data position = form.position.data update_Athlete(id, email, name, lastname, birthday, height, weight, dorsal, position) flash('User update successfuly', category='success') else: flash('Something went wrong, check the fields', category='danger') return redirect(url_for('crud.view'))