Example #1
0
def pet_details(pet_id):
    """takes us to our pet  detail page and handles edit if info is  edited!"""

    current_pet = Pet.query.get_or_404(pet_id)
    form = EditPetForm()

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

        if photo_url is not None:
            current_pet.photo_url = photo_url

        current_pet.age = age
        current_pet.notes = notes
        current_pet.available = available

        db.session.commit()

    else:
        return render_template('pet-details.html', pet=current_pet, form=form)

    return redirect("/")
Example #2
0
def display_edit_pet(pet_id):
    """Route that displays pet's information, shows a form to edit the pet, and edits the pet"""
    pet = Pet.query.get_or_404(pet_id)
    form = EditPetForm(obj=pet)
    
    if form.validate_on_submit():
        pic = form.photo_url.data
        # This line doesn't work here for some reason.  Still trying to figure this out.  Even though pic gets set to None if
        # the photo_url is an empty string, it still doesn't get set to the default_img value.  I have to set it manually below
        # in the else: block
        # pic = pic if pic else None

        if pic:
            pet.photo_url = pic
        else:
            pet.photo_url = default_img

        pet.name = form.name.data
        pet.age = form.age.data
        pet.notes = form.notes.data
        pet.available = form.available.data

        db.session.commit()

        flash(f"Successfully edited {pet.name}!")
        return redirect(f'/{pet.id}')
    else:
        return render_template('display-edit.html', form=form, pet=pet)
Example #3
0
def show_pet(pet_id):
    """ Edit pet form; handle editing pets """

    pet = Pet.query.get_or_404(pet_id)
    form = EditPetForm(obj=pet)

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

        pet.notes = notes
        pet.photo_url = photo_url
        pet.available = available

        db.session.commit()
        flash(
            f"notes: {notes}, photo_url={photo_url}, available={pet.available}"
        )

        return redirect(f'/{pet_id}')

    p = dict(name=pet.name,
             species=pet.species,
             photo_url=pet.photo_url,
             age=pet.age,
             notes=pet.notes,
             available=pet.available)

    return render_template('pet_edit_form.html', pet=p, form=form)
Example #4
0
def pet_info(id):
    """
    Pet info and edit form;
    validates and handle editing of pet into pets table
    Also handles GET of pet info / edit form
    """

    pet = Pet.query.get_or_404(id)
    form = EditPetForm(obj=pet)

    if form.validate_on_submit():
        photo_url = form.photo_url.data
        photo_url = photo_url if photo_url else DEFAULT_PIC
        notes = form.notes.data
        available = form.available.data

        # TO NOT CHANGE PICTURE WHEN EMPTY STRING!!!
        # if photo_url is not None:
        #     pet.photo_url = photo_url
        pet.photo_url = photo_url
        pet.notes = notes
        pet.available = available

        db.session.commit()

        flash(f"Edited {pet.name}!")
        return redirect(f"/{id}")

    else:
        return render_template(
            "pet_info.html", pet=pet, form=form)
Example #5
0
def show_pet_detail(pet_id):
    """show pet detail"""

    pet = Pet.query.get(pet_id)
    form = EditPetForm(obj=pet)

    pet_name = pet.name
    pet_species = pet.species
    pet_age = pet.age

    if form.validate_on_submit():
        pet.photo_url = form.photo_url.data
        pet.notes = form.notes.data
        pet.available = form.available.data

        db.session.commit()

        return redirect(f'/pet/{pet_id}')

    else:
        return render_template(
            "pet_detail.html",
            pet_name=pet_name,
            pet_image=pet.photo_url,
            pet_species=pet_species,
            pet_age=pet_age,
            form=form
        )
