Skip to content
Snippets Groups Projects
models.py 1.61 KiB
Newer Older
  • Learn to ignore specific revisions
  • from django.db import models
    from django.contrib.auth.models import User
    
    from solo.models import SingletonModel
    
    Bodor Máté's avatar
    Bodor Máté committed
    
    
    Bodor Máté's avatar
    Bodor Máté committed
    class GroupChoice(models.Model):
    
            ('DT', 'DevTeam'),
            ('NET', 'NeTeam'),
            ('ST', 'SecurITeam'),
            ('SYS', 'SysAdmin'),
            ('HAT', 'Hallgatói Tudásbázis'),
            ('N', 'None'),
    
        choice = models.CharField(max_length=10, choices=TEAMS, default='N', unique=True)
    
    
        def __str__(self):
            return self.choice
    
    
    
    class Profile(models.Model):
    
    Bodor Máté's avatar
    Bodor Máté committed
        ROLES = (
            ('Staff', 'Staff'),
            ('Applicant', 'Applicant'),
            ('Student', 'Student'),
        )
    
        join_date = models.DateTimeField(auto_now_add=True, editable=False)
        updated_at = models.DateTimeField(auto_now=True, editable=False)
    
        user = models.OneToOneField(
            User,
            related_name='profile',
            on_delete=models.CASCADE,
        )
    
        # TODO: Change the default to json render side
    
        motivation_about = models.TextField(blank=True, default='')
        motivation_profession = models.TextField(blank=True, default='')
        motivation_exercise = models.TextField(blank=True, default='')
    
        nick = models.CharField(max_length=15, blank=True, default='')
    
        signed = models.BooleanField(default=False, null=False)
    
    Bodor Máté's avatar
    Bodor Máté committed
        groups = models.ManyToManyField(GroupChoice, related_name='profiles', blank=True)
        role = models.CharField(max_length=10, choices=ROLES, default='Applicant')
    
    
        @property
        def full_name(self):
            return self.user.get_full_name()
    
            return self.full_name
    
    
    
    class Deadline(SingletonModel):
    
        deadline = models.DateTimeField(null=True)