{% extends "client_portal/base.html" %} {% from "components/ui.html" import page_header %} {% block title %}{{ _('Time Entries') }} - {{ _('Client Portal') }}{% endblock %} {% block content %} {% set breadcrumbs = [ {'text': _('Client Portal'), 'url': url_for('client_portal.dashboard')}, {'text': _('Time Entries')} ] %} {{ page_header( icon_class='fas fa-clock', title_text=_('Time Entries'), subtitle_text=_('Time entries for %(client_name)s projects', client_name=client.name), breadcrumbs=breadcrumbs ) }}
{% if time_entries %}
{% for entry in time_entries %} {% endfor %}
{{ _('Date') }} {{ _('Project') }} {{ _('User') }} {{ _('Start Time') }} {{ _('End Time') }} {{ _('Duration') }} {{ _('Description') }}
{{ entry.start_time.strftime('%Y-%m-%d') }} {% if entry.project %} {{ entry.project.name }} {% elif entry.client %} {{ entry.client.name }} ({{ _('Direct') }}) {% else %} {{ _('N/A') }} {% endif %} {{ entry.user.display_name if entry.user else _('N/A') }} {{ entry.start_time.strftime('%H:%M') }} {{ entry.end_time.strftime('%H:%M') if entry.end_time else '-' }} {{ "%.2f"|format(entry.duration_hours) }}h {{ entry.description[:100] if entry.description else '-' }}{% if entry.description and entry.description|length > 100 %}...{% endif %}

{{ _('Total entries') }}: {{ time_entries|length }} | {{ _('Total hours') }}: {{ "%.2f"|format(time_entries|sum(attribute='duration_hours')) }}h

{% else %}

{{ _('No time entries found.') }}

{% endif %}
{% endblock %}