Skip to content

Commit 991a3d8

Browse files
committed
Make model DateTime fields timezone aware.
Make all Datetime fields in models using `datetime.datetime.now` switch to the timezone-aware `django.utils.timezone.now`. Fields changed include: - reviews.models.Comments.commented_at - reviews.models.LatestVote.submitted_at - reviews.models.ProposalMessage.submitted_at - reviews.models.ResultNotification.timestamp - reviews.models.Review.submitted_at - reviews.models.ReviewAssignemnt.assigned_at - schedule.models.SessionRole.submitted - speakers.models.Speaker.created - sponsorship.models.Sponsor.added - teams.models.Team.created
1 parent 6735bce commit 991a3d8

10 files changed

+145
-17
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
# -*- coding: utf-8 -*-
2+
# Generated by Django 1.9.12 on 2016-12-25 01:46
3+
from __future__ import unicode_literals
4+
5+
from django.db import migrations, models
6+
import django.utils.timezone
7+
8+
9+
class Migration(migrations.Migration):
10+
11+
dependencies = [
12+
('symposion_reviews', '0001_initial'),
13+
]
14+
15+
operations = [
16+
migrations.AlterField(
17+
model_name='comment',
18+
name='commented_at',
19+
field=models.DateTimeField(default=django.utils.timezone.now, verbose_name='Commented at'),
20+
),
21+
migrations.AlterField(
22+
model_name='latestvote',
23+
name='submitted_at',
24+
field=models.DateTimeField(default=django.utils.timezone.now, editable=False, verbose_name='Submitted at'),
25+
),
26+
migrations.AlterField(
27+
model_name='proposalmessage',
28+
name='submitted_at',
29+
field=models.DateTimeField(default=django.utils.timezone.now, editable=False, verbose_name='Submitted at'),
30+
),
31+
migrations.AlterField(
32+
model_name='resultnotification',
33+
name='timestamp',
34+
field=models.DateTimeField(default=django.utils.timezone.now, verbose_name='Timestamp'),
35+
),
36+
migrations.AlterField(
37+
model_name='review',
38+
name='submitted_at',
39+
field=models.DateTimeField(default=django.utils.timezone.now, editable=False, verbose_name='Submitted at'),
40+
),
41+
migrations.AlterField(
42+
model_name='reviewassignment',
43+
name='assigned_at',
44+
field=models.DateTimeField(default=django.utils.timezone.now, verbose_name='Assigned at'),
45+
),
46+
]

symposion/reviews/models.py

+7-7
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
# -*- coding: utf-8 -*-
22
from __future__ import unicode_literals
3-
from datetime import datetime
43
from decimal import Decimal
54

65
from django.db import models
76
from django.db.models import Q, F
87
from django.db.models.signals import post_save
98

109
from django.contrib.auth.models import User
10+
from django.utils import timezone
1111
from django.utils.translation import ugettext_lazy as _
1212

1313
from symposion.markdown_parser import parse
@@ -55,7 +55,7 @@ class ReviewAssignment(models.Model):
5555

5656
origin = models.IntegerField(choices=ORIGIN_CHOICES, verbose_name=_("Origin"))
5757

58-
assigned_at = models.DateTimeField(default=datetime.now, verbose_name=_("Assigned at"))
58+
assigned_at = models.DateTimeField(default=timezone.now, verbose_name=_("Assigned at"))
5959
opted_out = models.BooleanField(default=False, verbose_name=_("Opted out"))
6060

6161
@classmethod
@@ -95,7 +95,7 @@ class ProposalMessage(models.Model):
9595

9696
message = models.TextField(verbose_name=_("Message"))
9797
message_html = models.TextField(blank=True)
98-
submitted_at = models.DateTimeField(default=datetime.now, editable=False, verbose_name=_("Submitted at"))
98+
submitted_at = models.DateTimeField(default=timezone.now, editable=False, verbose_name=_("Submitted at"))
9999

