diff --git a/tasks/models.py b/tasks/models.py index 66e0b0a..a88425c 100644 --- a/tasks/models.py +++ b/tasks/models.py @@ -156,9 +156,13 @@ class Task(models.Model): import pytz # Get current date in user's timezone - user_tz = pytz.timezone(self.user.timezone) - user_now = timezone.now().astimezone(user_tz) - user_today = user_now.date() + try: + user_tz = pytz.timezone(self.user.timezone) + user_now = timezone.now().astimezone(user_tz) + user_today = user_now.date() + except (pytz.UnknownTimeZoneError, AttributeError): + # Fall back to UTC if user timezone is invalid or missing + user_today = timezone.now().date() return self.due_date < user_today return False diff --git a/tasks/views.py b/tasks/views.py index a8ba166..c7ed0cb 100644 --- a/tasks/views.py +++ b/tasks/views.py @@ -220,9 +220,13 @@ class DashboardView(View): # Get today's date in user's timezone import pytz - user_tz = pytz.timezone(request.user.timezone) - user_now = timezone.now().astimezone(user_tz) - today = user_now.date() + try: + user_tz = pytz.timezone(request.user.timezone) + user_now = timezone.now().astimezone(user_tz) + today = user_now.date() + except (pytz.UnknownTimeZoneError, AttributeError): + # Fall back to UTC if user timezone is invalid or missing + today = timezone.now().date() # Get filter parameters current_filter = request.GET.get('filter', 'all')