Coverage for website/announcements/services.py: 100.00%

13 statements  

« prev     ^ index     » next       coverage.py v7.6.7, created at 2025-08-14 10:31 +0000

1from django.apps import apps 

2 

3 

4def get_announcements(request): 

5 announcements = [] 

6 for app in apps.get_app_configs(): 

7 if hasattr(app, "announcements"): 

8 announcements += app.announcements(request) 

9 return announcements 

10 

11 

12def close_announcement(request, pk): 

13 """Close an announcement.""" 

14 if "closed_announcements" not in request.session: 

15 request.session["closed_announcements"] = [] # cannot use sets here :( 

16 # duplicates should never occur anyway, but it does not hurt to check 

17 if pk not in request.session["closed_announcements"]: 

18 request.session["closed_announcements"].append(pk) 

19 # needs to be explicitly marked since we only edited an existing object 

20 request.session.modified = True