{% extends "base.html" %} {% from "components/ui.html" import page_header %} {% block content %} {% set breadcrumbs = [ {'text': 'Mileage', 'url': url_for('mileage.list_mileage')}, {'text': 'Mileage #' + mileage.id|string} ] %} {{ page_header( icon_class='fas fa-car', title_text='Mileage Entry #' + mileage.id|string, subtitle_text=mileage.purpose, breadcrumbs=breadcrumbs, actions_html='Edit' if current_user.is_admin or mileage.user_id == current_user.id else '' ) }}

Trip Details

Trip Date

{{ mileage.trip_date.strftime('%Y-%m-%d') if mileage.trip_date else (mileage.date.strftime('%Y-%m-%d') if mileage.date else '-') }}

User

{{ mileage.user.full_name if mileage.user and mileage.user.full_name else (mileage.user.username if mileage.user else '-') }}

Purpose

{{ mileage.purpose }}

{% if mileage.description %}

Description

{{ mileage.description }}

{% endif %}

Route

{{ mileage.start_location }}
{{ '%.2f'|format(mileage.distance_km) }} km
{{ mileage.end_location }}
{% if mileage.is_round_trip %}
Round Trip
{% endif %}

Distance

{{ '%.2f'|format(mileage.distance_km) }} km

{% if mileage.is_round_trip %}

Total: {{ '%.2f'|format(mileage.distance_km * 2) }} km

{% endif %}

Rate per km

{{ mileage.currency_code or 'EUR' }} {{ '%.2f'|format(mileage.rate_per_km) }}

Total Amount

{{ mileage.currency_code or 'EUR' }} {{ '%.2f'|format(mileage.total_amount or (mileage.calculated_amount or 0)) }}

{% if mileage.vehicle_type or mileage.vehicle_description or mileage.license_plate %}

Vehicle Information

{% if mileage.vehicle_type %}

Type

{{ mileage.vehicle_type|title }}

{% endif %} {% if mileage.vehicle_description %}

Make/Model

{{ mileage.vehicle_description }}

{% endif %} {% if mileage.license_plate %}

License Plate

{{ mileage.license_plate }}

{% endif %} {% if mileage.start_odometer and mileage.end_odometer %}

Start Odometer

{{ mileage.start_odometer }}

End Odometer

{{ mileage.end_odometer }}

{% endif %}
{% endif %} {% if mileage.project or mileage.client %}

Association

{% if mileage.project %}

Project

{{ mileage.project.name }}
{% endif %} {% if mileage.client %}

Client

{{ mileage.client.name }}
{% endif %}
{% endif %} {% if mileage.notes %}

Notes

{{ mileage.notes }}

{% endif %}

Status

{% if mileage.status == 'pending' %} Pending Approval {% elif mileage.status == 'approved' %} Approved {% elif mileage.status == 'rejected' %} Rejected {% elif mileage.status == 'reimbursed' %} Reimbursed {% endif %}
{% if mileage.approved_by %}

{% if mileage.status == 'approved' %}Approved By{% else %}Reviewed By{% endif %}

{{ mileage.approver.full_name if mileage.approver and mileage.approver.full_name else (mileage.approver.username if mileage.approver else '-') }}

{% if mileage.approved_at %}

{{ mileage.approved_at|user_datetime('%Y-%m-%d %H:%M') }}

{% endif %}
{% endif %} {% if mileage.status == 'rejected' and mileage.rejection_reason %}

Rejection Reason:
{{ mileage.rejection_reason }}

{% endif %} {% if mileage.approval_notes %}

Approval Notes:
{{ mileage.approval_notes }}

{% endif %}
{% if current_user.is_admin and mileage.status == 'pending' %}

Admin Actions

{% endif %} {% if current_user.is_admin and mileage.status == 'approved' %}

Reimbursement

{% endif %}

Metadata

Created

{{ mileage.created_at|user_datetime('%Y-%m-%d %H:%M') if mileage.created_at else '-' }}

Last Updated

{{ mileage.updated_at|user_datetime('%Y-%m-%d %H:%M') if mileage.updated_at else '-' }}

{% endblock %}