Example #6
0
def show_pet(petid):
    """Shows details about the specified pet and allows editing those details"""

    pet = Pet.query.get_or_404(petid)
    form = EditPetForm(obj=pet)

    if form.validate_on_submit():
        if request.form['btn'] == 'Edit Info':
            pet.name = form.name.data.capitalize()
            pet.species = form.species.data.capitalize()
            pet.available = form.available.data
            pet.photo_url = form.photo_url.data
            pet.age = form.age.data
            pet.notes = form.notes.data
            db.session.commit()
            flash(f"{pet.name} data edited!")
            return redirect(f"/{petid}")
        elif request.form['btn'] == 'Delete':
            db.session.delete(pet)
            db.session.commit()
            flash(f"{pet.name} deleted")
            return redirect('/')
        else:
            flash(f"Weird submit was detected")
            return redirect('/')
    else:
        return render_template('pet.html', pet=pet, form=form)
Example #7
0
def show_pet_details(pet_id):
    """Shows pet details and edit form page"""

    pet = Pet.query.get_or_404(pet_id)
    form = EditPetForm(obj=pet)

    if form.validate_on_submit():
        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

        pet.notes = form.notes.data
        pet.available = form.available.data

        db.session.commit()
        flash(f"{pet.name} updated!")
        return redirect(f"/{pet.id}")

    else:
        return render_template("pet_details.html", pet=pet, form=form)
Example #8
0
def edit(pet_id):
    pet = Pet.query.get(pet_id)
    form = EditPetForm()
    if form.validate_on_submit():
        pet.photo_url = form.photo_url.data
        pet.notes = form.notes.data
        pet.available = form.available.data
        db.session.commit()
        return redirect("/")
    else:
        return render_template("editPet.html", form=form, pet=pet)
Example #9
0
def edit_pet(id):
    """Renders and handles the edit pet form"""
    pet = Pet.query.get_or_404(id)
    form = EditPetForm(obj=pet)

    if form.validate_on_submit():
        form.populate_obj(pet)
        db.session.add(pet)
        db.session.commit()
        return redirect('/')
    else:
        return render_template("edit_pet.html", pet=pet, form=form)
Example #10
0
def pet_page(pet_id):
    """Renders pet page (GET) or handles edit pet form submission (POST)"""
    pet = Pet.query.get(pet_id)
    form = EditPetForm(obj=pet)
    if form.validate_on_submit():
        pet.photo_url = form.photo_url.data
        pet.notes = form.notes.data
        pet.is_available = form.is_available.data
        db.session.commit()
        return redirect(f'/{pet_id}')
    else:
        return render_template('pet-info.html', pet=pet, form=form)
Example #11
0
def show_and_edit_pet(pet_id):

    pet = Pet.query.get_or_404(pet_id)
    form = EditPetForm(obj=pet)

    if form.validate_on_submit():
        pet.photo_url = form.photo_url.data
        pet.notes = form.notes.data
        pet.available = form.available.data
        db.session.commit()
        return redirect('/')
    return render_template('edit-pet-form.html', form=form, pet=pet)
Example #12
0
def show_pet_details(pet_id):
    pet = Pet.query.get_or_404(pet_id)
    form = EditPetForm(obj=pet)
    if form.validate_on_submit():
        pet.photo_url = form.photo_url.data
        pet.notes = form.notes.data
        pet.available = form.available.data
        sess.add(pet)
        sess.commit()
        return redirect('/')
    else:
        return render_template("displayPet.html", pet=pet, form=form)
Example #13
0
def edit_pet_detail(id):
    pet = Pet.query.get_or_404(id)
    form = EditPetForm(obj=pet)
    if form.validate_on_submit():
        pet.notes = form.notes.data
        pet.available = form.available.data
        pet.photo_url = form.photo_url.data
        db.session.commit()
        flash('updated')
        return redirect('/')
    else:
        return render_template('pet_edit.html', pet=pet, form=form)
Example #14
0
def display(pet_id):
    """ Displays pet details and edit form """
    pet = Pet.query.get_or_404(pet_id)
    form = EditPetForm(obj=pet)

    if form.validate_on_submit():
        pet.photo_url = form.photo_url.data
        pet.notes = form.notes.data
        pet.available = form.available.data
        db.session.commit()
        return redirect(f'/{pet_id}')
    else:
        return render_template('details.html', pet=pet, form=form)
