From dd6a9f5c7db05ccd76a267adbf8621647422f7d6 Mon Sep 17 00:00:00 2001 From: Stefan Date: Tue, 22 Oct 2024 09:23:34 +0200 Subject: [PATCH] :green_heart: FIX CI build by adding better errorhandling --- src/sdg/utils/context_processors.py | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/src/sdg/utils/context_processors.py b/src/sdg/utils/context_processors.py index 7c0207897..3f59bdf74 100644 --- a/src/sdg/utils/context_processors.py +++ b/src/sdg/utils/context_processors.py @@ -2,6 +2,8 @@ from sdg.conf.utils import org_type_cfg from sdg.producten.models import NotificationViewed, ProductVersie +from django.utils.timezone import now +from dateutil.relativedelta import relativedelta def settings(request): @@ -31,13 +33,25 @@ def settings(request): def has_new_notifications(request): if request.user and request.user.is_anonymous is not True: # Get the user's NotificationViewed instance - notification_viewed = NotificationViewed.objects.get(gebruiker=request.user) + try: + notification_viewed = NotificationViewed.objects.get(gebruiker=request.user) + except NotificationViewed.DoesNotExist: + notification_viewed = None + + + # Get the last_viewed_date from data + try: + last_viewed_date = notification_viewed.last_viewed_date + except AttributeError: + # default last_viewed_date is 12 months ago + last_viewed_date = now() - relativedelta(months=12) + # Get the latest product version after the last_viewed_date else None. latest_notification = ( ProductVersie.objects.filter( product__referentie_product=None, - gewijzigd_op__gt=notification_viewed.last_viewed_date, + gewijzigd_op__gt=last_viewed_date, ) .order_by("-gewijzigd_op") .first()