{% extends "layout.html" %} {% block content %}

⏱️ System Admin - Time Entries

View time entries across all companies

← Back to Dashboard

Filter Time Entries

{% if current_company %} Clear Filter {% endif %}
{% if entries.items %}
{% for entry_data in entries.items %} {% set entry = entry_data[0] %} {% set username = entry_data[1] %} {% set company_name = entry_data[2] %} {% set project_name = entry_data[3] %} {% endfor %}
User Company Project Arrival Departure Duration Status Notes
{{ username }} {{ company_name }} {% if project_name %} {{ project_name }} {% else %} No project {% endif %} {{ entry.arrival_time.strftime('%Y-%m-%d %H:%M') }} {% if entry.departure_time %} {{ entry.departure_time.strftime('%Y-%m-%d %H:%M') }} {% else %} Still working {% endif %} {% if entry.duration %} {% set hours = entry.duration // 3600 %} {% set minutes = (entry.duration % 3600) // 60 %} {{ hours }}h {{ minutes }}m {% else %} Ongoing {% endif %} {% if entry.is_paused %} Paused {% elif not entry.departure_time %} Active {% else %} Completed {% endif %} {% if entry.notes %} {{ entry.notes[:30] }}{% if entry.notes|length > 30 %}...{% endif %} {% else %} No notes {% endif %}
{% if entries.pages > 1 %}

Showing {{ entries.per_page * (entries.page - 1) + 1 }} - {{ entries.per_page * (entries.page - 1) + entries.items|length }} of {{ entries.total }} time entries

{% endif %} {% else %}

No time entries found

{% if current_company %}

No time entries found for the selected company.

{% else %}

No time entries exist in the system yet.

{% endif %}
{% endif %} {% if entries.items %}

📊 Summary Statistics

Total Entries

{{ entries.total }}

Active Sessions

{{ entries.items | selectattr('0.departure_time', 'equalto', None) | list | length }}

Paused Sessions

{{ entries.items | selectattr('0.is_paused', 'equalto', True) | list | length }}

Completed Today

{{ entries.items | selectattr('0.arrival_time') | selectattr('0.departure_time', 'defined') | list | length }}

{% endif %}
{% endblock %}