-добавил выбор мастера;
-расширил FSM новым состоянием master; -добавил новую клавиатуру masters.py; -изменил сценарий записи; -доработал окно подтверждения записи; -расширил структуру хранения бронирований.
This commit is contained in:
+36
-1
@@ -5,7 +5,7 @@ from aiogram.fsm.context import FSMContext
|
||||
from aiogram.filters import StateFilter
|
||||
from aiogram.types import Message, CallbackQuery
|
||||
from app.keyboards.services import get_services_keyboard
|
||||
|
||||
from app.keyboards.masters import get_masters_keyboard
|
||||
from app.states.booking import BookingState
|
||||
from app.services.booking_service import create_booking
|
||||
from app.keyboards.menu import menu, cancel_menu
|
||||
@@ -59,9 +59,42 @@ async def choose_service(
|
||||
service=service_name
|
||||
)
|
||||
|
||||
await state.set_state(
|
||||
BookingState.master
|
||||
)
|
||||
await callback.message.edit_text(
|
||||
"👤 Выберите специалиста:",
|
||||
reply_markup=get_masters_keyboard()
|
||||
)
|
||||
|
||||
await callback.answer()
|
||||
|
||||
#выбор мастера
|
||||
@router.callback_query(
|
||||
StateFilter(BookingState.master),
|
||||
F.data.startswith("master_")
|
||||
)
|
||||
async def choose_master(
|
||||
callback: CallbackQuery,
|
||||
state: FSMContext
|
||||
):
|
||||
|
||||
masters = {
|
||||
"master_anna": "Анна",
|
||||
"master_maria": "Мария",
|
||||
"master_alex": "Алексей"
|
||||
}
|
||||
|
||||
master_name = masters[callback.data]
|
||||
|
||||
await state.update_data(
|
||||
master=master_name
|
||||
)
|
||||
|
||||
await state.set_state(
|
||||
BookingState.date
|
||||
)
|
||||
|
||||
await callback.message.edit_text(
|
||||
"📅 Выберите дату:",
|
||||
reply_markup=get_dates_keyboard()
|
||||
@@ -127,6 +160,7 @@ async def choose_time(
|
||||
f"📋 Проверьте запись:\n\n"
|
||||
f"💆 Услуга: {data['service']}\n"
|
||||
f"📅 Дата: {data['date']}\n"
|
||||
f"👤 Мастер:{data['master']}\n"
|
||||
f"🕒 Время: {selected_time}",
|
||||
reply_markup=get_confirm_booking_keyboard()
|
||||
)
|
||||
@@ -149,6 +183,7 @@ async def confirm_booking_callback(
|
||||
user_id=callback.from_user.id,
|
||||
service=data["service"],
|
||||
date=data["date"],
|
||||
master=data["master"],
|
||||
time=data["time"]
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user