def vet_patients(vet_id):
    patients = vet_repository.select_patients(vet_id)
    patients.sort(key=lambda x: x.name)
    vet = vet_repository.select(vet_id)
    return render_template("vets/index_patients.html",
                           all_patients=patients,
                           vet=vet)
def vet_clients(vet_id):
    clients = vet_repository.select_clients(vet_id)
    clients.sort(key=lambda x: x.first_name)
    vet = vet_repository.select(vet_id)
    return render_template("vets/index_clients.html",
                           all_clients=clients,
                           vet=vet)
def show(id):
    vet = vet_repository.select(id)
    animals = vet_repository.animals(id)
    treatments = vet_repository.treatments(id)
    date_today = datetime.datetime.now()
    treatments_future = [treatment for treatment in treatments if treatment.date >= date_today.date()]
    treatments_past = [treatment for treatment in treatments if treatment.date < date_today.date()]
    return render_template('/vets/show.html', vet=vet, animals=animals, treatments_future=treatments_future, treatments_past=treatments_past, title=f"Dr {vet.last_name}")
示例#4
0
def delete_from_source(id, source):
    treatment = treatment_repository.select(id)
    if source == "vet":
        source_id = vet_repository.select(treatment.vet.id).id
    elif source == "animal":
        source_id = animal_repository.select(treatment.animal.id).id
    treatment_repository.delete(id)
    return redirect(f'/{source}s/{source_id}')
def select(id):
    sql = "SELECT * FROM treatments WHERE id=%s"
    values = [id]
    result = run_sql(sql, values)[0]
    vet = vet_repository.select(result['vet_id'])
    animal = animal_repository.select(result['animal_id'])
    treatment = Treatment(animal, vet, result['details'], result['date'], id)
    return treatment
def update_treatment(patient_id, treatment_id):
    patient = patient_repository.select(patient_id)
    vet_id = request.form['vet-name']
    vet = vet_repository.select(vet_id)
    date = date_box_to_date(request.form['date'])
    notes = request.form['notes']
    treatment = Treatment(notes, date, patient, vet, treatment_id)
    treatment_repository.update(treatment)
    return redirect(url_for('.treatments', patient_id=patient_id))
示例#7
0
def edit(id):
    # Grab needed data
    vet = VR.select(id)

    # Render page
    return render_template('vets/edit.html',
                           title='Edit ' + vet.first_name + ' ' +
                           vet.last_name,
                           vet=vet)
示例#8
0
def create_new_treatment():
    animal_id = request.form['animal_id']
    animal = animal_repository.select(animal_id)
    vet_id = request.form['vet_id']
    vet = vet_repository.select(vet_id)
    date = request.form['date']
    details = request.form['details']
    new_treatment = Treatment(animal, vet, details, date)
    treatment_repository.save(new_treatment)
    return redirect(f'/animals/{animal_id}')
示例#9
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
示例#10
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
示例#11
0
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")
示例#12
0
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')
示例#13
0
def select(id):
    sql = "SELECT * FROM treatments WHERE id = %s"
    values = [id]
    results = run_sql(sql, values)
    if results is not None:
        result = results[0]
        patient = patient_repository.select(result['patient_id'])
        vet = vet_repository.select(result['vet_id'])
        treatment = Treatment(result['notes'], result['date'], patient, vet,
                              result['id'])
    return treatment
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
示例#15
0
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 save(client):
    sql = "INSERT INTO clients (first_name, last_name, phone_number, address, registered, vet_id) VALUES (%s, %s, %s, %s, %s, %s) RETURNING *"
    values = [
        client.first_name, client.last_name, client.phone_number,
        client.address, client.registered, client.vet.id
    ]
    results = run_sql(sql, values)
    if results is not None:
        client.id = results[0]['id']
        client.vet = vet_repository.select(results[0]['vet_id'])
    return client
示例#17
0
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
示例#18
0
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(id):
    sql = "SELECT * FROM clients WHERE id = %s"
    values = [id]
    results = run_sql(sql, values)
    if results is not None:
        result = results[0]
        vet = vet_repository.select(result['vet_id'])
        client = Client(result['first_name'], result['last_name'],
                        result['phone_number'], result['address'],
                        result['registered'], vet, result['id'])
    return client
