Пример #1
0
def add_pet():
    """Shows add pet form; handles form submit."""

    form = AddPetForm()

    if form.validate_on_submit():
        data = {
            key: value
            for key, value in form.data.items()
            if key not in ["csrf_token", "photo_url", "photo_upload"]
        }
        pet = Pet(**data)

        if form.photo_upload.data:
            f = form.photo_upload.data
            filename = secure_filename(f.filename)
            f.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
            pet.photo = url_for('static', filename=filename)

        elif form.photo_url.data:
            pet.photo = form.photo_url.data

        db.session.add(pet)
        db.session.commit()
        flash(f"Added {pet.name}")

        return redirect("/")

    else:
        return render_template("add_pet.html", form=form)
Пример #2
0
def add_pet():
    """Add a pet."""

    form = AddPetForm()

    species = [(s.species, s.species) for s in Pet.query.all()]
    form.species.choices = species

    if form.validate_on_submit():
        name = form.name.data
        species = form.species.data
        photo_url = form.photo_url.data or None
        age = form.age.data
        notes = form.notes.data

        newPet = Pet(name=name,
                     species=species,
                     photo_url=photo_url or None,
                     age=age,
                     notes=notes)
        db.session.add(newPet)
        db.session.commit()

        return redirect("/")
    else:
        # re-present form for editing
        return render_template("addpetform.html", form=form)
Пример #3
0
def create_pet_form():
    """ Form for adding pets """

    form = AddPetForm()

    if form.validate_on_submit():
        name = form.name.data
        species = form.species.data
        age = form.age.data
        photo_url = form.photo_url.data or None
        notes = form.notes.data or None

        pet = Pet(name=name,
                  species=species,
                  age=age,
                  photo_url=photo_url,
                  notes=notes)

        db.session.add(pet)
        db.session.commit()

        return redirect("/")

    else:
        return render_template("add-form.html", form=form)
Пример #4
0
def add_pet():
    """
    Pet add form;
    validates and handle adding of new pet into pets table
    Also handles GET of add form
    """

    form = AddPetForm()

    if form.validate_on_submit():
        name = form.name.data
        species = form.species.data
        photo_url = form.photo_url.data or None
        age = form.age.data
        notes = form.notes.data

        pet = Pet(name = name, species = species, photo_url = photo_url, age = age, notes = notes)

        db.session.add(pet)
        db.session.commit()

        flash(f"Added {name}!")
        return redirect("/")

    else:
        return render_template(
            "add_pet.html", form=form)
Пример #5
0
def add_pet():
    """Get form inputs for adding a pet and add pet to db; otherwise, render the form."""

    form = AddPetForm()

    if form.validate_on_submit():
        name = form.name.data
        species = form.species.data
        photo_url = form.photo_url.data
        age = form.age.data
        notes = form.notes.data

        pet = Pet(name=name,
                  species=species,
                  photo_url=photo_url,
                  age=age,
                  notes=notes)

        db.session.add(pet)
        db.session.commit()

        return redirect('/')

    else:
        return render_template('add_pet_form.html', form=form)
Пример #6
0
def get_new_pet():
    """Display form to add a pet (GET)
    or handles new form submission (POST)"""

    form = AddPetForm()

    if form.validate_on_submit():
        name = form.name.data
        species = form.species.data
        photo_url = form.url.data
        age = form.age.data
        notes = form.notes.data

        pet = Pet(name=name,
                  species=species,
                  photo_url=url,
                  age=age,
                  notes=notes)
        db.session.add(pet)
        db.session.commit()

        return redirect('/')

    else:
        return render_template('pet_add.html', form=form)
Пример #7
0
def add_pet_form():
    """all fields besides photo and notes are required 
    
    allowed species are Dog, Cat, Porcupine. On sucess redirects to homepage"""

    form = AddPetForm()
    if form.validate_on_submit():
        name = form.name.data
        species = form.species.data
        photo_url = form.photo_url.data
        age = form.age.data
        notes = form.notes.data

        pet = Pet(name=name,
                  species=species,
                  photo_url=photo_url or None,
                  age=age,
                  notes=notes)

        db.session.add(pet)
        db.session.commit()

        flash(f'{name} has been put up for adoptions :D')

        return redirect("/")

    else:
        return render_template('forms/pet_add_form.html', form=form)
Пример #8
0
def add_pet():

    form = AddPetForm()

    # import pdb
    # pdb.set_trace()

    if form.validate_on_submit():
        name = form.name.data
        species = form.species.data
        photo_url = form.photo_url.data
        age = form.age.data
        notes = form.notes.data
        # available = form.available.data

        new_pet = Pet(name=name,
                      species=species,
                      photo_url=photo_url,
                      age=age,
                      notes=notes
                      # available=available,
                      )

        db.session.add(new_pet)
        db.session.commit()

        flash(f"Added {name}")

        return redirect("/")

    else:
        return render_template("add.html", form=form)
