Coverage for website/pushnotifications/signals/thabloid.py: 50.00%
12 statements
« prev ^ index » next coverage.py v7.6.7, created at 2025-08-14 10:31 +0000
« prev ^ index » next coverage.py v7.6.7, created at 2025-08-14 10:31 +0000
1from django.conf import settings
2from django.db.models.signals import post_save
4from members.models import Member
5from utils.models.signals import suspendingreceiver
7from ..models import Category, Message
10@suspendingreceiver(
11 post_save,
12 sender="thabloid.Thabloid",
13 dispatch_uid="schedule_new_thabloid_pushnotification",
14)
15def send_thabloid_pushnotification(sender, instance, created: bool, **kwargs):
16 if not created:
17 return
18 message = Message.objects.create(
19 title=f"Thabloid {instance.year}, #{instance.issue}",
20 body="Tap to view",
21 url=settings.BASE_URL + instance.get_absolute_url(),
22 category=Category.objects.get(key=Category.THABLOID),
23 )
24 message.users.set(Member.current_members.all())
25 message.send()