コード例 #1
0
def add_pet():
    form = PetForm()
    form.species.choices = [(pet.species, pet.species) for pet in Pet.query.all()]

    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
        flash(f"{name} the {species} added to list")
        db.session.add(Pet(name=name, 
                           species=species, 
                           photo_url=photo_url,
                           age=age,
                           notes=notes))
        db.session.commit()
        return redirect('/')
    
    else:
        return render_template('add-pet.html', form=form)
コード例 #2
0
def edit_pet(pet_id):
    """ should display page to edit PET's details """

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

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

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

        return redirect(f'/{pet_id}')

    else:
        return render_template('edit-pet.html', form=form, pet=pet)
コード例 #3
0
def enroll():
    """adds new pet to db"""
    form = PetForm()

    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('Pet added, welcome aboard')
        return redirect('/')
    else:
        return render_template('pet-form.html', form=form)
コード例 #4
0
def add_new_pet():
    form = PetForm()

    if form.validate_on_submit():
        # pet.name = form.name.data
        # pet.species = form.species.data
        # pet.age = form.age.data
        # pet.photo_url = form.photo_url.data
        # pet.notes = form.notes.data
        # import pdb;pdb.set_trace()
        data = {
            key: val
            for key, val in form.data.items() if key != 'csrf_token'
        }
        pet = Pet(**data)

        db.session.add(pet)
        db.session.commit()
        return redirect('/')

    else:
        return render_template('add_pet.html', form=form)
コード例 #5
0
def add_pet():
    form = PetForm()

    if form.validate_on_submit():

        name = form.name.data
        species = form.species.data
        photo = form.photo_url.data
        age = form.age.data
        notes = form.notes.data

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

        return redirect('/')
    else:
        return render_template('add-pet.html', form=form)
コード例 #6
0
ファイル: app.py プロジェクト: ursawd/adopt
def show_process_pet_form():
    """Display / process add a pet form"""

    # create instance of add a pet form
    form = PetForm()

    # validate form for CSRF, if GET route then validate fails
    if form.validate_on_submit():
        # POST route processing
        # get responses from form
        # name = form.name.data
        # species = form.species.data
        # photo_url = form.photo_url.data
        # age = form.age.data
        # notes = form.notes.data
        # # create instance of Pet
        # pet1 = Pet(
        #     name=name,
        #     species=species,
        #     photo_url=photo_url,
        #     age=age,
        #     notes=notes,
        #     available=True,
        # )

        pet2 = Pet()
        form.populate_obj(pet2)
        # add pet1 instance to db
        db.session.add(pet2)
        db.session.commit()
        # notify user pet added
        flash(f"Added {pet2.name} to Pets List")
        # go back to display all pets
        return redirect("/")
    else:
        # GET route processing
        # pass wtform form for display add pet
        return render_template("add-pet.html", form=form)
コード例 #7
0
ファイル: app.py プロジェクト: john-tettis/flask-sql-adoption
def add_new_pet():
    """Display form for a new pet/ handle the submission of said form"""
    form = PetForm()
    if form.validate_on_submit():
        name = form.name.data
        species = form.species.data
        image_url = form.image_url.data
        age = form.age.data
        notes = form.notes.data
        available = form.available.data
        pet = Pet(
            name = name,
            species = species,
            age = age,
            notes = notes,
            available = available,
            image_url=image_url
        )
        db.session.add(pet)
        db.session.commit()
        return redirect('/')
    else:
        return render_template('add.html', form = form)
コード例 #8
0
ファイル: app.py プロジェクト: mahdimq/adoptionagency
def add_pet():
    """show form to add pet and redirect"""
    form = PetForm()
    if form.validate_on_submit():
        name = form.name.data
        species = form.species.data
        photo_url = form.photo_url.data if form.photo_url.data else None
        age = form.age.data
        notes = form.notes.data
        # stores form data as variables and passed down to db
        pet = Pet(name=name,
                  species=species,
                  photo_url=photo_url,
                  age=age,
                  notes=notes)

        db.session.add(pet)
        db.session.commit()
        """flash message to show user of change made"""
        flash("Added a new pet!", "alert alert-success")
        return redirect("/")
    else:
        return render_template("add_pet.html", form=form)
コード例 #9
0
ファイル: app.py プロジェクト: davidleecodes/Capstone1
def pet(pet_id):
    "return pet page"
    form = PetForm()
    rating = Booking.avg_rating(id=pet_id)
    if not g.renter:
        flash("Sign in", "danger")
        return render_template("pet.html", id=pet_id)
    booked_dates = Booking.booked_dates(id=pet_id)
    print("_____BOOKED", booked_dates)

    if form.validate_on_submit():
        isAvaliable = Booking.is_avaliable(id=pet_id,
                                           start=form.start_date.data,
                                           end=form.end_date.data)
        print("ISAVALIABLE", isAvaliable)
        if isAvaliable:
            booking = Booking(pet_id=pet_id,
                              renter_id=g.renter.id,
                              startTime=form.start_date.data,
                              endTime=form.end_date.data)
            db.session.add(booking)
            db.session.commit()
            print("____red")
            return redirect(f"/renter")
        else:
            flash("already booked pick another date", "danger")
            return render_template("pet.html",
                                   id=pet_id,
                                   form=form,
                                   rating=rating,
                                   booked=booked_dates)
    else:
        return render_template("pet.html",
                               id=pet_id,
                               form=form,
                               rating=rating,
                               booked=booked_dates)
コード例 #10
0
def edit_pet_details(pet_id):
    """
    edit the pets details with form pre-filled
    validates form before submitting to database
    """

    pet = Pet.query.get_or_404(pet_id)
    form = PetForm(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()

        flash(f'{pet.name} edited', 'alert alert-success')

        return redirect('/')
    else:
        return render_template('edit_pet_details.html', form=form)
コード例 #11
0
def add_new_pet():
    '''GET new pet form. POST new pet to database'''
    form = PetForm()

    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'{name} the {species} was added.')
        return redirect('/')
    else:
        return render_template('add_pet.html', form=form)
コード例 #12
0
def add_pet():
    """Renders pet form (GET) or handles pet form submission (POST)"""
    form = PetForm()
    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"Created new pet: name is {name}, species is {species}")
        return redirect('/')
    else:
        return render_template('addPet.html', form=form)