added notification when admin adds a new article

This commit is contained in:
abutalib-kiwi
2023-08-25 16:59:10 +05:30
parent b82902081f
commit 21b92f8c74
8 changed files with 32 additions and 13 deletions

View File

@ -68,7 +68,7 @@ def notify_top_junior():
task to send notification for top leaderboard junior to all junior's
:return:
"""
junior_points_qs = JuniorPoints.objects.prefetch_related('junior', 'junior__auth').annotate(rank=Window(
junior_points_qs = JuniorPoints.objects.select_related('junior', 'junior__auth').annotate(rank=Window(
expression=Rank(),
order_by=[F('total_points').desc(), 'junior__created_at']
)).order_by('-total_points', 'junior__created_at')
@ -76,9 +76,8 @@ def notify_top_junior():
prev_top_position = junior_points_qs.filter(position=1).first()
new_top_position = junior_points_qs.filter(rank=1).first()
if prev_top_position != new_top_position:
to_user_list = [junior_point.junior.auth for junior_point in junior_points_qs]
send_notification_multiple_user(TOP_JUNIOR, new_top_position.junior.auth.id, JUNIOR,
to_user_list, {'points': new_top_position.total_points})
{'points': new_top_position.total_points})
for junior_point in junior_points_qs:
junior_point.position = junior_point.rank
junior_point.save()