示例#20
0
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():
    clients = []
    sql = "SELECT * FROM clients"
    results = run_sql(sql)
    if results is not None:
        for row in results:
            vet = vet_repository.select(row['vet_id'])
            client = Client(row['first_name'], row['last_name'],
                            row['phone_number'], row['address'],
                            row['registered'], vet, row['id'])
            clients.append(client)
    return clients
示例#22
0
def select_all():
    pets = []

    sql = "SELECT * FROM pets"
    results = run_sql(sql)

    for row in results:
        vet = vet_repository.select(row['vet_id'])
        pet = Pet(row['pet_name'], row['date_of_birth'], row['pet_type'],
                  row['owner_name'], row['treatment_notes'], vet, row['id'])
        pets.append(pet)
    return pets
示例#23
0
def select(id):
    pet = None
    sql = "SELECT * FROM pets WHERE id = %s"
    values = [id]
    result = run_sql(sql, values)[0]

    if result is not None:
        vet = vet_repository.select(result['vet_id'])
        pet = Pet(result['pet_name'], result['date_of_birth'],
                  result['pet_type'], result['owner_name'],
                  result['treatment_notes'], vet, result['id'])
    return pet
示例#24
0
def save(treatment):
    sql = "INSERT INTO treatments (notes, date, patient_id, vet_id) VALUES (%s, %s, %s, %s) RETURNING *"
    values = [
        treatment.notes, treatment.date, treatment.patient.id, treatment.vet.id
    ]
    results = run_sql(sql, values)
    if results is not None:
        result = results[0]
        treatment.patient = patient_repository.select(result['patient_id'])
        treatment.vet = vet_repository.select(result['vet_id'])
        treatment.id = result['id']
    return treatment
示例#25
0
def show(id):
    vet = vet_repository.select(id)
    animals = animal_repository.animals_by_vet(vet)
    count = len(animals)
    vet.set_count(count)
    if vet.animal_count >= vet.max_animals:
        vet.set_busy()

    return render_template("/vets/show.html",
                           title="Vet",
                           vet=vet,
                           animals=animals)
示例#26
0
def update_pet(id):
    pet_name = request.form['Pet name']
    date_of_birth = request.form['Date of birth']
    pet_type = request.form['Pet type']
    owner_name = request.form['Owner name']
    treatment_notes = request.form['Treatment']
    vet = vet_repository.select(request.form['vet_id'])
    pet = Pet(pet_name, date_of_birth, pet_type, owner_name, treatment_notes,
              vet, id)
    print(pet.vet.vet_name)
    pet_repository.update(pet)
    return redirect('/pets')
示例#27
0
def view(id):
    # Grab needed data
    vet = VR.select(id)
    pets = PR.select_by_vet(id)
    pet_count = len(pets)

    # Render page
    return render_template('vets/specific.html',
                           title=vet.first_name + " " + vet.last_name,
                           vet=vet,
                           pets=pets,
                           pet_count=pet_count)
def select(id):
    sql = "SELECT * FROM patients WHERE id = %s"
    values = [id]
    results = run_sql(sql, values)
    if results is not None:
        result = results[0]
        vet = vet_repository.select(result['vet_id'])
        client = client_repository.select(result['client_id'])
        patient = Patient(result['name'], result['dob'], result['type'],
                          result['breed'], result['gender'], result['status'],
                          vet, client, result['check_in_date'],
                          result['check_out_date'], result['id'])
    return patient
def select_all():
    treatments = []
    sql = "SELECT * FROM treatments"
    results = run_sql(sql)

    for row in results:
        vet = vet_repository.select(row['vet_id'])
        animal = animal_repository.select(row['animal_id'])
        treatment = Treatment(animal, vet, row['details'], row['date'],
                              row['id'])
        treatments.append(treatment)

    return treatments
示例#30
0
def select_all(patient_id):
    treatments = []
    sql = "SELECT * FROM treatments WHERE patient_id = %s"
    values = [patient_id]
    results = run_sql(sql, values)
    if results is not None:
        for row in results:
            patient = patient_repository.select(row['patient_id'])
            vet = vet_repository.select(row['vet_id'])
            treatment = Treatment(row['notes'], row['date'], patient, vet,
                                  row['id'])
            treatments.append(treatment)
    return treatments