Beispiel #1
0
def edit_pet_type(id):
    pet = PetType.get(id)
    if not pet:
        return ('', 404)

    # Only owner can edit pet type
    if pet.user_id != login_session['user_id']:
        flash('You should not be here.')
        return redirect('/')

    data = request.form

    # Validate required fields
    errors = {}
    if not data.get('name'):
        errors['name'] = 'Name is required'
    if not data.get('detail'):
        errors['detail'] = 'Detail is required'

    if len(errors.keys()):
        return (render_template('petTypeForm.html', errors=errors,
                                pet=pet), 400)

    # Save pet type in db
    try:
        PetType.update(pet, data['name'], data['detail'])
        return redirect('/')
    except Exception as e:
        flash(e)
        return (render_template('petTypeForm.html', pet=pet), 422)
Beispiel #2
0
def delete_pet_type(id):
    pet = PetType.get(id)
    if not pet:
        return ('', 404)

    # Only owner can edit pet type
    if pet.user_id != login_session['user_id']:
        flash('You should not be here.')
        return redirect('/')

    PetType.delete(pet)
    flash(pet.name + ' deleted!')
    return redirect('/')
Beispiel #3
0
def pet_types(id):
    pets = PetType.list_by_family_id(id)
    if not pets:
        return ('', 404)

    family_name = pets[0].family.name
    return render_template('petTypes.html', pets=pets, family_name=family_name)
Beispiel #4
0
def add_pet_type(f_id):
    data = request.form

    # Validate required fields
    errors = {}
    if not data.get('name'):
        errors['name'] = 'Name is required'
    if not data.get('detail'):
        errors['detail'] = 'Detail is required'

    if len(errors.keys()):
        return (render_template('petTypeForm.html',
                                errors=errors,
                                pet=data,
                                f_id=f_id), 400)

    # Save pet type in db
    try:
        PetType.create(data['name'], data['detail'], login_session['user_id'],
                       f_id)
        return redirect('/')
    except Exception as e:
        flash(e)
        return (render_template('petTypeForm.html', pet=data, f_id=f_id), 422)
Beispiel #5
0
 def map_row(self, row, metadata=None):
     petType = PetType()
     petType.id = row[0]
     petType.name = row[1]
     return petType
Beispiel #6
0
rabbit_detail = """
Rabbits are small mammals in the family Leporidae
 of the order Lagomorpha. Oryctolagus cuniculus includes
 the European rabbit species and its descendants.
"""
rabbit = PetFamily.create("Rabbit", rabbit_detail, "rabbit.png")

foobar_detail = """
The terms foobar (/ˈfuːbɑːr/), or foo and others
 are used as placeholder names
 (also referred to as metasyntactic variables) in computer programming or
 computer-related documentation.[1]
 They have been used to name entities such as variables, functions,
 and commands whose exact identity is unimportant
 and serve only to demonstrate a concept.
"""

PetType.create("Foo Dog", foobar_detail, user.id, dog.id)
PetType.create("Foo Cat", foobar_detail, user.id, cat.id)
PetType.create("Foo Bird", foobar_detail, user.id, bird.id)
PetType.create("Foo Rabbit", foobar_detail, user.id, rabbit.id)

types = {"Cat": cat, "Dog": dog, "Bird": bird, "Rabbit": rabbit}
generic_names = ["Thunder", "Lion", "Domestic", "Titan", "Hunter", "Donnie"]

for t in types:
    for name in generic_names:
        name = "%s %s" % (name, t)
        PetType.create(name, foobar_detail, user.id, types[t].id)
Beispiel #7
0
def pet_type_edit_form(id):
    pet = PetType.get(id)
    if not pet:
        return ('', 404)

    return render_template('petTypeForm.html', pet=pet)
Beispiel #8
0
def index():
    news = PetType.news()
    families = PetFamily.all()
    return render_template('home.html', news=news, families=families)
Beispiel #9
0
def get_type(id):
    return jsonify(PetType.get(id).serialize)
Beispiel #10
0
def list_type(f_id):
    pets = PetType.list_by_family_id(f_id)
    pet_list = [p.serialize for p in pets]
    return jsonify(pet_list)
Beispiel #11
0
 def map_row(self, row, metadata=None):
     petType = PetType()
     petType.id = row[0]
     petType.name = row[1]
     return petType