Example #15
0
def edit_pet(pet_id):
    '''edit an existing pet'''
    pet = Pet.query.get_or_404(pet_id)
    form = EditPetForm(obj=pet)
    if form.validate_on_submit():
        pet.notes = form.notes.data
        pet.available = form.available.data
        pet.photo_url = form.photo_url.data
        db.session.commit()
        flash(f'{pet.name} has been updated!')
        return redirect(url_for('all_pets'))
    else:
        return render_template("edit_pet.html", form=form, pet=pet)
Example #16
0
def show_pet(id):
    pet = Pet.query.get(id)
    form = EditPetForm(obj=pet)
    if form.validate_on_submit():
        pet.name = form.name.data
        pet.species = form.species.data
        pet.photo_url = form.photo_url.data
        pet.age = form.age.data
        pet.notes = form.notes.data
        pet.available = form.available.data
        db.session.commit()
        return redirect(f"/pet/{id}")
    return render_template("pet.html", form=form, pet=pet)
Example #17
0
def show_pet_details(pet_id):
    """ Shows pet details and form to edit pet """
    form = EditPetForm()
    pet = Pet.query.get_or_404(pet_id)

    if form.validate_on_submit():
        pet.photo_url = form.photo_url.data
        pet.notes = form.notes.data
        pet.available = form.available.data
        flash(f"Updated {pet.name}!")
        return redirect(f"/{pet.id}")
    else:
        return render_template("pet_info.html", pet=pet, form=form)
Example #18
0
def edit_pet(id):
    """edit pet info for a specific pet"""
    pet = Pet.query.get_or_404(id)
    form = EditPetForm(obj=pet)

    if form.validate_on_submit():
        pet.notes = form.notes.data
        pet.photo_url = form.photo_url.data
        pet.available = form.available.data
        db.session.commit()
        flash(f"{pet.name} is updated.")
        return redirect(url_for('list_pets'))
    else:
        return render_template("edit_pet_form.html", form=form, pet=pet)
Example #19
0
def edit_pet(id):
    """Displays an edit pet form, populated by pet with an id of id, or returns 404 on a get request.
    A post request updates the database information and redirects the user to details via get request"""
    pet = Pet.query.get_or_404(id)
    form = EditPetForm(obj=pet)
    if form.validate_on_submit():
        pet.image_url = form.image_url.data
        pet.available = form.available.data
        pet.notes = form.notes.data
        db.session.add(pet)
        db.session.commit()
        return redirect(f'/{id}')
    else:
        return render_template('edit_pet.html', form = form, pet = pet)
Example #20
0
def edit_pet(pet_id):
    pet = AdoptPet.query.get_or_404(pet_id)
    form = EditPetForm(obj=pet)

    if form.validate_on_submit():        
        pet.photo_url = form.photo_url.data        
        pet.notes = form.notes.data 
        pet.available = form.available.data       
        db.session.commit()
        flash(f"{pet.name} updated.",'success')
        return redirect(url_for('list_page'))

    else:
        return render_template('edit.html', form=form, pet=pet)
Example #21
0
def display_pet_details_and_edit_form(pet_id):
    """ Shows pet details and edit pet form """
    pet = Pet.query.get_or_404(pet_id)
    form = EditPetForm(obj=pet)
    if form.validate_on_submit():
        print("*!*!*!*!*! IT WORKED !*!!" * 10)
        pet.photo_url = form.photo_url.data
        pet.notes = form.notes.data
        pet.available = form.available.data
        db.session.commit()
        flash(f"Edited pet: {pet.name}")
        return redirect(f"/{pet_id}")
    else:
        return render_template("edit_pet.html", form=form, pet=pet)
