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)
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('/')
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)
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)
def map_row(self, row, metadata=None): petType = PetType() petType.id = row[0] petType.name = row[1] return petType
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)
def pet_type_edit_form(id): pet = PetType.get(id) if not pet: return ('', 404) return render_template('petTypeForm.html', pet=pet)
def index(): news = PetType.news() families = PetFamily.all() return render_template('home.html', news=news, families=families)
def get_type(id): return jsonify(PetType.get(id).serialize)
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)