ADDED views for /accounts/users routes, ADDED started a template for user dashboard route, UPDATED account/views package imports for new users view

This commit is contained in:
2024-04-26 14:48:23 -04:00
parent 7d5fc7428a
commit 6d3df90b29
5 changed files with 81 additions and 0 deletions

View File

@@ -1,3 +1,4 @@
from accounts.views import login
from accounts.views import register
from accounts.views import users

42
accounts/views/users.py Normal file
View File

@@ -0,0 +1,42 @@
# Library imports
from flask import jsonify
from flask import render_template
# Import accounts blueprint
from accounts import accounts
# Import db
from accounts.models import db
# Import db models
from accounts.models.dog import Dog
from accounts.models.user import User
from accounts.models.visit import Visit
@accounts.route('/users/<username>/dashboard', methods=['GET'])
def user_dashboard(username):
# Retrieve user data
user = db.session.execute(db.select(User).filter_by(username=username)).scalar_one()
# Gather names of dogs for this client
dogs = list()
for dog in user.dogs:
dogs.append(dog.name)
return render_template('users/dashboard/base.html', user=user, user_dogs=dogs, user_book_history=user.get_bookings())
@accounts.route('/users/<username>', methods=['POST'])
def user(username):
user = db.session.execute(db.select(User).filter_by(username=username)).scalar_one()
return jsonify(user.to_dict()), 201
@accounts.route('/users/<username>/pets', methods=['POST'])
def user_pets(username):
user = db.session.execute(db.select(User).filter_by(username=username)).scalar_one()
dogs = list()
for dog in user.dogs:
dogs.append(dog.name)
return jsonify(dogs), 201