From 7167f6939e85bee01d6ab5d652eb5e88a5bba9a6 Mon Sep 17 00:00:00 2001
From: Jorran de Wit <jorrandewit@outlook.com>
Date: Sat, 2 Dec 2017 11:04:16 +0100
Subject: [PATCH] Today variable outside methods because of server caching

---
 affiliations/managers.py  | 6 +++---
 colleges/managers.py      | 5 ++---
 colleges/views.py         | 1 -
 finances/forms.py         | 5 ++---
 partners/managers.py      | 2 --
 partners/models.py        | 3 ++-
 proceedings/managers.py   | 6 +++---
 proceedings/models.py     | 6 +++---
 scipost/models.py         | 3 ++-
 submissions/managers.py   | 6 ++++--
 virtualmeetings/models.py | 1 -
 11 files changed, 21 insertions(+), 23 deletions(-)

diff --git a/affiliations/managers.py b/affiliations/managers.py
index 1cc7840ae..13b4fc254 100644
--- a/affiliations/managers.py
+++ b/affiliations/managers.py
@@ -1,12 +1,12 @@
-import datetime
-
 from django.db import models
 from django.db.models import Q
+from django.utils import timezone
+
+today = timezone.now().date()
 
 
 class AffiliationQuerySet(models.QuerySet):
     def active(self):
