#from django.db import models
from djongo import models
from django_enumfield import enum
from django.utils import timezone


class GroupType(enum.Enum):
    PHD = 1
    MTECH = 2

    __labels__ = {
        PHD: "PhD",
        MTECH: "MTech/M.Sc",
    }

    __default__ = PHD

class ProcessType(enum.Enum):
    AWARDED = 1
    INPROGRESS = 2
    SUBMITTED = 3

    __labels__ = {
        AWARDED: "Awarded",
        INPROGRESS: "In-Progress",
        SUBMITTED : "Submitted"
    }

    __default__ = AWARDED

class ResearchSupervision(models.Model):
    _id = models.ObjectIdField()
    group_type = enum.EnumField(GroupType, default=GroupType.PHD)
    process_type = enum.EnumField(ProcessType, default=ProcessType.AWARDED)

    name = models.CharField(max_length=255)
    title = models.CharField(max_length=255)
    co_supervisor = models.CharField(max_length=255, blank=True, default='')

    year_start = models.IntegerField(blank=True, null=True, default=0)
    year_end = models.IntegerField(blank=True, null=True, default=0)

    date_created = models.DateTimeField(auto_now_add=True, blank=True)
    date_updated = models.DateTimeField(auto_now=True, blank=True)

    
    def __str__(self):
        return self.name

    def is_in_progress(self):
        return timezone.now().year < self.year_end