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

1from django.conf import settings 

2from django.db.models.signals import post_save 

3 

4from members.models import Member 

5from utils.models.signals import suspendingreceiver 

6 

7from ..models import Category, Message 

8 

9 

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()