Sep 16 - Optimize code, part 1
This commit is contained in:
@@ -23,6 +23,7 @@ from models.qrcode import QRCode
|
||||
from models.time_attendance import TimeAttendance
|
||||
from sqlalchemy import text
|
||||
from working_hours_calculator import WorkingHoursCalculator, round_time_to_quarter_hour, convert_minutes_to_base100, round_base100_hours
|
||||
from utils.excel_safety import excel_hyperlink, neutralize_unexpected_formulas
|
||||
import openpyxl
|
||||
from openpyxl.styles import Font, PatternFill, Alignment, Border, Side, numbers
|
||||
from openpyxl.utils import get_column_letter
|
||||
@@ -1377,6 +1378,7 @@ def export_time_attendance_excel(records, project_name_for_filename, date_range_
|
||||
|
||||
# Save to BytesIO
|
||||
output = io.BytesIO()
|
||||
neutralize_unexpected_formulas(wb) # formula-injection guard (utils/excel_safety.py)
|
||||
wb.save(output)
|
||||
output.seek(0)
|
||||
|
||||
@@ -2237,13 +2239,13 @@ def export_time_attendance_by_building_excel(records, project_name_for_filename,
|
||||
building_address = ref_record.event_description or ''
|
||||
if building_address:
|
||||
encoded_addr = building_address.replace(' ', '+').replace(',', '%2C')
|
||||
hyperlink_formula = f'=HYPERLINK("https://www.google.com/maps/place/{encoded_addr}","{building_address}")'
|
||||
hyperlink_formula = excel_hyperlink(f"https://www.google.com/maps/place/{encoded_addr}", building_address)
|
||||
ws.cell(row=current_row, column=11, value=hyperlink_formula)
|
||||
|
||||
recorded_addr = ref_record.recorded_address or ''
|
||||
if recorded_addr:
|
||||
encoded_recorded = recorded_addr.replace(' ', '+').replace(',', '%2C')
|
||||
recorded_hyperlink = f'=HYPERLINK("https://www.google.com/maps/place/{encoded_recorded}","{recorded_addr}")'
|
||||
recorded_hyperlink = excel_hyperlink(f"https://www.google.com/maps/place/{encoded_recorded}", recorded_addr)
|
||||
ws.cell(row=current_row, column=12, value=recorded_hyperlink)
|
||||
|
||||
current_row += 1
|
||||
@@ -2363,6 +2365,7 @@ def export_time_attendance_by_building_excel(records, project_name_for_filename,
|
||||
|
||||
# Save to BytesIO
|
||||
output = io.BytesIO()
|
||||
neutralize_unexpected_formulas(wb) # formula-injection guard (utils/excel_safety.py)
|
||||
wb.save(output)
|
||||
output.seek(0)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user