diff options
Diffstat (limited to 'core/utils.py')
-rw-r--r-- | core/utils.py | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/core/utils.py b/core/utils.py index daf48b3..fd85af6 100644 --- a/core/utils.py +++ b/core/utils.py @@ -6,11 +6,14 @@ import random import resource import string import subprocess +from datetime import datetime, timezone from decimal import getcontext from pathlib import Path +from django.contrib.auth.models import User + from troggle.core.models.troggle import Expedition getcontext().prec = 2 # use 2 significant figures for decimal calculations @@ -89,9 +92,18 @@ def alphabet_suffix(n): def current_expo(): expos = Expedition.objects.all().order_by('-year') if expos: - return expos[0].year + year = str(datetime.now(timezone.utc).year) + last_expo = expos[0].year + if last_expo != year: # create the expo object for the coming year, after Dec.31st + coUniqueAttribs = {"year": year} + otherAttribs = {"name": f"CUCC expo {year}"} + e = Expedition.objects.create(**otherAttribs, **coUniqueAttribs) + u = User.objects.get(username='expo') + u.current_year = year + u.save() + return year else: - return settings.EPOCH.year + return settings.EPOCH.year # this is 1970 def only_commit(fname, message): """Only used to commit a survex file edited and saved in view/survex.py""" |