Exemple #1
0
 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)
Exemple #2
0
def add_animal():
    animal_data = dict(request.form.items())
    Animal.create(
        type_animal=animal_data.get('type_animal'),
        commercial_prep=animal_data.get('commercial_prep'),
        homemade_prep=animal_data.get('homemade_prep'),
    )
    result = {'status': 'success'}
    return jsonify(result)
Exemple #3
0
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))
Exemple #4
0
def root():
    my_animal = Animal("Fire fox", "Female", 23)
    my_animal.say_my_name()

    bootsyCallaco = Cat("Bootsy Callaco", "male", 12, "yellow", "BIG")
    scoobyDoo = Dog("Scooby Doo", "male", 50, "German Shepherd", "browny")

    bootsyCallaco.make_sound()
    scoobyDoo.make_sound()

    bootsyCallaco.say_my_name()
    scoobyDoo.say_my_name()
Exemple #5
0
    def post(self):
        data = request.get_json()
        animal = Animal(name=data.get('name'),
                        species=data.get('species'),
                        gender=data.get('gender'),
                        birthdate=data.get('birthdate'),
                        date_aquired=data.get('date_aquired'),
                        location=data.get('location'),
                        keeper=data.get('keeper'),
                        avatar_url=data.get('avatar_url'))

        animal.save()
        return animal.data, HTTPStatus.CREATED
Exemple #6
0
    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)
Exemple #7
0
    def put(self, animal_id):
        data = request.get_json()
        animal = Animal.get_by_id(animal_id)

        if animal is None:
            return {'message': 'animal not found'}, HTTPStatus.NOT_FOUND

        animal.name = data.get(
            'name') if 'name' in data.keys() else animal.name
        animal.species = data.get(
            'species') if 'species' in data.keys() else animal.species
        animal.gender = data.get(
            'gender') if 'gender' in data.keys() else animal.gender
        animal.birthdate = data.get(
            'birthdate') if 'birthdate' in data.keys() else animal.birthdate
        animal.date_aquired = data.get(
            'date_aquired') if 'date_aquired' in data.keys(
            ) else animal.date_aquired
        animal.location = data.get(
            'location') if 'location' in data.keys() else animal.location
        animal.keeper = data.get(
            'keeper') if 'keeper' in data.keys() else animal.keeper
        animal.avatar_url = data.get(
            'avatar_url') if 'avatar_url' in data.keys() else animal.avatar_url

        animal.save()

        return animal.data, HTTPStatus.OK
Exemple #8
0
    def delete(self, animal_id):
        animal = Animal.get_by_id(animal_id)

        if animal is None:
            return {'message': 'animal not found'}, HTTPStatus.NOT_FOUND
        animal.delete()
        return {}, HTTPStatus.NO_CONTENT
Exemple #9
0
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")
Exemple #10
0
 def setUp(self):
     self.dh = DateHelper()
     self.vet = Vet("Mark", "Bridges", 3)
     self.address = Address("9", "Big Road", "Vatican City", "PO1 1PE")
     self.owner = Owner("Kevin", "Stevens", self.address, "015825536874",
                        "*****@*****.**")
     self.animal = Animal(
         "Fluff",
         self.dh.make_date("2018-01-04"),
         "Dog",
         "Greyhound",
         self.owner,
         self.vet,
         self.dh.make_datetime("2020-08-09 13:52:01"),
     )
     self.now = self.dh.make_datetime("2020-08-10 12:20:52")
Exemple #11
0
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)
Exemple #12
0
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 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 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')
Exemple #16
0
def list_animals():
    animals = Animal.select()
    results = []
    for animal in animals:
        results.append({
            'type_animal': animal.type_animal,
        })
    return jsonify(results)
Exemple #17
0
def animal_feed(type_animal="cow"):
    animal = (Animal.select().where(Animal.type_animal == type_animal).get())
    result = {
        'type_animal': animal.type_animal,
        'commercial_prep': animal.commercial_prep,
        'homemade_prep': animal.homemade_prep
    }
    return jsonify(result)
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')
Exemple #19
0
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 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 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")
Exemple #23
0
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
Exemple #24
0
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
Exemple #25
0
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 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 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"])
        animal = Animal(result["name"], result["date_of_birth"],
                        result["animal_type"], result["treatment_notes"],
                        owner, result["id"])
        animals.append(animal)
    return 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):
    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