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
« prev ^ index » next coverage.py v7.6.7, created at 2025-08-14 10:31 +0000
1import logging
3from django.conf import settings
4from django.db.models import Model
5from django.urls import reverse
7from utils.snippets import send_email
9logger = logging.getLogger(__name__)
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 )