From 28cdc3f4f8e955933a10048d6f84baa2ce5358dd Mon Sep 17 00:00:00 2001 From: Christian Cueni Date: Thu, 9 Sep 2021 13:51:05 +0200 Subject: [PATCH] Add created_field to license --- .../migrations/0028_license_created_at.py | 25 +++++++++++++++++++ server/users/models.py | 6 +++-- 2 files changed, 29 insertions(+), 2 deletions(-) create mode 100644 server/users/migrations/0028_license_created_at.py diff --git a/server/users/migrations/0028_license_created_at.py b/server/users/migrations/0028_license_created_at.py new file mode 100644 index 00000000..41e2bb22 --- /dev/null +++ b/server/users/migrations/0028_license_created_at.py @@ -0,0 +1,25 @@ +# Generated by Django 2.2.24 on 2021-09-09 11:39 + +from datetime import datetime +from django.db import migrations, models +from django.utils.timezone import make_aware + +from users.models import NO_DATE + +MIN_DATE = datetime.combine(NO_DATE, datetime.min.time()) + + +class Migration(migrations.Migration): + + dependencies = [ + ('users', '0027_auto_20210414_2116'), + ] + + operations = [ + migrations.AddField( + model_name='license', + name='created_at', + field=models.DateTimeField(auto_now_add=True, default=make_aware(MIN_DATE)), + preserve_default=False, + ), + ] diff --git a/server/users/models.py b/server/users/models.py index 849d232d..8475a501 100644 --- a/server/users/models.py +++ b/server/users/models.py @@ -2,7 +2,7 @@ import json import random import re import string -from datetime import date, datetime, timedelta +from datetime import date, datetime, timedelta, MINYEAR from typing import Union from django.contrib.auth import get_user_model @@ -18,6 +18,7 @@ from users.licenses import MYSKILLBOX_LICENSES from users.managers import LicenseManager, RoleManager, UserManager, UserRoleManager DEFAULT_SCHOOL_ID = 1 +NO_DATE = date(MINYEAR, 1, 1) # date to tag licenses without tag class User(AbstractUser): @@ -306,10 +307,11 @@ class License(models.Model): raw = models.TextField(default='') isbn = models.CharField(max_length=50, blank=False, null=False, default=list(MYSKILLBOX_LICENSES.keys())[0]) # student license + created_at = models.DateTimeField(auto_now_add=True) objects = LicenseManager() - NO_DATE = date(2011, 10, 7) # used to tag licenses without start date + NO_DATE = NO_DATE def is_teacher_license(self): return self.for_role.key == RoleManager.TEACHER_KEY