{% extends '_include/base.html.twig' %} {% block title %}Upload Attendance{% endblock %} {% block content %}

Upload Attendance File

{{ form_start(form, {'attr': {'enctype': 'multipart/form-data'}}) }}
{{ form_label(form.attendanceFile, 'Attendance File (CSV)') }} {{ form_widget(form.attendanceFile, {'attr': {'class': 'input-control-file', 'accept': '.csv'}}) }} {{ form_errors(form.attendanceFile) }} Upload a CSV file with attendance data. Download sample format
{{ form_label(form.date, 'Date') }} {{ form_widget(form.date, {'attr': {'class': 'input-control'}}) }} {{ form_errors(form.date) }}

CSV Format Instructions

Your CSV file should contain the following columns:

  • employee_id: Employee registration number
  • check_in: Check-in time (HH:MM format)
  • check_out: Check-out time (HH:MM format, optional)
  • break_start: Break start time (HH:MM format, optional)
  • break_end: Break end time (HH:MM format, optional)
Example:
employee_id,check_in,check_out,break_start,break_end
001,08:00,17:00,12:00,13:00
002,08:15,17:30,12:30,13:30
{% if upload_history is defined and upload_history|length > 0 %}

Recent Uploads

{% for upload in upload_history %} {% endfor %}
Date Records Status
{{ upload.date|date('Y-m-d') }} {{ upload.records_count }} {{ upload.status|title }}
{% endif %}
{{ form_end(form) }}
{% endblock %} {% block javascripts %} {{ parent() }} {% endblock %}