def setUp(self): self.vet_1 = Vet("John", "Smith") self.owner_1 = Owner("Cpt.", "Jack", "Harkness", "07411000000", True) self.animal_1 = Animal("Tigger", datetime.date(2019, 5, 1), "Tiger", self.owner_1) self.animal_2 = Animal("Roger", datetime.date(2018, 7, 2), "Rabbit", self.owner_1, self.vet_1)
def setUp(self): test_vet_peter = Vet("Peter", False) test_vet_mark = Vet("Mark", False) test_vet_paul = Vet("Paul", False) test_owner_david = Owner("David", "Edinburgh", False) test_owner_carl = Owner("Carl", "liverpool", False) test_owner_jamie = Owner("Jamie", "Glasgow", False) test_owner_sarah = Owner("Sarah", "London", False) self.test_animal_pepper = Animal("Pepper", "10/11/2015", "Horse", test_owner_david, test_vet_paul, False) self.test_animal_luna = Animal("Mika", "01/03/2012", "Cat", test_owner_david, test_vet_mark, False) self.test_animal_buddy = Animal("Buddy", "19/01/2014", "Rabbit", test_owner_carl, test_vet_peter, False) self.test_animal_snowy = Animal("Snowy", "17/02/2015", "Dog", test_owner_carl, test_vet_peter, False) self.test_animal_lola = Animal("Lola", "04/08/2018", "Cow", test_owner_jamie, test_vet_peter, False) self.test_animal_apollo = Animal("Apollo", "22/03/2016", "Dog", test_owner_jamie, test_vet_paul, False) self.test_animal_buster = Animal("Buster", "29/04/2019", "Dog", test_owner_sarah, test_vet_paul, False) self.test_animal_izzy = Animal("Izzy", "30/05/2020", "Cat", test_owner_sarah, test_vet_mark, False)
def get_animals_by_location(location_id): with sqlite3.connect("./kennel.db") as conn: conn.row_factory = sqlite3.Row db_cursor = conn.cursor() # Write the SQL query to get the information you want db_cursor.execute( """ select a.id, a.name, a.breed, a.status, a.customer_id, a.location_id FROM Animal a WHERE a.location_id = ? """, (location_id, )) animals = [] dataset = db_cursor.fetchall() for row in dataset: animal = Animal(row['id'], row['name'], row['breed'], row['status'], row['customer_id'], row['location_id']) animals.append(animal.__dict__) return json.dumps(animals)
def get_single_animal(id): with sqlite3.connect("./kennel.db") as conn: conn.row_factory = sqlite3.Row db_cursor = conn.cursor() # Use a ? parameter to inject a variable's value # into the SQL statement. db_cursor.execute( """ SELECT a.id, a.name, a.breed, a.status, a.customer_id, a.location_id FROM Animal a WHERE a.id = ? """, (id, )) # Load the single result into memory data = db_cursor.fetchone() # Create an animal instance from the current row animal = Animal(data['id'], data['name'], data['breed'], data['status'], data['customer_id'], data['location_id']) return json.dumps(animal.__dict__)
def new(): active_vets = vet_repository.select_all_active() if request.method == 'GET': return render_template("animals/new.html.j2", active_vets=active_vets) if request.method == 'POST': name = request.form['name'] dob = request.form['dob'] species = request.form['species'] owner = owner_repository.select_id(1) vet_id = request.form['vet_id'] deactivated = False vet = vet_repository.select_id(vet_id) animal = Animal(name, dob, species, owner, vet, deactivated) saved_animal = animal_repository.save(animal) if saved_animal.id != None: message = f"Success {saved_animal.name} added" else: message = "Failure" if request.form['action'] == "finish": return redirect(url_for("animals.index", message=message)) elif request.form['action'] == "continue": return render_template("animals/new.html.j2", message=message, active_vets=active_vets) else: # POST Error 405 Method Not Allowed print("POST Error 405 Method Not Allowed")
def update_animal(id): name = request.form['name'] species = request.form['species'] owner_id = request.form['owner_id'] owner = owner_repository.select(owner_id) animal = Animal(name, species, owner, id) animal_repository.update(animal) return redirect('/animals')
def create(): name = request.form['name'] animal_type = request.form['animal_type'] owner_id = request.form['owner_id'] owner = owner_repository.select(owner_id) new_animal = Animal(name, animal_type, owner) animal_repository.save(new_animal) return redirect("/animals")
def select(id): sql = 'SELECT * FROM animals WHERE id = %s' values = [id] result = run_sql(sql, values)[0] animal = Animal(result['name'], result['dob'], result['type'], result['owner_id'], result['vet_id'], result['id'], result['treatment_notes']) return animal
def create_animal(): name = request.form['name'] species = request.form['species'] owner_id = request.form['owner_id'] owner = owner_repository.select(owner_id) new_animal = Animal(name, species, owner) animal_repository.save(new_animal) return redirect('/animals')
def select(id): animal = None sql = 'SELECT * FROM animals WHERE id = %s' values = [id] result = run_sql(sql, values)[0] if result is not None: owner = owner_repository.select(result['owner_id']) animal = Animal(result['name'], result['species'], owner, result['id']) return animal
def select_all(): animals = [] sql = 'SELECT * FROM animals' results = run_sql(sql) for row in results: owner = owner_repository.select(row['owner_id']) animal = Animal(row['name'], row['species'], owner, row['id']) animals.append(animal) return animals
def update_animal(id): name = request.form["name"] date_of_birth = request.form["date_of_birth"] animal_type = request.form["animal_type"] treatment_notes = request.form["treatment_notes"] owner = request.form["owner_id"] animal = Animal(name, date_of_birth, animal_type, treatment_notes, owner, id) animal_repository.update(animal) return redirect("/animals")
def create_animal(): name = request.form["name"] date_of_birth = request.form["date_of_birth"] animal_type = request.form["animal_type"] treatment_notes = request.form["treatment_notes"] owner = owner_repository.select(request.form["owner_id"]) new_animal = Animal(name, date_of_birth, animal_type, treatment_notes, owner) animal_repository.save(new_animal) return redirect("/animals")
def create_animal(): print(request.form) name = request.form["name"] dob = request.form["dob"] animal_type = request.form["animal_type"] notes = request.form["notes"] customer = customer_repository.select(request.form["customer_id"]) animal = Animal(name, dob, animal_type, notes, customer) animal_repository.save(animal) return redirect("/animals")
def edit_animal(id): name = request.form["name"] dob = request.form["dob"] animal_type = request.form["animal_type"] treatment_notes = request.form["notes"] owner = owner_repository.select_owner(request.form["owner_id"]) vet = vet_repository.select_vet(request.form["vet_id"]) new_animal = Animal(name, dob, animal_type, owner, treatment_notes, vet, id) animal_repository.update_animal(new_animal) return redirect('/animals/'+id+'/more')
def select(id): animal = None sql = "SELECT * FROM animals WHERE id = %s" values = [id] result = run_sql(sql, values)[0] if result is not None: owner = owner_repository.select(result['owner_id']) vet = vet_repository.select(result['vet_id']) animal = Animal(result['name'], result['type'], result['dob'], owner, vet, result['id']) return animal
def select_all(): animals = [] sql = "SELECT * FROM animals" results = run_sql(sql) for row in results: owner = owner_repository.select(row['owner_id']) vet = vet_repository.select(row['vet_id']) animal = Animal(row['name'], row['type'], row['dob'], owner, vet, row['id']) animals.append(animal) return animals
def detail(action, id): animal = animal_repository.select_id(id) len_treatments = len(treatment_repository.select_all_by_animal_id(id)) if request.method == 'GET': if action == "show": return render_template("animals/show.html.j2", animal=animal, len_treatments=len_treatments) elif action == "edit": active_vets = vet_repository.select_all_active() return render_template("animals/edit.html.j2", animal=animal, active_vets=active_vets) elif action == "treatments": treatments = treatment_repository.select_all_by_animal_id(id) return render_template("animals/detail.html.j2", animal=animal, len_treatments=len_treatments, treatments=treatments) else: message = "Malformed URL" return redirect(url_for("animals.index", message=message)) if request.method == 'POST': if action == "delete": animal_repository.delete_id(request.form['id']) message = f"Animal: {animal.name} (id:{animal.id}) deleted" return redirect(url_for("animals.index", message=message)) elif action == "edit": name = request.form['name'] dob = request.form['dob'] species = request.form['species'] owner_id = request.form['owner_id'] vet_id = request.form['vet_id'] try: deactivated = request.form['deactivated'] except: deactivated = False id = request.form['id'] vet = vet_repository.select_id(vet_id) owner = owner_repository.select_id(owner_id) animal = Animal(name, dob, species, owner, vet, deactivated, id) animal_repository.update(animal) message = f"Animal: {animal.name} (id:{animal.id}) updated" return redirect(url_for("animals.index", message=message)) elif action == "deactivate": animal = animal_repository.select_id(id) animal.owner = owner_repository.select_id(1) animal.deactivated = True animal_repository.update(animal) message = f"{animal.name} moved to No Owner, please reassign" # I want an if statment to make thsi work too: return redirect(url_for("owners.index", message=message)) return redirect(url_for("animals.index", message=message)) else: message = "Malformed URL" return redirect(url_for("animals.index", message=message))
def update(id): name = request.form['name'] type = request.form['type'] dob = request.form['dob'] owner_id = request.form['owner_id'] vet_id = request.form['vet_id'] owner = owner_repository.select(owner_id) vet = vet_repository.select(vet_id) animal = Animal(name, type, dob, owner, vet, id) animal_repository.update(animal) return redirect('/animals')
def create(): name = request.form["name"] dob = request.form["dob"] species = request.form["species"] breed = request.form["breed"] owner = owner_repository.select(request.form["owner_id"]) vet = vet_repository.select(request.form["vet_id"]) date_registered = datetime.datetime.now() animal = Animal(name, dob, species, breed, owner, vet, date_registered) animal_repository.save(animal) return redirect(f"/animals/{animal.id}")
def select(animal_id): sql = "SELECT * FROM animals WHERE id = %s" values = [animal_id] result = run_sql(sql, values) if result: dict_animal = result[0] vet = vet_repository.select(dict_animal['vet_id']) if dict_animal['vet_id'] else None owner = owner_repository.select(dict_animal['owner_id']) animal = Animal(dict_animal['name'], dict_animal['dob'], dict_animal['animal_type'], owner, vet, dict_animal['img_url'], dict_animal['id']) return animal
def select(id): sql = "SELECT * FROM animals WHERE id = %s" values = [id] result = run_sql(sql, values)[0] owner = owner_repository.select(result["owner_id"]) if result is not None: animal = Animal(result["name"], result["date_of_birth"], result["animal_type"], result["treatment_notes"], owner, result["id"]) return animal
def update(id): name = request.form["name"] dob = request.form["dob"] species = request.form["species"] breed = request.form["breed"] owner = owner_repository.select(request.form["owner_id"]) vet = vet_repository.select(request.form["vet_id"]) date_registered = request.form["date_registered"] animal = Animal(name, dob, species, breed, owner, vet, date_registered, id) animal_repository.update(animal) return redirect(f"/animals/{id}")
def select_all(): animals = [] sql = "SELECT * FROM animals" results = run_sql(sql) for result in results: owner = owner_repository.select(result["owner_id"]) animal = Animal(result["name"], result["date_of_birth"], result["animal_type"], result["treatment_notes"], owner, result["id"]) animals.append(animal) return animals
def create(): name = request.form['name'] type = request.form['type'] dob = request.form['dob'] owner_id = request.form['owner'] vet_id = request.form['vet'] owner = owner_repository.select(owner_id) vet = vet_repository.select(vet_id) new_Animal = Animal(name, type, dob, owner, vet) animal_repository.save(new_Animal) return redirect("/animals")
def select_animal(id): sql = "SELECT * FROM animals WHERE id=%s" value = [id] result = run_sql(sql, value)[0] if result is not None: owner = owner_repository.select_owner(result["owner_id"]) vet = vet_repository.select_vet(result["vet_id"]) animal = Animal(result["name"], result["date_of_birth"], result["animal_type"], owner, result["treatment_notes"], vet, result["id"]) return animal
def select(id): animal = None sql = "SELECT * FROM animals WHERE id = %s" values = [id] result = run_sql(sql, values)[0] if result is not None: customer = customer_repository.select(result['customer_id']) animal = Animal(result['name'], result['dob'], result['animal_type'], result['notes'], customer, result['id']) return animal
def select_id_owner(id): animals = [] sql = "SELECT * FROM animals WHERE owner_id = %s" values = [id] results = run_sql(sql, values) for row in results: owner = owner_repository.select(row['owner_id']) vet = vet_repository.select(row['vet_id']) animal = Animal(row['name'], row['type'], row['dob'], owner, vet, row['id']) animals.append(animal) return animals
def select_all_animals(): results = run_sql("SELECT * FROM animals WHERE archived=%s", ["FALSE"]) animals = [] for result in results: owner = owner_repository.select_owner(result["owner_id"]) vet = vet_repository.select_vet(result["vet_id"]) animal = Animal(result["name"], result["date_of_birth"], result["animal_type"], owner, result["treatment_notes"], vet, result["id"]) animals.append(animal) return animals
def select_all(): animals = [] sql = 'SELECT * FROM animals' results = run_sql(sql) for result in results: owner = owner_repository.select(result['owner_id']) vet = vet_repository.select(result['vet_id']) animal = Animal(result['name'], result['dob'], result['type'], owner, vet, result['id'], result['treatment_notes']) animals.append(animal) return animals