Пример #9
0
def add_pet():
    """ Form for adding a pet """

    form = AddPetForm()

    if form.validate_on_submit():
        name = form.name.data
        species = form.species.data
        photo_url = form.photo_url.data or None
        age = form.age.data
        notes = form.notes.data
        flash(f"Added {name} to adoption list.")

        # create a pet instance
        new_pet = Pet(name=name,
                      species=species,
                      photo_url=photo_url,
                      age=age,
                      notes=notes)

        db.session.add(new_pet)
        db.session.commit()

        return redirect('/')

    else:
        return render_template('add_pet_form.html', form=form)
Пример #10
0
def add_pet():
    """Renders add pet form (GET) or handles add pet form submission (POST)"""
    form = AddPetForm()

    if form.validate_on_submit():
        name = form.name.data
        species = form.species.data
        photo_url = form.photo_url.data
        age = form.age.data
        notes = form.notes.data

        new_pet = Pet(name=name,
                      species=species,
                      photo_url=photo_url,
                      age=age,
                      notes=notes)

        db.session.add(new_pet)
        db.session.commit()

        flash(f"The {species} {name} has been added!")

        return redirect('/')
    else:
        return render_template("add_pet.html", form=form)
Пример #11
0
def add_pet():
    """Add a pet to the list"""
    form = AddPetForm()
    if form.validate_on_submit():
        # name = form.name.data
        # species = form.species.data
        # photo_url = form.photo_url.data
        # age = form.age.data
        # notes = form.notes.data
        # available = form.available.data

        # pet = Pet(name = name, species = species, photo_url = photo_url, age = age, notes = notes, available = available)

        data = {
            k: v
            for k, v in form.data.items() if k != 'csrf_token' and k != 'file'
        }
        new_pet = Pet(**data)

        if form.file.data.filename != '':
            filename = images.save(form.file.data)
            # if filename != None:
            new_pet.photo_url = f'static/{filename}'
        else:
            new_pet.photo_url = Pet.image_url(new_pet)

        db.session.add(new_pet)
        db.session.commit()
        flash(f'{new_pet.name} is added.')
        return redirect('/')
    else:
        return render_template('add_pet.html', form=form)
Пример #12
0
def add_pet():
    """goes to our add pet form and handles add pet event!"""

    form = AddPetForm()

    if form.validate_on_submit():
        pet_name = form.name.data
        species = form.species.data

        photo_url = form.photo_url.data or None
        age = form.age.data
        notes = form.notes.data or None

        new_pet = Pet(
            name=pet_name,
            species=species,
            photo_url=photo_url,
            age=age,
            notes=notes,
        )
        db.session.add(new_pet)
        db.session.commit()
    else:
        return render_template("add-pet.html", form=form)

    return redirect("/")
Пример #13
0
def add_pet():
    """Adds a new pet."""

    form = AddPetForm()

    if form.validate_on_submit():
        name = form.name.data
        species = form.species.data
        photo_url = form.photo_url.data
        age = form.age.data
        notes = form.notes.data
        if photo_url == '':
            photo_url = None

        new_pet = Pet(name=name,
                      species=species,
                      photo_url=photo_url,
                      age=age,
                      notes=notes)
        db.session.add(new_pet)
        db.session.commit()

        flash(f"Added {name}!")
        return redirect("/")
    else:
        return render_template("addpet.html", form=form)
Пример #14
0
def add_pet():
    """ Allows user to add a pet to the database through a form"""
    form = AddPetForm()

    #executes for a post request
    if form.validate_on_submit():
        name = form.name.data
        species = form.species.data
        photo_url = form.photo_url.data
        age = form.age.data
        notes = form.notes.data

        pet = Pet(name=name,
                  species=species,
                  photo_url=photo_url,
                  age=age,
                  notes=notes)

        db.session.add(pet)
        db.session.commit()

        flash(f"Added {name} the {species}!")
        return redirect("/")

    #executes for a get request, including a failed form submission
    else:
        return render_template("add_pet.html", form=form)
Пример #15
0
def add_pet_form():
    """ Add pet form; handle adding pets """

    form = AddPetForm()

    if form.validate_on_submit():
        name = form.name.data
        species = form.species.data
        photo_url = form.photo_url.data
        age = form.age.data
        notes = form.notes.data
        available = form.available.data

        new_pet = Pet(name=name,
                      species=species,
                      photo_url=photo_url,
                      age=age,
                      notes=notes,
                      available=available)
        db.session.add(new_pet)
        db.session.commit()

        flash(
            f"Added {name}, species: {species}, age: {age}, notes: {notes}, photo_url={photo_url}, available={available}"
        )

        return redirect("/add")

    else:
        return render_template("pet_add_form.html", form=form)
