From aef5064738bfd59268a25b1598a6baebbd9b14f3 Mon Sep 17 00:00:00 2001 From: Cliff Hill Date: Thu, 25 Apr 2024 19:58:04 -0400 Subject: [PATCH] Making more things work better for agreement status. Signed-off-by: Cliff Hill --- app/enums.py | 1 + app/models.py | 7 ++++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/app/enums.py b/app/enums.py index 9878ed5f1..43d1cc20c 100644 --- a/app/enums.py +++ b/app/enums.py @@ -206,6 +206,7 @@ class AgreementStatus(StrEnum): WAITING = "waiting" ACTIVE = "active" EXPIRED = "expired" + UNKNOWN = "unknown" class StatisticsType(StrEnum): diff --git a/app/models.py b/app/models.py index d4ba7c7fc..1721425c9 100644 --- a/app/models.py +++ b/app/models.py @@ -2332,8 +2332,8 @@ class Agreement(db.Model): @hybrid_property - def status(self): - current_time = datetime.utcnow() + def status(self) -> AgreementStatus: + current_time = datetime.datetime.now(datetime.UTC) if self.start_time and self.end_time: if current_time < self.start_time: return AgreementStatus.WAITING @@ -2341,7 +2341,8 @@ class Agreement(db.Model): return AgreementStatus.EXPIRED else: return AgreementStatus.ACTIVE - return None + # Likely one or both are None. + return AgreementStatus.UNKNOWN def serialize(self):