Skip to content

Commit

Permalink
#100 cancel waivers
Browse files Browse the repository at this point in the history
  • Loading branch information
bomzheg committed Jul 27, 2024
1 parent 272fe46 commit db82926
Show file tree
Hide file tree
Showing 3 changed files with 46 additions and 6 deletions.
30 changes: 30 additions & 0 deletions shvatka/tgbot/handlers/waivers.py
Original file line number Diff line number Diff line change
Expand Up @@ -153,6 +153,23 @@ async def confirm_approve_waivers_handler(
await total_remove_msg(bot, chat_id=c.message.chat.id, msg_id=c.message.message_id)


async def cancel_waivers_handler(
c: CallbackQuery,
callback_data: kb.WaiverConfirmCD,
player: dto.Player,
game: dto.Game,
dao: HolderDao,
bot: Bot,
):
check_same_game(callback_data, game, player)
team = await get_my_team(player, dao.team_player)
check_same_team(callback_data, player, team)
assert team
await c.answer("Сбор вейверов в вашей команде отменён!", show_alert=True)
assert c.message
await total_remove_msg(bot, chat_id=c.message.chat.id, msg_id=c.message.message_id)


async def waiver_user_menu(
c: CallbackQuery,
callback_data: kb.WaiverManagePlayerCD,
Expand Down Expand Up @@ -319,6 +336,19 @@ def setup() -> Router:
kb.WaiverConfirmCD.filter(),
)

captain_router.callback_query.register(
cancel_waivers_handler,
kb.WaiverCancelCD.filter(),
)
player_router.callback_query.register(
player_is_not_captain,
kb.WaiverCancelCD.filter(),
)
fallback_router.callback_query.register(
player_is_not_captain,
kb.WaiverCancelCD.filter(),
)

captain_router.callback_query.register(
waiver_user_menu,
kb.WaiverManagePlayerCD.filter(),
Expand Down
1 change: 1 addition & 0 deletions shvatka/tgbot/keyboards/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@
IWaiverCD,
WaiverVoteCD,
WaiverConfirmCD,
WaiverCancelCD,
WaiverAddForceMenuCD,
WaiverManagePlayerCD,
WaiverMainCD,
Expand Down
21 changes: 15 additions & 6 deletions shvatka/tgbot/keyboards/waiver.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,11 @@ class WaiverConfirmCD(CallbackData, prefix="confirm_waivers"):
team_id: int


class WaiverCancelCD(CallbackData, prefix="cancel_waivers"):
game_id: int
team_id: int


class WaiverManagePlayerCD(CallbackData, prefix="waiver_player"):
game_id: int
team_id: int
Expand Down Expand Up @@ -58,18 +63,22 @@ class WaiverAddPlayerForceCD(CallbackData, prefix="waiver_add_force"):

def get_kb_waivers(team: dto.Team, game: dto.Game) -> InlineKeyboardMarkup:
builder = InlineKeyboardBuilder()
builder.button(text="Играю", callback_data=WaiverVoteCD(vote=Played.yes, team_id=team.id))
builder.button(text="Не могу", callback_data=WaiverVoteCD(vote=Played.no, team_id=team.id))
builder.button(text="Думаю", callback_data=WaiverVoteCD(vote=Played.think, team_id=team.id))
builder.button(text="🙋Играю", callback_data=WaiverVoteCD(vote=Played.yes, team_id=team.id))
builder.button(text="🙅Не могу", callback_data=WaiverVoteCD(vote=Played.no, team_id=team.id))
builder.button(text="🤔Думаю", callback_data=WaiverVoteCD(vote=Played.think, team_id=team.id))
builder.button(
text="Отредактировать список",
text="📝Отредактировать список",
callback_data=WaiverToApproveCD(game_id=game.id, team_id=team.id),
)
builder.button(
text="Подтвердить",
text="Подтвердить",
callback_data=WaiverConfirmCD(game_id=game.id, team_id=team.id),
)
builder.adjust(3, 1, 1)
builder.button(
text="❌Отменить",
callback_data=WaiverCancelCD(game_id=game.id, team_id=team.id),
)
builder.adjust(3, 1, 1, 1)
return builder.as_markup()


Expand Down

0 comments on commit db82926

Please sign in to comment.