Пример #16
0
def add_pet():
    """Pet add form; handle adding."""

    form = AddPetForm()

    if form.validate_on_submit():
        name = form.name.data
        species = form.species.data
        photo_url = form.photo_url.data if not form.photo_url.data == "" else None
        age = form.age.data
        notes = form.notes.data
        available = form.available.data

        flash(f"Added {name} the {species}!", "success")

        pet = Pet(name=name,
                  species=species,
                  photo_url=photo_url,
                  age=age,
                  notes=notes,
                  available=available)
        db.session.add(pet)
        db.session.commit()
        return redirect("/")
    else:
        return render_template("add-pet-form.html", form=form)
Пример #17
0
def add_pet():
    """Pet add form; handle adding."""

    form = AddPetForm()

    if form.validate_on_submit():
        name = form.name.data
        species = form.species.data
        photo = form.photo.data
        age = form.age.data
        notes = form.notes.data
        available = form.available.data

        new_pet = Pet(name=name,
                      species=species,
                      photo=photo,
                      age=age,
                      notes=notes,
                      available=available)
        db.session.add(new_pet)
        db.session.commit()
        flash(f"Added {name} the {species}", "success")
        return redirect("/add")

    else:

        return render_template("add_pet.html", form=form)
Пример #18
0
def get_add_form():
    form = AddPetForm()

    if form.validate_on_submit():
        name = form.name.data or None
        species = form.species.data or None
        photo_url = form.photo_url.data or None
        age = form.age.data
        notes = form.notes.data
        print("***************Before FLASH")
        flash(f"Added {name} to Adoption List")
        print("***************AFTER FLASH")

        new_pet = Pet(name=name,
                      species=species,
                      photo_url=photo_url,
                      age=age,
                      notes=notes)

        db.session.add(new_pet)
        db.session.commit()

        return redirect('/')

    else:
        return render_template('add_pet_form.html', form=form)
Пример #19
0
def add_pet():
    """
        Shows a form for the user to add a new pet, and handles adding a pet
        rtype: str
    """
    form = AddPetForm()

    if form.validate_on_submit():
        # retrieve form data
        name = form.name.data
        species = form.species.data
        photo_url = form.photo_url.data
        age = form.age.data
        notes = form.notes.data

        # if optional fields are blank, set to None
        if not photo_url:
            photo_url = None
        if not age:
            age = None
        if not notes:
            notes = None

        # create new pet
        new_pet = Pet(name=name, species=species, photo_url=photo_url, \
            age=age, notes=notes)
        db.session.add(new_pet)
        db.session.commit()

        flash("You have created a new pet")
        return redirect("/")

    return render_template("add-pet.html", form=form)
Пример #20
0
def add_pet():
    form = AddPetForm()
    spec = db.session.query(Specie.id, Specie.species)
    form.species.choices = spec
    if form.validate_on_submit():
        name = form.name.data
        age = form.age.data
        species = form.species.data
        image_url = form.image_url.data
        image_url = image_url if image_url else None
        notes = form.notes.data
        available = form.available.data
        new_pet = Pet(
            name=name,
            age=age,
            specie_id=species,
            image_url=image_url,
            notes=notes,
            available=available,
        )
        db.session.add(new_pet)
        db.session.commit()
        flash(
            f"Pet created, name={name}, age={age}, specie_id={species}, image-url={image_url}, notes={notes} available={available}"
        )
        db.session.refresh(new_pet)
        db.session.add(
            PetSpeciesTag(pet_id=new_pet.id, specie_id=new_pet.specie_id))
        db.session.commit()
        return redirect(url_for("home"))
    else:
        return render_template("add_pet_form.html", form=form)
Пример #21
0
def edit_pet_form(pet_id_number):
    """GET request renders the form with prepopulated
    values from the instance of Pet.
    POST request, if valid, sends values from form to 
    database and recommits the instance of Pet."""

    pet = Pet.query.get_or_404(pet_id_number)
    form = AddPetForm(obj=pet)

    if form.validate_on_submit():
        name = form.name.data
        species = form.species.data
        photo_url = form.photo_url.data
        age = form.age.data
        notes = form.notes.data

        pet = Pet(name=name,
                  species=species,
                  photo_url=photo_url,
                  age=age,
                  notes=notes)

        db.session.commit()

        flash(f"Updated {name}!")
        return redirect("/add")

    else:
        return render_template("add-pet-form.html", form=form)
