fix (stats): Fix global guild goal fetch.

This commit is contained in:
2023-03-12 14:59:49 +02:00
parent 54538aa57e
commit 2657580d6f
2 changed files with 8 additions and 9 deletions

View File

@@ -15,12 +15,11 @@ async def get_goals_card(
): ):
data: StatsData = bot.get_cog('StatsCog').data data: StatsData = bot.get_cog('StatsCog').data
lion = await bot.core.lions.fetch_member(guildid or 0, userid)
luser = lion.luser
if guildid: if guildid:
lion = await bot.core.lions.fetch_member(guildid, userid)
user = await lion.fetch_member() user = await lion.fetch_member()
luser = lion.luser
else: else:
lion = luser = await bot.core.lions.fetch_user(userid)
user = await bot.fetch_user(userid) user = await bot.fetch_user(userid)
today = lion.today today = lion.today
@@ -42,7 +41,7 @@ async def get_goals_card(
key = {'guildid': guildid or 0, 'userid': userid, 'monthid': periodid} key = {'guildid': guildid or 0, 'userid': userid, 'monthid': periodid}
# Extract goals and tasks # Extract goals and tasks
goals = await goal_model.fetch_or_create(*key.values()) goals = await goal_model.fetch(*key.values())
task_rows = await tasks_model.fetch_where(**key) task_rows = await tasks_model.fetch_where(**key)
tasks = [(i, row.content, bool(row.completed)) for i, row in enumerate(task_rows)] tasks = [(i, row.content, bool(row.completed)) for i, row in enumerate(task_rows)]

View File

@@ -427,12 +427,12 @@ class WeeklyMonthlyUI(StatsUI):
goal_model = self.data.WeeklyGoals goal_model = self.data.WeeklyGoals
tasks_model = self.data.WeeklyTasks tasks_model = self.data.WeeklyTasks
weekid = extract_weekid(apply_week_offset(now, self._week_offset)) weekid = extract_weekid(apply_week_offset(now, self._week_offset))
key = {'guildid': self.guildid, 'userid': self.userid, 'weekid': weekid} key = {'guildid': self.guildid or 0, 'userid': self.userid, 'weekid': weekid}
else: else:
goal_model = self.data.MonthlyGoals goal_model = self.data.MonthlyGoals
tasks_model = self.data.MonthlyTasks tasks_model = self.data.MonthlyTasks
monthid = extract_monthid(apply_month_offset(now, self._month_offset)) monthid = extract_monthid(apply_month_offset(now, self._month_offset))
key = {'guildid': self.guildid, 'userid': self.userid, 'monthid': monthid} key = {'guildid': self.guildid or 0, 'userid': self.userid, 'monthid': monthid}
if self._stat_page.stat is StatType.VOICE: if self._stat_page.stat is StatType.VOICE:
goal_keys = ('task_goal', 'study_goal') goal_keys = ('task_goal', 'study_goal')
@@ -744,13 +744,13 @@ class WeeklyMonthlyUI(StatsUI):
goal_model = data.WeeklyGoals goal_model = data.WeeklyGoals
tasks_model = data.WeeklyTasks tasks_model = data.WeeklyTasks
weekid = extract_weekid(apply_week_offset(now, self._week_offset)) weekid = extract_weekid(apply_week_offset(now, self._week_offset))
key = {'guildid': self.guildid, 'userid': self.userid, 'weekid': weekid} key = {'guildid': self.guildid or 0, 'userid': self.userid, 'weekid': weekid}
else: else:
goal_model = data.MonthlyGoals goal_model = data.MonthlyGoals
tasks_model = data.MonthlyTasks tasks_model = data.MonthlyTasks
now = now.replace(day=1) # Ensures a valid date after applying month offset now = now.replace(day=1) # Ensures a valid date after applying month offset
monthid = extract_monthid(apply_month_offset(now, self._month_offset)) monthid = extract_monthid(apply_month_offset(now, self._month_offset))
key = {'guildid': self.guildid, 'userid': self.userid, 'monthid': monthid} key = {'guildid': self.guildid or 0, 'userid': self.userid, 'monthid': monthid}
if self._stat_page.stat is StatType.VOICE: if self._stat_page.stat is StatType.VOICE:
goal_keys = ('task_goal', 'study_goal') goal_keys = ('task_goal', 'study_goal')
@@ -774,7 +774,7 @@ class WeeklyMonthlyUI(StatsUI):
mode = CardMode.VOICE mode = CardMode.VOICE
elif stat_page.stat is StatType.TEXT: elif stat_page.stat is StatType.TEXT:
mode = CardMode.TEXT mode = CardMode.TEXT
elif stat_page.stats is StatType.ANKI: elif stat_page.stat is StatType.ANKI:
mode = CardMode.ANKI mode = CardMode.ANKI
card = await get_goals_card( card = await get_goals_card(