Coverage for website/moneybirdsynchronization/emails.py: 100.00%

8 statements  

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

1import logging 

2 

3from django.conf import settings 

4from django.db.models import Model 

5from django.urls import reverse 

6 

7from utils.snippets import send_email 

8 

9logger = logging.getLogger(__name__) 

10 

11 

12def send_sync_error(error, obj): 

13 send_email( 

14 to=[settings.TREASURER_NOTIFICATION_ADDRESS], 

15 subject="[MONEYBIRD] Error while syncing", 

16 txt_template="email/moneybird_api_fail.txt", 

17 html_template="email/moneybird_api_fail.html", 

18 context={ 

19 "error": error, 

20 "obj": obj, 

21 "url": ( 

22 settings.BASE_URL 

23 + reverse( 

24 f"admin:{obj._meta.app_label}_{obj._meta.model_name}_change", 

25 args=(obj.pk,), 

26 ) 

27 ) 

28 if isinstance(obj, Model) 

29 else None, 

30 }, 

31 )