Skip to content

Commit 6bf6193

Browse files
committed
fix(exchanges): Исправлена проверка на дежурство
1 parent 903f0b9 commit 6bf6193

File tree

3 files changed

+10
-5
lines changed

3 files changed

+10
-5
lines changed

tgbot/dialogs/events/common/exchanges/create/sell.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,8 +78,8 @@ async def get_shift_info_from_calendar_data(
7878

7979
# Получаем информацию о дежурствах из календарных данных
8080
duty_info = calendar_data.get("duty_info")
81-
has_duty = bool(duty_info)
82-
duty_time = duty_info if has_duty else None
81+
has_duty = False # Начинаем с False, устанавливаем True только если найдено валидное дежурство
82+
duty_time = None
8383
duty_type = None
8484

8585
if duty_info and isinstance(duty_info, str):
@@ -88,6 +88,7 @@ async def get_shift_info_from_calendar_data(
8888
if len(duty_parts) >= 2 and duty_parts[-1] in ["С", "П"]:
8989
duty_type = duty_parts[-1]
9090
duty_time = " ".join(duty_parts[:-1])
91+
has_duty = True # Устанавливаем True только после успешного парсинга
9192

9293
return shift_schedule, shift_end_fallback, has_duty, duty_time, duty_type
9394

tgbot/dialogs/events/common/exchanges/exchanges.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,8 +82,8 @@ async def get_shift_info_from_calendar_data(
8282

8383
# Получаем информацию о дежурствах из календарных данных
8484
duty_info = calendar_data.get("duty_info")
85-
has_duty = bool(duty_info)
86-
duty_time = duty_info if has_duty else None
85+
has_duty = False # Начинаем с False, устанавливаем True только если найдено валидное дежурство
86+
duty_time = None
8787
duty_type = None
8888

8989
if duty_info and isinstance(duty_info, str):
@@ -92,6 +92,7 @@ async def get_shift_info_from_calendar_data(
9292
if len(duty_parts) >= 2 and duty_parts[-1] in ["С", "П"]:
9393
duty_type = duty_parts[-1]
9494
duty_time = " ".join(duty_parts[:-1])
95+
has_duty = True # Устанавливаем True только после успешного парсинга
9596

9697
return shift_start, shift_end, has_duty, duty_time, duty_type
9798

tgbot/dialogs/getters/common/exchanges/create/sell.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,8 +121,11 @@ async def sell_time_input_getter(
121121

122122
# Формируем предупреждение о дежурстве
123123
duty_warning = ""
124-
if has_duty:
124+
if has_duty and duty_time and duty_type:
125125
duty_warning = f"\n🚩 <b>Есть дежурство:</b>\n{duty_time} {duty_type}"
126+
elif has_duty:
127+
# Fallback если по какой-то причине нет детальной информации
128+
duty_warning = "\n🚩 <b>Есть дежурство</b>"
126129

127130
# Формируем информацию о проданных часах
128131
sold_hours_info = ""

0 commit comments

Comments
 (0)