diff --git a/server/users/licenses.py b/server/users/licenses.py index 5d42085f..0f3c35af 100644 --- a/server/users/licenses.py +++ b/server/users/licenses.py @@ -10,7 +10,8 @@ MYSKILLBOX_LICENSES = { 'edition': STUDENT_KEY, 'duration': 4 * 365, 'name': 'Student 4 years', - 'platform': MYSKILLBOX_PLATFORM + 'platform': MYSKILLBOX_PLATFORM, + 'default': True }, "978-3-0355-1860-3": { 'edition': STUDENT_KEY, @@ -40,7 +41,8 @@ MYSKILLBOX_LICENSES = { 'edition': STUDENT_KEY, 'duration': 30, 'name': 'Student test 1 month', - 'platform': MYKV_PLATFORM + 'platform': MYKV_PLATFORM, + 'default': True }, '978-3-0355-2188-7': { 'edition': TEACHER_KEY, @@ -56,8 +58,18 @@ def get_license_dict(): k: v for k, v in MYSKILLBOX_LICENSES.items() if v.get('platform') == settings.PLATFORM } + def get_valid_isbns(): return list(get_license_dict().keys()) + def is_myskillbox_product(isbn): return isbn in get_valid_isbns() + + +def get_default_isbn(): + defaults = { + k: v for k, v in get_license_dict().items() if v.get('default', False) + } + default_isbns = list(defaults.keys()) + return default_isbns[0] diff --git a/server/users/models.py b/server/users/models.py index f7056619..7057057f 100644 --- a/server/users/models.py +++ b/server/users/models.py @@ -15,7 +15,7 @@ from django.utils.timezone import is_aware, make_aware from django.utils.translation import ugettext_lazy as _ from core.mixins import GraphqlNodeMixin -from users.licenses import get_license_dict +from users.licenses import get_license_dict, get_default_isbn from users.managers import LicenseManager, RoleManager, UserManager, UserRoleManager DEFAULT_SCHOOL_ID = 1 @@ -311,7 +311,7 @@ class License(models.Model): order_id = models.IntegerField(blank=False, null=False, default=-1) raw = models.TextField(default='') isbn = models.CharField(max_length=50, blank=False, null=False, - default=list(licenses.keys())[0]) # student license + default=get_default_isbn()) # student license created_at = models.DateTimeField(auto_now_add=True) hep_created_at = models.DateTimeField(default=AWARE_NO_DATETIME) new_api_raw = models.TextField(default='')