32 lines
1.1 KiB
Python
32 lines
1.1 KiB
Python
# -*- coding: utf-8 -*-
|
|
#
|
|
# ITerativ GmbH
|
|
# http://www.iterativ.ch/
|
|
#
|
|
# Copyright (c) 2019 ITerativ GmbH. All rights reserved.
|
|
#
|
|
# Created on 2019-10-08
|
|
# @author: chrigu <christian.cueni@iterativ.ch>
|
|
from django.utils.translation import ugettext_lazy as _
|
|
from django.db import models
|
|
|
|
from users.managers import RoleManager
|
|
from users.models import Role, User
|
|
|
|
|
|
class LicenseType(models.Model):
|
|
|
|
name = models.CharField(_('License name'), max_length=255, blank=False, null=False)
|
|
for_role = models.ForeignKey(Role, blank=False, null=False, on_delete=models.CASCADE)
|
|
key = models.CharField(max_length=128, blank=False, null=False)
|
|
active = models.BooleanField(_('License active'), default=False)
|
|
description = models.TextField(_('Description'), default="")
|
|
|
|
def is_teacher_license(self):
|
|
return self.for_role.key == RoleManager.TEACHER_KEY
|
|
|
|
|
|
class License(models.Model):
|
|
license_type = models.ForeignKey(LicenseType, blank=False, null=False, on_delete=models.CASCADE)
|
|
licensee = models.ForeignKey(User, blank=False, null=True, on_delete=models.CASCADE)
|