def adopt_puppy(adopter_id): """page to adopt puppies, accessed from the Adopter directory.""" if request.method == "POST": adopt_this_puppy_id = request.form["adopt_this_puppy_id"] adopt_this_puppy_name = session.query(Puppy).\ filter_by(id = adopt_this_puppy_id).first().name result = session.execute(""" UPDATE puppy SET adopter_id = :adopter_id, shelter_id = NULL WHERE id = :adopt_this_puppy_id """, { "adopter_id": adopter_id, "adopt_this_puppy_id": adopt_this_puppy_id } ) session.commit() flash("Puppy '" + adopt_this_puppy_name + "' adopted! Congrats!") return redirect(url_for("adopt_puppy", adopter_id = adopter_id)) if request.method == "GET": output = render_template('page_head.html', title = "Adopt a Puppy!!!", form = 0) adopter = session.query(Adopter).filter_by(id = adopter_id).first() puppies = session.execute(""" SELECT * FROM puppy WHERE adopter_id ISNULL """) logging.debug( "puppies length is: ", len(puppies) ) flash("Please select a puppy to adopt.") output += render_template( 'adopt_puppy.html', adopter=adopter, puppies=puppies ) return output
def edit_puppy(shelter_id, puppy_id): """page to edit a puppy's basic information.""" if request.method == "POST": edited_name = request.form['edited_name'] old_name = session.query(Puppy).filter_by(id = puppy_id).first().name result = session.execute(""" UPDATE puppy SET name=:edited_name WHERE id=:edited_puppy_id; """, {"edited_name": edited_name, "edited_puppy_id": puppy_id} ) session.commit() flash( "item '" + old_name + "' edited to '" + edited_name + "'. Jawohl!") return redirect(url_for("show_puppies", shelter_id=shelter_id)) else: output = render_template('page_head.html', title = "The Menu Manager", form = 0) puppy = session.query(Puppy).filter_by(id = puppy_id).first() logging.info( "shelter_id is: ", shelter_id ) if shelter_id == "n": shelter = session.query(Shelter).filter_by(id = puppy.shelter_id).first() else: shelter = session.query(Shelter).filter_by(id = shelter_id).first() output += render_template('edit_puppy.html', shelter = shelter, puppy = puppy ) return output