feat(bot): ✨ Add remaining reports counter to p.reports.
This commit is contained in:
@@ -2,7 +2,7 @@ import discord
|
||||
from discord.ext import pages
|
||||
from discord.utils import find
|
||||
|
||||
from tortoise import transactions
|
||||
from tortoise import transactions, functions
|
||||
|
||||
from payphone import bot
|
||||
from payphone.db import models
|
||||
@@ -55,12 +55,15 @@ class BanNotificationView(discord.ui.View):
|
||||
class ReportView(discord.ui.View):
|
||||
"""The view sent together with the report embed."""
|
||||
|
||||
def __init__(self, bot: bot.Payphone, report: models.Report) -> None:
|
||||
def __init__(
|
||||
self, bot: bot.Payphone, report: models.Report, remaining_reports: int
|
||||
) -> None:
|
||||
"""Initializes the view.
|
||||
|
||||
Args:
|
||||
bot (bot.Payphone): The bot.
|
||||
report (models.Report): The report.
|
||||
remaining_reports (int): The amount of reports that need to be reviewed remaining.
|
||||
"""
|
||||
|
||||
super().__init__(timeout=300, disable_on_timeout=True)
|
||||
@@ -96,6 +99,9 @@ class ReportView(discord.ui.View):
|
||||
actions.callback = actions_callback
|
||||
|
||||
self.add_item(actions)
|
||||
self.add_item(
|
||||
discord.ui.Button(label=f"Remaining: {remaining_reports}", disabled=True, row=2)
|
||||
)
|
||||
|
||||
@discord.ui.button(label="Message Logs", style=discord.ButtonStyle.gray, row=2)
|
||||
async def message_logs(
|
||||
@@ -181,6 +187,7 @@ class ReportView(discord.ui.View):
|
||||
.select_related("call")
|
||||
.prefetch_related("call__call_rss", "call__call_rss__profile")
|
||||
)
|
||||
total = await models.Report.filter(status=models.ReportStatus.ON_REVIEW).count()
|
||||
|
||||
if report is None:
|
||||
await interaction.response.edit_message(
|
||||
@@ -192,7 +199,7 @@ class ReportView(discord.ui.View):
|
||||
|
||||
await interaction.response.edit_message(
|
||||
embed=embeds.ReportEmbed(self.bot, report),
|
||||
view=views.ReportView(self.bot, report),
|
||||
view=views.ReportView(self.bot, report, total),
|
||||
)
|
||||
|
||||
@discord.ui.button(label="Decline", style=discord.ButtonStyle.red, row=2)
|
||||
@@ -213,6 +220,7 @@ class ReportView(discord.ui.View):
|
||||
.select_related("call")
|
||||
.prefetch_related("call__call_rss", "call__call_rss__profile")
|
||||
)
|
||||
total = await models.Report.filter(status=models.ReportStatus.ON_REVIEW).count()
|
||||
|
||||
if report is None:
|
||||
await interaction.response.edit_message(
|
||||
@@ -224,5 +232,5 @@ class ReportView(discord.ui.View):
|
||||
|
||||
await interaction.response.edit_message(
|
||||
embed=embeds.ReportEmbed(self.bot, report),
|
||||
view=views.ReportView(self.bot, report),
|
||||
view=views.ReportView(self.bot, report, total),
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user