-        today = datetime.date.today()
         return self.filter(
             Q(begin_date__lte=today, end_date__isnull=True) |
             Q(begin_date__isnull=True, end_date__gte=today) |
diff --git a/colleges/managers.py b/colleges/managers.py
index 39517c05c..428eb4761 100644
--- a/colleges/managers.py
+++ b/colleges/managers.py
@@ -1,9 +1,8 @@
-import datetime
-
 from django.db import models
 from django.db.models import Q
+from django.utils import timezone
 
-today = datetime.date.today()
+today = timezone.now().date()
 
 
 class FellowQuerySet(models.QuerySet):
diff --git a/colleges/views.py b/colleges/views.py
index 56920ea4d..65d9da618 100644
--- a/colleges/views.py
+++ b/colleges/views.py
@@ -3,7 +3,6 @@ from django.contrib.auth.decorators import login_required, permission_required
 from django.shortcuts import get_object_or_404, render, redirect
 from django.core.urlresolvers import reverse
 
-# from proceedings.models import Proceedings
 from submissions.models import Submission
 
 from .forms import FellowshipForm, FellowshipTerminateForm, FellowshipRemoveSubmissionForm,\
diff --git a/finances/forms.py b/finances/forms.py
index 36f290712..e22deb07c 100644
--- a/finances/forms.py
+++ b/finances/forms.py
@@ -1,13 +1,12 @@
-import datetime
-
 from django import forms
 from django.contrib.auth import get_user_model
 from django.utils.dates import MONTHS
 from django.db.models import Sum
+from django.utils import timezone
 
 from .models import WorkLog
 
-today = datetime.datetime.today()
+today = timezone.now().date()
 
 
 class WorkLogForm(forms.ModelForm):
diff --git a/partners/managers.py b/partners/managers.py
index d542b1385..f73ee7e89 100644
--- a/partners/managers.py
+++ b/partners/managers.py
@@ -34,8 +34,6 @@ class MembershipAgreementManager(models.Manager):
     def now_active(self):
         return self.filter(start_date__lte=timezone.now().date(),
                            end_date__gte=timezone.now().date())
-        # start_date = models.DateField()
-        # duration = models.DurationField(choices=MEMBERSHIP_DURATION)
 
 
 class PartnersAttachmentManager(models.Manager):
diff --git a/partners/models.py b/partners/models.py
index 17b28e604..a50861dc2 100644
--- a/partners/models.py
+++ b/partners/models.py
@@ -32,6 +32,7 @@ from scipost.fields import ChoiceArrayField
 from scipost.models import get_sentinel_user, Contributor
 from scipost.storage import SecureFileStorage
 
+now = timezone.now()
 
 
 ########################
@@ -174,7 +175,7 @@ class Contact(models.Model):
         feed = feed.encode('utf8')
         salt = self.user.username.encode('utf8')
         self.activation_key = hashlib.sha1(salt+salt).hexdigest()
-        self.key_expires = datetime.datetime.now() + datetime.timedelta(days=2)
+        self.key_expires = now + datetime.timedelta(days=2)
 
     def save(self, *args, **kwargs):
         if not self.activation_key:
diff --git a/proceedings/managers.py b/proceedings/managers.py
index d16a9b116..e6658b7a6 100644
--- a/proceedings/managers.py
+++ b/proceedings/managers.py
@@ -1,9 +1,9 @@
-import datetime
-
 from django.db import models
+from django.utils import timezone
+
+today = timezone.now().date()
 
 
 class ProceedingsQuerySet(models.QuerySet):
     def open_for_submission(self):
-        today = datetime.date.today()
         return self.filter(submissions_open__lte=today, submissions_close__gte=today)
diff --git a/proceedings/models.py b/proceedings/models.py
index e651b807b..c0a55c682 100644
--- a/proceedings/models.py
+++ b/proceedings/models.py
@@ -1,12 +1,13 @@
-import datetime
-
 from django.core.urlresolvers import reverse
 from django.db import models
+from django.utils import timezone
 
 from scipost.behaviors import TimeStampedModel
 
 from .managers import ProceedingsQuerySet
 
+today = timezone.now().date()
+
 
 class Proceedings(TimeStampedModel):
     """
@@ -52,5 +53,4 @@ class Proceedings(TimeStampedModel):
 
     @property
     def open_for_submission(self):
-        today = datetime.date.today()
         return self.submissions_open <= today and self.submissions_close >= today
diff --git a/scipost/models.py b/scipost/models.py
index c289ded4c..dee115e5c 100644
--- a/scipost/models.py
+++ b/scipost/models.py
@@ -19,6 +19,8 @@ from .fields import ChoiceArrayField
 from .managers import FellowManager, ContributorManager, RegistrationInvitationManager,\
                       UnavailabilityPeriodManager, AuthorshipClaimQuerySet
 
+today = timezone.now().date()
+
 
 def get_sentinel_user():
     '''
@@ -330,7 +332,6 @@ class EditorialCollegeFellowship(TimeStampedModel):
         return self.contributor.__str__()
 
     def is_active(self):
-        today = datetime.date.today()
         if not self.start_date:
             if not self.until_date:
                 return True
diff --git a/submissions/managers.py b/submissions/managers.py
index c992faacf..021daa46a 100644
--- a/submissions/managers.py
+++ b/submissions/managers.py
@@ -16,6 +16,8 @@ from .constants import SUBMISSION_STATUS_OUT_OF_POOL, SUBMISSION_STATUS_PUBLICLY
                        STATUS_PUT_TO_EC_VOTING, STATUS_VOTING_IN_PREPARATION,\
                        SUBMISSION_STATUS_VOTING_DEPRECATED, STATUS_REVISION_REQUESTED
 
+now = timezone.now()
+
 
 class SubmissionQuerySet(models.QuerySet):
     def _newest_version_only(self, queryset):
@@ -335,7 +337,7 @@ class RefereeInvitationQuerySet(models.QuerySet):
 
     def approaching_deadline(self):
         qs = self.in_process()
-        psuedo_deadline = datetime.datetime.now() + datetime.timedelta(days=2)
+        psuedo_deadline = now + datetime.timedelta(days=2)
         deadline = datetime.datetime.now()
         qs = qs.filter(submission__reporting_deadline__lte=psuedo_deadline,
                        submission__reporting_deadline__gte=deadline)
@@ -343,6 +345,6 @@ class RefereeInvitationQuerySet(models.QuerySet):
 
     def overdue(self):
         qs = self.in_process()
-        deadline = datetime.datetime.now()
+        deadline = now
         qs = qs.filter(submission__reporting_deadline__lte=deadline)
         return qs
diff --git a/virtualmeetings/models.py b/virtualmeetings/models.py
index 8a511de9d..5d50f9d1c 100644
--- a/virtualmeetings/models.py
+++ b/virtualmeetings/models.py
@@ -1,7 +1,6 @@
 from django.core.urlresolvers import reverse
 from django.db import models
 from django.shortcuts import get_object_or_404
-from django.template import Context, Template
 from django.utils import timezone
 
 from .constants import MOTION_CATEGORIES
-- 
GitLab