diff --git a/app/admin/routes.py b/app/admin/routes.py index 8d9259b4faf8ddea6e2d201121fd571dd1d22317..dcf3d071e8c44e97ed954e9ade1dcafa05c30bae 100644 --- a/app/admin/routes.py +++ b/app/admin/routes.py @@ -3,7 +3,7 @@ from datetime import datetime, timedelta from sqlalchemy.sql import text from app import admin_permission, permission_required, super_admin_permission, db from app.models import Listings, ListingImages, User, Bookings, Role -from app.main.utils import generate_time_options +from app.main.utils import generate_time_options, pretty_time, get_days_until_departure, calculate_refund_amount from app.admin import bp @@ -23,6 +23,28 @@ def manage_bookings(): locations = Listings.get_all_locations(True) return render_template('admin/manage_bookings.html', locations=locations) + +@bp.route('/manage_bookings/view/<int:id>') +@permission_required(admin_permission) +def admin_view_user_booking(id): + booking = Bookings.search_booking(id) + booking.listing.destination_time = pretty_time(booking.listing.destination_time) + booking.listing.depart_time = pretty_time(booking.listing.depart_time) + + days_until_departure = get_days_until_departure(booking) + cancel_amount, cancel_percentage = calculate_refund_amount(booking) + refund = { + 'amount': cancel_amount, + 'percentage': cancel_percentage + } + + departed = False + if days_until_departure < 0: + departed = True + + return render_template('profile/view_booking.html', booking=booking, refund=refund, days_until_departure=days_until_departure, departed=departed) + + @bp.route('/manage_bookings/edit/<int:id>') @permission_required(admin_permission) def edit_booking(id): diff --git a/app/templates/errors/error.html b/app/templates/errors/error.html index 61e13defb700c0aefa710e6fcae4712ae60449a6..94f3b68e68cfb6af78981ecaf46c1962c79d42b6 100644 --- a/app/templates/errors/error.html +++ b/app/templates/errors/error.html @@ -3,6 +3,7 @@ <link rel="stylesheet" type="text/css" href="{{ url_for('static', filename='base.css') }}"> <script src="https://kit.fontawesome.com/11fd621de6.js" crossorigin="anonymous"></script> <title> HT | Something went wrong </title> + <link rel="icon" href="{{ url_for('static', filename='favicon.ico') }}" type="image/x-icon"> </head> <div class="quandary-div"> <h1>Something went wrong</h1>