# -*- coding: utf-8 -*- # # ITerativ GmbH # http://www.iterativ.ch/ # # Copyright (c) 2019 ITerativ GmbH. All rights reserved. # # Created on 2019-10-08 # @author: chrigu from datetime import datetime from django.db import models from core.hep_client import HepClient from registration.managers import LicenseManager from users.managers import RoleManager from users.models import Role, User class License(models.Model): for_role = models.ForeignKey(Role, blank=False, null=True, on_delete=models.CASCADE) licensee = models.ForeignKey(User, blank=False, null=True, on_delete=models.CASCADE) expire_date = models.DateField(blank=False, null=True,) raw = models.TextField(default="") objects = LicenseManager() def is_teacher_license(self): return self.for_role.key == RoleManager.TEACHER_KEY def is_valid(self): return HepClient.is_product_active(datetime(self.expire_date.year, self.expire_date.month, self.expire_date.day), self.for_role.key) def __str__(self): return 'License for role: %s' % self.for_role