100100
def save(self, *args, **kwargs):
101101
self.message_html = parse(self.message)
@@ -118,7 +118,7 @@ class Review(models.Model):
118118
vote = models.CharField(max_length=2, blank=True, choices=VOTES.CHOICES, verbose_name=_("Vote"))
119119
comment = models.TextField(verbose_name=_("Comment"))
120120
comment_html = models.TextField(blank=True)
121-
submitted_at = models.DateTimeField(default=datetime.now, editable=False, verbose_name=_("Submitted at"))
121+
submitted_at = models.DateTimeField(default=timezone.now, editable=False, verbose_name=_("Submitted at"))
122122

123123
def save(self, **kwargs):
124124
self.comment_html = parse(self.comment)
@@ -201,7 +201,7 @@ class LatestVote(models.Model):
201201
# No way to encode "-0" vs. "+0" into an IntegerField, and I don't feel
202202
# like some complicated encoding system.
203203
vote = models.CharField(max_length=2, choices=VOTES.CHOICES, verbose_name=_("Vote"))
204-
submitted_at = models.DateTimeField(default=datetime.now, editable=False, verbose_name=_("Submitted at"))
204+
submitted_at = models.DateTimeField(default=timezone.now, editable=False, verbose_name=_("Submitted at"))
205205

206206
class Meta:
207207
unique_together = [("proposal", "user")]
@@ -305,7 +305,7 @@ class Comment(models.Model):
305305

306306
# Or perhaps more accurately, can the user see this comment.
307307
public = models.BooleanField(choices=[(True, _("public")), (False, _("private"))], default=False, verbose_name=_("Public"))
308-
commented_at = models.DateTimeField(default=datetime.now, verbose_name=_("Commented at"))
308+
commented_at = models.DateTimeField(default=timezone.now, verbose_name=_("Commented at"))
309309

310310
class Meta:
311311
verbose_name = _("comment")
@@ -333,7 +333,7 @@ class ResultNotification(models.Model):
333333
proposal = models.ForeignKey(ProposalBase, related_name="notifications", verbose_name=_("Proposal"))
334334
template = models.ForeignKey(NotificationTemplate, null=True, blank=True,
335335
on_delete=models.SET_NULL, verbose_name=_("Template"))
336-
timestamp = models.DateTimeField(default=datetime.now, verbose_name=_("Timestamp"))
336+
timestamp = models.DateTimeField(default=timezone.now, verbose_name=_("Timestamp"))
337337
to_address = models.EmailField(verbose_name=_("To address"))
338338
from_address = models.EmailField(verbose_name=_("From address"))
339339
subject = models.CharField(max_length=100, verbose_name=_("Subject"))
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# -*- coding: utf-8 -*-
2+
# Generated by Django 1.9.12 on 2016-12-25 02:02
3+
from __future__ import unicode_literals
4+
5+
from django.db import migrations, models
6+
import django.utils.timezone
7+
8+
9+
class Migration(migrations.Migration):
10+
11+
dependencies = [
12+
('symposion_schedule', '0002_slot_name'),
13+
]
14+
15+
operations = [
16+
migrations.AlterField(
17+
model_name='sessionrole',
18+
name='submitted',
19+
field=models.DateTimeField(default=django.utils.timezone.now),
20+
),
21+
]

symposion/schedule/models.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
from django.core.exceptions import ObjectDoesNotExist
66
from django.contrib.auth.models import User
77
from django.db import models
8+
from django.utils import timezone
89
from django.utils.encoding import python_2_unicode_compatible
910
from django.utils.translation import ugettext_lazy as _
1011

@@ -281,7 +282,7 @@ class SessionRole(models.Model):
281282
role = models.IntegerField(choices=SESSION_ROLE_TYPES, verbose_name=_("Role"))
282283
status = models.NullBooleanField(verbose_name=_("Status"))
283284

284-
submitted = models.DateTimeField(default=datetime.datetime.now)
285+
submitted = models.DateTimeField(default=timezone.now)
285286

286287
class Meta:
287288
unique_together = [("session", "user", "role")]
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# -*- coding: utf-8 -*-
2+
# Generated by Django 1.9.12 on 2016-12-24 23:19
3+
from __future__ import unicode_literals
4+
5+
from django.db import migrations, models
6+
import django.utils.timezone
7+
8+
9+
class Migration(migrations.Migration):
10+
11+
dependencies = [
12+
('symposion_speakers', '0002_speaker_twitter_username'),
13+
]
14+
15+
operations = [
16+
migrations.AlterField(
17+
model_name='speaker',
18+
name='created',
19+
field=models.DateTimeField(default=django.utils.timezone.now, editable=False, verbose_name='Created'),
20+
),
21+
]

