diff --git a/aleksis/core/models.py b/aleksis/core/models.py index e6fc68a11718dadb4032460d7eff635d2442189c..0d991a621f3653bdf5b5c36d613b42d451fb701a 100644 --- a/aleksis/core/models.py +++ b/aleksis/core/models.py @@ -1,4 +1,4 @@ -from datetime import date, datetime, timedelta +from datetime import date, datetime from typing import Optional, Iterable, Union, Sequence, List from django.contrib.auth import get_user_model @@ -15,6 +15,7 @@ from phonenumber_field.modelfields import PhoneNumberField from polymorphic.models import PolymorphicModel from .mixins import ExtensibleModel +from .util.core_helpers import now_tomorrow from .util.notifications import send_notification from constance import config @@ -286,7 +287,7 @@ class Announcement(ExtensibleModel): ) valid_until = models.DateTimeField( verbose_name=_("Date and time until when to show"), - default=lambda: timezone.datetime.now() + timedelta(days=1), + default=now_tomorrow, ) content_type = models.ForeignKey(ContentType, on_delete=models.CASCADE) diff --git a/aleksis/core/util/core_helpers.py b/aleksis/core/util/core_helpers.py index f273016659cf08bf7d4e924296d2950dc9e20694..9d019103d2e4b45558a5119c05b26a618d24be87 100644 --- a/aleksis/core/util/core_helpers.py +++ b/aleksis/core/util/core_helpers.py @@ -1,3 +1,4 @@ +from datetime import datetime, timedelta import os import pkgutil from importlib import import_module @@ -7,6 +8,7 @@ from uuid import uuid4 from django.conf import settings from django.db.models import Model from django.http import HttpRequest +from django.utils import timezone from django.utils.functional import lazy @@ -148,3 +150,8 @@ def school_information_processor(request: HttpRequest) -> dict: return { "SCHOOL": School.get_default, } + + +def now_tomorrow() -> datetime: + """ Return current time tomorrow """ + return timezone.datetime.now() + timedelta(days=1)