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:
parent
7d5fc7428a
commit
6d3df90b29
19
accounts/templates/users/dashboard/base.html
Normal file
19
accounts/templates/users/dashboard/base.html
Normal file
@ -0,0 +1,19 @@
|
||||
{% extends 'base.html' %}
|
||||
|
||||
{% set title %}{{ user.username }} - Dashboard{% endset %}
|
||||
|
||||
{% block content %}
|
||||
<h1>Account Overview<h1>
|
||||
|
||||
<hr>
|
||||
|
||||
|
||||
<h3>User Details</h3>
|
||||
{% include 'users/dashboard/user_details_table.html' %}
|
||||
|
||||
<hr>
|
||||
|
||||
<h3>Booking History</h3>
|
||||
{% include 'users/dashboard/user_history_table.html' %}
|
||||
{% endblock %}
|
||||
|
||||
15
accounts/templates/users/dashboard/user_details_table.html
Normal file
15
accounts/templates/users/dashboard/user_details_table.html
Normal file
@ -0,0 +1,15 @@
|
||||
<table>
|
||||
<tr>
|
||||
<td>Username:</td>
|
||||
<td>{{ user.username }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Email Address:</td>
|
||||
<td>{{ user.email }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Dogs:</td>
|
||||
<td>{{ user_dogs }}</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
@ -0,0 +1,4 @@
|
||||
<table>
|
||||
{{ user_book_history }}
|
||||
</table>
|
||||
|
||||
@ -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
42
accounts/views/users.py
Normal 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
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user