Update exported file Date range correctly

This commit is contained in:
2025-12-02 12:47:58 -05:00
parent 19cd820f5e
commit 78cbe4839f
+15 -3
View File
@@ -8081,7 +8081,7 @@ def export_time_attendance():
# Export based on format # Export based on format
if export_format == 'excel' or export_format == 'xlsx': if export_format == 'excel' or export_format == 'xlsx':
return export_time_attendance_excel(records, project_name_for_filename, date_range_str, filter_str) return export_time_attendance_excel(records, project_name_for_filename, date_range_str, filter_str, start_date, end_date)
else: else:
return export_time_attendance_csv(records, project_name_for_filename, date_range_str, filter_str) return export_time_attendance_csv(records, project_name_for_filename, date_range_str, filter_str)
@@ -8161,7 +8161,7 @@ def calculate_possible_violation(distance_value):
except (ValueError, TypeError): except (ValueError, TypeError):
return 'No' return 'No'
def export_time_attendance_excel(records, project_name_for_filename, date_range_str, filter_str): def export_time_attendance_excel(records, project_name_for_filename, date_range_str, filter_str, start_date_filter=None, end_date_filter=None):
"""Generate Excel export with template format matching the provided template""" """Generate Excel export with template format matching the provided template"""
from openpyxl import Workbook from openpyxl import Workbook
from openpyxl.styles import Font, PatternFill, Border, Side, Alignment from openpyxl.styles import Font, PatternFill, Border, Side, Alignment
@@ -8174,7 +8174,19 @@ def export_time_attendance_excel(records, project_name_for_filename, date_range_
ws.title = "Sheet0" ws.title = "Sheet0"
# Get date range for calculations # Get date range for calculations
if records: if start_date_filter and end_date_filter:
# Convert string dates to date objects if needed
if isinstance(start_date_filter, str):
start_date = datetime.strptime(start_date_filter, '%Y-%m-%d').date()
else:
start_date = start_date_filter
if isinstance(end_date_filter, str):
end_date = datetime.strptime(end_date_filter, '%Y-%m-%d').date()
else:
end_date = end_date_filter
elif records:
# Fallback to calculating from records if no filter dates provided
start_date = min(r.attendance_date for r in records) start_date = min(r.attendance_date for r in records)
end_date = max(r.attendance_date for r in records) end_date = max(r.attendance_date for r in records)
else: else: