fix (stats): Fix global guild goal fetch.
This commit is contained in:
@@ -15,12 +15,11 @@ async def get_goals_card(
|
||||
):
|
||||
data: StatsData = bot.get_cog('StatsCog').data
|
||||
|
||||
if guildid:
|
||||
lion = await bot.core.lions.fetch_member(guildid, userid)
|
||||
user = await lion.fetch_member()
|
||||
lion = await bot.core.lions.fetch_member(guildid or 0, userid)
|
||||
luser = lion.luser
|
||||
if guildid:
|
||||
user = await lion.fetch_member()
|
||||
else:
|
||||
lion = luser = await bot.core.lions.fetch_user(userid)
|
||||
user = await bot.fetch_user(userid)
|
||||
|
||||
today = lion.today
|
||||
@@ -42,7 +41,7 @@ async def get_goals_card(
|
||||
key = {'guildid': guildid or 0, 'userid': userid, 'monthid': periodid}
|
||||
|
||||
# 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)
|
||||
tasks = [(i, row.content, bool(row.completed)) for i, row in enumerate(task_rows)]
|
||||
|
||||
|
||||
@@ -427,12 +427,12 @@ class WeeklyMonthlyUI(StatsUI):
|
||||
goal_model = self.data.WeeklyGoals
|
||||
tasks_model = self.data.WeeklyTasks
|
||||
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:
|
||||
goal_model = self.data.MonthlyGoals
|
||||
tasks_model = self.data.MonthlyTasks
|
||||
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:
|
||||
goal_keys = ('task_goal', 'study_goal')
|
||||
@@ -744,13 +744,13 @@ class WeeklyMonthlyUI(StatsUI):
|
||||
goal_model = data.WeeklyGoals
|
||||
tasks_model = data.WeeklyTasks
|
||||
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:
|
||||
goal_model = data.MonthlyGoals
|
||||
tasks_model = data.MonthlyTasks
|
||||
now = now.replace(day=1) # Ensures a valid date after applying 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:
|
||||
goal_keys = ('task_goal', 'study_goal')
|
||||
@@ -774,7 +774,7 @@ class WeeklyMonthlyUI(StatsUI):
|
||||
mode = CardMode.VOICE
|
||||
elif stat_page.stat is StatType.TEXT:
|
||||
mode = CardMode.TEXT
|
||||
elif stat_page.stats is StatType.ANKI:
|
||||
elif stat_page.stat is StatType.ANKI:
|
||||
mode = CardMode.ANKI
|
||||
|
||||
card = await get_goals_card(
|
||||
|
||||
Reference in New Issue
Block a user