def edit_animal_page(id): vets = vet_repository.select_all_vets() owners = owner_repository.select_all_owners() chosen_animal = animal_repository.select_animal(id) animals = animal_repository.select_all_animals() animals = sorted(animals, key=lambda animal:animal.name) return render_template('animals/index.html', owners=owners, vets=vets, chosen_animal=chosen_animal, animals=animals, edit_info=True, more_info=True)
def add_new_appointment(): date = request.form["date"] time = request.form["time"] notes = request.form["notes"] vet = vet_repository.select_vet(request.form["vet_id"]) animal = animal_repository.select_animal(request.form["animal_id"]) appointment = Appointment(date, time, vet, animal, notes) appointment_repository.save_new_appointment(appointment) return redirect('/appointments')
def new_animal_appointment_page(id): animal = animal_repository.select_animal(id) vets = vet_repository.select_all_vets() animals = animal_repository.select_all_animals() return render_template('appointments/new.html', chosen=True, chosen_animal=animal, animal=animal, animals=animals, vets=vets)
def select_appointment(id): sql = "SELECT * FROM appointments WHERE id=%s" value = [id] result = run_sql(sql, value)[0] if result is not None: vet = vet_repository.select_vet(result["vet_id"]) animal = animal_repository.select_animal(result["animal_id"]) appointment = Appointment(result["date"], result["time"], vet, animal, result["additional_notes"], result["id"]) return appointment
def select_all_appointments(): sql = "SELECT * FROM appointments" results = run_sql(sql) appointments = [] for result in results: animal = animal_repository.select_animal(result["animal_id"]) vet = vet_repository.select_vet(result["vet_id"]) appointment = Appointment(result["date"], result["time"], vet, animal, result["additional_notes"], result["id"]) appointments.append(appointment) return appointments
def filter_appointments(date, vet_id, animal_id): filter_values_to_match = f"{bool(date)} {bool(vet_id)} {bool(animal_id)}" filter_dictionary = { "False False False": "", "True False False": f"WHERE date = '{date}'", "False False True": f"WHERE animal_id = {animal_id}", "False True False": f"WHERE vet_id = {vet_id}", "True False True": f"WHERE date = '{date}' AND animal_id = {animal_id}", "True True False": f"WHERE date = '{date}' AND vet_id = {vet_id}", "False True True": f"WHERE vet_id = {vet_id} AND animal_id = {animal_id}", "True True True": f"WHERE date = '{date}' AND vet_id = {vet_id} AND animal_id = {animal_id}" } sql = f"SELECT * FROM appointments {filter_dictionary[filter_values_to_match]}" results = run_sql(sql) appointments = [] for result in results: # if (vet_id != "" and int(vet_id) != result["vet_id"]) or (animal_id != "" and int(animal_id) != result["animal_id"]) or (date != "" and date != result["date"]): # continue vet = vet_repository.select_vet(result["vet_id"]) animal = animal_repository.select_animal(result["animal_id"]) appointment = Appointment(result["date"], result["time"], vet, animal, result["additional_notes"], result["id"]) appointments.append(appointment) return appointments
vet_3) animal_4 = Animal("Gerry", "13/2/2020", "Giraffe", owner_4, "Easy to find in a busy shop", vet_4) vet_repository.save_new_vet(vet_1) vet_repository.save_new_vet(vet_2) vet_repository.save_new_vet(vet_3) vet_repository.save_new_vet(vet_4) owner_repository.save_new_owner(owner_1) animal_repository.save_new_animal(animal_1) owner_repository.save_new_owner(owner_2) animal_repository.save_new_animal(animal_2) owner_repository.save_new_owner(owner_3) animal_repository.save_new_animal(animal_3) owner_repository.save_new_owner(owner_4) animal_repository.save_new_animal(animal_4) animal_repository.save_new_animal(animal_5) # vet_repository.update_vet(vet_1) # owner_repository.update_owner(owner_1) # animal_repository.update_animal(animal_1) print(animal_repository.select_animal(1)) print(vet_repository.select_vet(1)) print(owner_repository.select_owner(1)) print(animal_repository.select_all_animals()) print(owner_repository.select_all_owners()) print(vet_repository.select_all_vets())
def archive_animal(id): animal = animal_repository.select_animal(id) animal_repository.archive_animal(animal) return redirect('/animals')
def more_animal_info(id): animals = animal_repository.select_all_animals() animals = sorted(animals, key=lambda animal:animal.name) chosen_animal = animal_repository.select_animal(id) return render_template('animals/index.html', chosen_animal=chosen_animal, more_info=True, animals=animals)