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 login
|
||||||
from accounts.views import register
|
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