symposion/speakers/models.py

+2-3
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
from __future__ import unicode_literals
22

3-
import datetime
4-
53
from django.core.urlresolvers import reverse
64
from django.db import models
5+
from django.utils import timezone
76
from django.utils.encoding import python_2_unicode_compatible
87
from django.utils.translation import ugettext_lazy as _
98

@@ -39,7 +38,7 @@ class Speaker(models.Model):
3938
invite_email = models.CharField(max_length=200, unique=True, null=True, db_index=True, verbose_name=_("Invite_email"))
4039
invite_token = models.CharField(max_length=40, db_index=True, verbose_name=_("Invite token"))
4140
created = models.DateTimeField(
42-
default=datetime.datetime.now,
41+
default=timezone.now,
4342
editable=False,
4443
verbose_name=_("Created")
4544
)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# -*- coding: utf-8 -*-
2+
# Generated by Django 1.9.12 on 2016-12-25 00:53
3+
from __future__ import unicode_literals
4+
5+
from django.db import migrations, models
6+
import django.utils.timezone
7+
8+
9+
class Migration(migrations.Migration):
10+
11+
dependencies = [
12+
('symposion_sponsorship', '0002_auto_20160517_1726'),
13+
]
14+
15+
operations = [
16+
migrations.AlterField(
17+
model_name='sponsor',
18+
name='added',
19+
field=models.DateTimeField(default=django.utils.timezone.now, verbose_name='added'),
20+
),
21+
]

symposion/sponsorship/models.py

+2-3
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
11
from __future__ import unicode_literals
22

3-
import datetime
4-
53
from django.conf import settings
64
from django.core.exceptions import ValidationError
75
from django.core.urlresolvers import reverse
86
from django.db import models
97
from django.db.models.signals import post_init, post_save
8+
from django.utils import timezone
109
from django.utils.encoding import python_2_unicode_compatible
1110
from django.utils.translation import ugettext_lazy as _
1211

@@ -79,7 +78,7 @@ class Sponsor(models.Model):
7978
contact_name = models.CharField(_("Contact Name"), max_length=100)
8079
contact_email = models.EmailField(_("Contact Email"))
8180
level = models.ForeignKey(SponsorLevel, verbose_name=_("level"))
82-
added = models.DateTimeField(_("added"), default=datetime.datetime.now)
81+
added = models.DateTimeField(_("added"), default=timezone.now)
8382
active = models.BooleanField(_("active"), default=False)
8483

8584
# Denormalization (this assumes only one logo)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# -*- coding: utf-8 -*-
2+
# Generated by Django 1.9.12 on 2016-12-25 01:54
3+
from __future__ import unicode_literals
4+
5+
from django.db import migrations, models
6+
import django.utils.timezone
7+
8+
9+
class Migration(migrations.Migration):
10+
11+
dependencies = [
12+
('teams', '0001_initial'),
13+
]
14+
15+
operations = [
16+
migrations.AlterField(
17+
model_name='team',
18+
name='created',
19+
field=models.DateTimeField(default=django.utils.timezone.now, editable=False, verbose_name='Created'),
20+
),
21+
]

symposion/teams/models.py

+2-3
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
from __future__ import unicode_literals
22

3-
import datetime
4-
53
from django.db import models
4+
from django.utils import timezone
65
from django.utils.encoding import python_2_unicode_compatible
76
from django.utils.translation import ugettext_lazy as _
87

@@ -37,7 +36,7 @@ class Team(models.Model):
3736
related_name="manager_teams",
3837
verbose_name=_("Manager permissions"))
3938

40-
created = models.DateTimeField(default=datetime.datetime.now,
39+
created = models.DateTimeField(default=timezone.now,
4140
editable=False, verbose_name=_("Created"))
4241

4342
@models.permalink

0 commit comments

Comments
 (0)