Add method for default isbn

This commit is contained in:
Ramon Wenger 2022-05-17 13:56:04 +02:00
parent 5c944c09db
commit 3caa3638fc
2 changed files with 16 additions and 4 deletions

View File

@ -10,7 +10,8 @@ MYSKILLBOX_LICENSES = {
'edition': STUDENT_KEY, 'edition': STUDENT_KEY,
'duration': 4 * 365, 'duration': 4 * 365,
'name': 'Student 4 years', 'name': 'Student 4 years',
'platform': MYSKILLBOX_PLATFORM 'platform': MYSKILLBOX_PLATFORM,
'default': True
}, },
"978-3-0355-1860-3": { "978-3-0355-1860-3": {
'edition': STUDENT_KEY, 'edition': STUDENT_KEY,
@ -40,7 +41,8 @@ MYSKILLBOX_LICENSES = {
'edition': STUDENT_KEY, 'edition': STUDENT_KEY,
'duration': 30, 'duration': 30,
'name': 'Student test 1 month', 'name': 'Student test 1 month',
'platform': MYKV_PLATFORM 'platform': MYKV_PLATFORM,
'default': True
}, },
'978-3-0355-2188-7': { '978-3-0355-2188-7': {
'edition': TEACHER_KEY, '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 k: v for k, v in MYSKILLBOX_LICENSES.items() if v.get('platform') == settings.PLATFORM
} }
def get_valid_isbns(): def get_valid_isbns():
return list(get_license_dict().keys()) return list(get_license_dict().keys())
def is_myskillbox_product(isbn): def is_myskillbox_product(isbn):
return isbn in get_valid_isbns() 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]

View File

@ -15,7 +15,7 @@ from django.utils.timezone import is_aware, make_aware
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext_lazy as _
from core.mixins import GraphqlNodeMixin 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 from users.managers import LicenseManager, RoleManager, UserManager, UserRoleManager
DEFAULT_SCHOOL_ID = 1 DEFAULT_SCHOOL_ID = 1
@ -311,7 +311,7 @@ class License(models.Model):
order_id = models.IntegerField(blank=False, null=False, default=-1) order_id = models.IntegerField(blank=False, null=False, default=-1)
raw = models.TextField(default='') raw = models.TextField(default='')
isbn = models.CharField(max_length=50, blank=False, null=False, 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) created_at = models.DateTimeField(auto_now_add=True)
hep_created_at = models.DateTimeField(default=AWARE_NO_DATETIME) hep_created_at = models.DateTimeField(default=AWARE_NO_DATETIME)
new_api_raw = models.TextField(default='') new_api_raw = models.TextField(default='')