ux (ranks): Add confirm to clear.
This commit is contained in:
@@ -6,10 +6,11 @@ from discord.ui.select import select, Select, SelectOption, RoleSelect
|
|||||||
from discord.ui.button import button, Button, ButtonStyle
|
from discord.ui.button import button, Button, ButtonStyle
|
||||||
|
|
||||||
from meta import conf, LionBot
|
from meta import conf, LionBot
|
||||||
|
from meta.errors import ResponseTimedOut
|
||||||
from core.data import RankType
|
from core.data import RankType
|
||||||
from data import ORDER
|
from data import ORDER
|
||||||
|
|
||||||
from utils.ui import MessageUI
|
from utils.ui import MessageUI, Confirm
|
||||||
from utils.lib import MessageArgs
|
from utils.lib import MessageArgs
|
||||||
from babel.translator import ctx_translator
|
from babel.translator import ctx_translator
|
||||||
|
|
||||||
@@ -112,10 +113,32 @@ class RankOverviewUI(MessageUI):
|
|||||||
"""
|
"""
|
||||||
Clear the rank list.
|
Clear the rank list.
|
||||||
"""
|
"""
|
||||||
await self.rank_model.table.delete_where(guildid=self.guildid)
|
# Confirm deletion
|
||||||
self.bot.get_cog('RankCog').flush_guild_ranks(self.guild.id)
|
t = self.bot.translator.t
|
||||||
self.ranks = []
|
confirm_msg = t(_p(
|
||||||
await self.redraw()
|
'ui:rank_overview|button:clear|confirm',
|
||||||
|
"Are you sure you want to **delete all activity ranks** in this server?"
|
||||||
|
))
|
||||||
|
confirmui = Confirm(confirm_msg, self._callerid)
|
||||||
|
confirmui.confirm_button.label = t(_p(
|
||||||
|
'ui:rank_overview|button:clear|confirm|button:yes',
|
||||||
|
"Yes, clear ranks"
|
||||||
|
))
|
||||||
|
confirmui.confirm_button.style = ButtonStyle.red
|
||||||
|
confirmui.cancel_button.style = ButtonStyle.green
|
||||||
|
confirmui.cancel_button.label = t(_p(
|
||||||
|
'ui:rank_overview|button:clear|confirm|button:no',
|
||||||
|
"Cancel"
|
||||||
|
))
|
||||||
|
try:
|
||||||
|
result = await confirmui.ask(press, ephemeral=True)
|
||||||
|
except ResponseTimedOut:
|
||||||
|
result = False
|
||||||
|
if result:
|
||||||
|
await self.rank_model.table.delete_where(guildid=self.guildid)
|
||||||
|
self.bot.get_cog('RankCog').flush_guild_ranks(self.guild.id)
|
||||||
|
self.ranks = []
|
||||||
|
await self.redraw()
|
||||||
|
|
||||||
async def clear_button_refresh(self):
|
async def clear_button_refresh(self):
|
||||||
self.clear_button.label = self.bot.translator.t(_p(
|
self.clear_button.label = self.bot.translator.t(_p(
|
||||||
|
|||||||
Reference in New Issue
Block a user