From 6629bb5056165735055e2c5f04dbd809612ff4ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=98=D0=B3=D0=BE=D1=80=D1=8C=20=D0=9D=D0=B0=D0=B4=D0=B5?= =?UTF-8?q?=D0=B8=D0=BD?= Date: Thu, 18 Dec 2025 16:03:26 +0300 Subject: [PATCH] fix --- backend/api/v1/employees/views.py | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/backend/api/v1/employees/views.py b/backend/api/v1/employees/views.py index fbe5b886..c5427720 100644 --- a/backend/api/v1/employees/views.py +++ b/backend/api/v1/employees/views.py @@ -2073,23 +2073,22 @@ class EmployeeViewSet(viewsets.ModelViewSet): # Получаем навыки skills = ", ".join([s.name for s in emp.skills.all()]) - # Форматируем телефон (PhoneNumber -> строка) - БЕЗОПАСНО - phone_str = '' - if emp.phone_number: + # Конвертируем PhoneNumber поля в строки + def safe_phone_str(phone_field): + """Безопасная конвертация PhoneNumber в строку""" + if not phone_field: + return '' try: from phonenumbers import format_number, PhoneNumberFormat - phone_str = format_number(emp.phone_number, PhoneNumberFormat.INTERNATIONAL) + return format_number(phone_field, PhoneNumberFormat.INTERNATIONAL) except Exception: try: - # Fallback 1: str() - phone_str = str(emp.phone_number) + return str(phone_field) except Exception: - # Fallback 2: repr() как last resort - try: - phone_str = repr(emp.phone_number) - except Exception: - # Полный fallback - пустая строка - phone_str = '[invalid phone]' + return '' + + phone_str = safe_phone_str(emp.phone_number) + whatsapp_str = safe_phone_str(emp.whatsapp) # Данные строки row_data = [ @@ -2107,7 +2106,7 @@ class EmployeeViewSet(viewsets.ModelViewSet): 'Да' if emp.email_verified else 'Нет', skills, emp.telegram or '', - emp.whatsapp or '', + whatsapp_str, emp.wechat or '' ]