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

Self Punch Backup Approvals (HR / Admin)

Backup approval panel – approve self punches for any employee
Reset
Showing {{ punches|length }} record(s)
{% for p in punches %} {% set st = (p.approval_status or '').lower() %} {% endfor %} {% if punches|length == 0 %} {% endif %}
Date / Time Employee Manager Dir Location Photo Status Quick
{{ p.punch_time.strftime('%d %b %Y') }}
{{ p.punch_time.strftime('%I:%M %p') }}
{{ p.employee.full_name }}
{{ p.employee.employee_code }} · {{ p.employee.email }}
{{ p.employee.reporting_manager.full_name if p.employee.reporting_manager else '-' }} {{ p.direction|upper }} {% if p.latitude and p.longitude %}
{{ "%.6f"|format(p.latitude) }}, {{ "%.6f"|format(p.longitude) }} Open in OSM {% if p.location_note %} {{ p.location_note }} {% endif %}
{% elif p.location_note %} {{ p.location_note }} {% else %} - {% endif %}
{% if p.photo_path %} {% else %} No photo {% endif %} {% if st=='pending' %} Pending {% elif st=='approved' %} Approved {% else %} Rejected {% endif %}
No punches found for selected filters.
{% if pagination.pages > 1 %} {% endif %}
{% endblock %}