Пример #22
0
def add_pet():
    """Add New Pet"""
    form = AddPetForm()  # make new Form Object

    # validate CSRF Token on submit
    if form.validate_on_submit():
        # form data
        name = form.name.data
        species = form.species.data
        photo_url = form.photo_url.data
        age = form.age.data
        notes = form.notes.data

        # new_pet
        new_pet = Pet(name=name,
                      species=species,
                      photo_url=photo_url,
                      age=age,
                      notes=notes)

        # db.session
        db.session.add(new_pet)
        db.session.commit()

        # redirect
        return redirect('/')
    else:
        # render form
        return render_template('add_pet_form.html', form=form)
Пример #23
0
def add_pet_form():
    """GET request renders the add pet form.
    POST request, if valid, creates a new instance of Pet, 
    commits is to database, and redirects the page."""

    form = AddPetForm()

    if form.validate_on_submit():
        name = form.name.data
        species = form.species.data
        photo_url = form.photo_url.data
        age = form.age.data
        notes = form.notes.data

        pet = Pet(name=name,
                  species=species,
                  photo_url=photo_url,
                  age=age,
                  notes=notes)

        db.session.add(pet)
        db.session.commit()

        flash(f"Added {name} the {species}")
        return redirect("/add")

    else:
        return render_template("add-pet-form.html", form=form)
Пример #24
0
def add_pet():
    """GET route shows add new pet form, POST route validates form"""

    form = AddPetForm()

    if form.validate_on_submit():
        name = form.name.data
        species = form.species.data
        age = form.age.data
        notes = form.notes.data
        photo_url = form.photo_url.data

        new_pet = Pet(name=name,
                      species=species,
                      age=age,
                      photo_url=photo_url,
                      notes=notes)
        db.session.add(new_pet)
        db.session.commit()

        flash(f"Added {name} the {species}, age {age}")
        return redirect("/")

    else:
        return render_template("add.html", form=form)
Пример #25
0
def handle_add_pet_form():
    """Shows a form for adding pets and validates it upon completion."""

    form = AddPetForm()

    if form.validate_on_submit():
        name = form.name.data
        species = form.species.data
        age = form.age.data
        photo_url = form.photo_url.data
        notes = form.notes.data
        available = form.available.data
        p = Pet(name=name,
                species=species,
                age=age,
                photo_url=photo_url,
                notes=notes,
                available=available)
        db.session.add(p)
        db.session.commit()

        flash(f"Added {species} named {name} to directory!")
        return redirect("/")

    else:
        flash("Sorry! Something went wrong with your entry. Please try again.")
        return render_template("add_pet.html", form=form)
Пример #26
0
def add_pet():
    """Pet add form; handle adding new pet"""
    form = AddPetForm()

    if form.validate_on_submit():
        name = form.name.data
        species = form.species.data
        age = form.age.data
        photo_url = form.photo_url.data

        notes = form.notes.data
        notes = notes if notes else None

        pet = Pet(name=name,
                  species=species,
                  age=age,
                  notes=notes,
                  photo_url=photo_url)

        db.session.add(pet)
        db.session.commit()

        return redirect('/')

    else:
        return render_template('add_pet_form.html', form=form)
Пример #27
0
def add_pet():
    """ Form to add and process the add of a new pet. """

    # value returned from db_get_species_list() is a list of tuples NOT a
    #  list of sqlalchemy.engine.row.Row.
    species_list = db_get_species_list()

    form = AddPetForm()

    # dynamically set species choices
    form.species.choices = species_list

    if form.validate_on_submit():
        name = form.name.data
        species_id = form.species.data
        photo_url = form.photo_url.data
        age = form.age.data
        notes = form.notes.data

        msg = db_add_pet(name, species_id, photo_url, age, notes)

        flash(msg["text"], msg["severity"])

        return redirect('/')
    else:
        return render_template('add_pet.html', form=form)
Пример #28
0
def new_pet_form():
    form = AddPetForm()
    if form.validate_on_submit():
        pet = get_form_info(form, Pet)
        db.session.add(pet)
        db.session.commit()
        return redirect("/")
    else:
        return render_template("new_pet_form.html", form=form)
Пример #29
0
def add_post():
    form = AddPetForm()
    if form.validate_on_submit():
        new_pet = Pet(name=form.name.data, species=form.species.data, photo_url=form.photo_url.data, age=form.age.data, notes=form.notes.data, available=form.available.data)
        db.session.add(new_pet)
        db.session.commit()
        return redirect("/")
    else:
        return render_template("addPet.html", form=form)
Пример #30
0
def show_add_pet_form():
    """Get and post requests for adding a new pet"""
    form = AddPetForm()
    if form.validate_on_submit():
        add_new_pet(form)
        flash(f'{form.data.name} successfully added!')
        return redirect(url_for('show_home_page'))
    else:
        return render_template('add_pet.html', form=form, hide_cancel_btn='')