Example #22
0
def show_pet_info_or_edit(pet_id):
    """Show pet details."""

    pet = Pet.query.get_or_404(pet_id)
    form = EditPetForm(obj=pet)

    if form.validate_on_submit():
        pet.photo_url = form.photo_url.data
        pet.notes = form.notes.data
        pet.available = form.available.data
        db.session.commit()
        return redirect(f"/pet/{pet_id}")

    return render_template("pet_detail.html", form=form, pet=pet)
Example #23
0
def show_pet_details(pet_id):
    """Shows details about a specific pet along with a form to edit some of their info"""
    pet = Pet.query.get_or_404(pet_id)
    form = EditPetForm(obj=pet)

    if form.validate_on_submit():
        pet.photo_url = form.photo_url.data
        pet.notes = form.notes.data
        pet.available = form.available.data
        db.session.commit()
        flash("Info updated successfully!")
        return redirect(f"/{pet.id}")
    #error in form input: re-present form for editing
    return render_template("pet_details.html", pet=pet, form=form)
Example #24
0
def show_pet_details(pet_id):
    """ render pet page"""

    pet = Pet.query.get_or_404(pet_id)
    form = EditPetForm(obj=pet)

    if form.validate_on_submit():
        pet.photo_url = form.photo_url.data or None
        pet.notes = form.notes.data
        pet.available = form.available.data
        db.session.commit()
        return redirect("/")

    return render_template("pet_detail.html", pet=pet, form=form)
def details(pet_id):
    pet = Pet.query.get(pet_id)
    if pet == None:
        abort(404)

    form = EditPetForm(obj=pet)
    if form.validate_on_submit():
        pet.photo_url = form.photo_url.data
        pet.notes = form.notes.data
        pet.available = form.available.data
        db.session.commit()
        flash(f"{pet.name} details have been updated.")

    return render_template("details.html", pet=pet, form=form)
Example #26
0
def pet_details(pet_id):
    """see or edit pet details"""
    pet = Pet.query.get(pet_id)
    form = EditPetForm(obj=pet)
    if form.validate_on_submit():
        pet = Pet.query.get(pet_id)
        pet.photo_url = form.photo_url.data
        pet.notes = form.notes.data
        pet.available = form.available.data
        db.session.add(pet)
        db.session.commit()
        return redirect('/')
    else:
        return render_template('pet_details.html', pet=pet, form=form)
Example #27
0
def show_pet(pet_id_number):
    """Shows a pet and it's edit form"""

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

    if form.validate_on_submit():
        pet.photo_url = form.photo_url.data
        pet.notes = form.notes.data
        pet.available = form.available.data
        db.session.commit()
        return redirect(f'/{pet_id_number}')
    else:
        return render_template("pet_display.html", pet=pet, form=form)
Example #28
0
def pet_info_edit(id):
    """show pet information and edit pet form"""
    pet = Pet.query.get_or_404(id)
    form = EditPetForm(obj=pet)

    if form.validate_on_submit():
        pet.photo_url = form.photo_url.data
        pet.notes = form.note.data
        pet.available = form.available.data
        db.session.commit()
        flash(f"{pet.name} updated!")
        return redirect(f"/{pet.id}")

    else:
        return render_template("petdetails.html", pet=pet, form=form)
Example #29
0
def edit_pet(pet_id):
    """Edit Pet Details"""
    pet = Pet.query.get_or_404(pet_id)
    form = EditPetForm(obj=pet)

    if form.validate_on_submit():
        pet.photo_url = form.photo_url.data
        pet.notes = form.notes.data
        pet.available = form.available.data

        db.session.commit()

        return redirect('/')
    else:
        return render_template('edit_pet_form.html', pet=pet, form=form)
Example #30
0
def edit_add_pet_form(pet_id):
    form = EditPetForm()
    pet = Pet.query.get_or_404(pet_id)

    if form.validate_on_submit():
        pet.notes = form.notes.data
        pet.available = form.available.data
        pet.photo_url = form.photo_url.data
        db.session.commit()

        flash(f"{pet.name} has been updated!")

        return redirect('/')
    else:
        return render_template('edit_pet_form.html', form=form, pet=pet)