Beispiel #1
0
class Stats(models.Model):
    goals = models.PositiveSmallIntegerField(verbose_name='Goals', default=0)
    wins = models.PositiveSmallIntegerField(verbose_name='Wins', default=0)
    loses = models.PositiveSmallIntegerField(verbose_name='Loses', default=0)
    draws = models.PositiveSmallIntegerField(verbose_name='Draws', default=0)

    class Meta:
        abstract = True
Beispiel #2
0
class Classes(models.Model):
    class_id = models.UUIDField(primary_key=True,
                                blank=False,
                                default=uuid.uuid4,
                                editable=False)
    credit = models.IntegerField(blank=False, verbose_name='credit')
    section_id = models.PositiveSmallIntegerField(
        verbose_name="class section ID", blank=False)
    start_time = models.TimeField(auto_now=False,
                                  blank=False,
                                  verbose_name="class start time")
    end_time = models.TimeField(auto_now=False,
                                blank=False,
                                verbose_name="class end time")
    course_part = models.ForeignKey(to='Courses',
                                    on_delete=models.CASCADE,
                                    verbose_name='Course part')
    grade_scale = models.ForeignKey(to='GpaScale',
                                    on_delete=models.CASCADE,
                                    verbose_name='Grade Scale',
                                    blank=False)
    weights = models.ForeignKey(to='Weights',
                                on_delete=models.CASCADE,
                                verbose_name='Grade weights',
                                blank=False)
    students = models.ArrayReferenceField(to=Student, on_delete=models.CASCADE)
    teachers = models.ArrayReferenceField(to=Teacher, on_delete=models.CASCADE)

    def __str__(self):
        return str(self.course_part) + '_' + str(self.section_id)
Beispiel #3
0
class GenericModel(models.Model):
    big_int = models.BigIntegerField()
    bool = models.BooleanField()
    char = models.CharField(max_length=20)
    comma_int = models.CommaSeparatedIntegerField()
    date = models.DateField()
    date_time = models.DateTimeField()
    decimal = models.DecimalField(max_digits=10, decimal_places=5)
    email = models.EmailField()
    float = models.FloatField()
    integer = models.IntegerField()
    null_bool = models.NullBooleanField()
    pos_int = models.PositiveIntegerField()
    pos_small_int = models.PositiveSmallIntegerField()
    slug = models.SlugField()
    small_int = models.SmallIntegerField()
    text = models.TextField()
    time = models.TimeField()
    url = models.URLField()
    ip = models.GenericIPAddressField()
    uuid = models.UUIDField()

    # TODO: add these
    # basic_file = models.FileField()
    # image = models.ImageField()

    objects = models.DjongoManager()
Beispiel #4
0
class ComponentAlternate(models.Model):
    part = models.CharField(max_length=1)
    dmg = models.PositiveSmallIntegerField()
    full_name = models.CharField(max_length=200)
    svg_path = models.CharField(max_length=400)
    parent_component = models.ForeignKey(LibraryComponent,
                                         on_delete=models.CASCADE,
                                         null=False,
                                         related_name='alternate_component')

    # For Django Admin Panel
    def image_tag(self):
        if self.svg_path:
            return mark_safe(
                '<img src="/%s" style="width: 45px; height:45px;" />' %
                self.svg_path)  # noqa
        else:
            return 'No Image Found'

    image_tag.short_description = 'Image'

    def __str__(self):
        return self.full_name

    def delete(self, *args, **kwargs):
        try:
            os.remove(self.svg_path)
        except Exception:
            pass
        super(ComponentAlternate, self).delete(*args, **kwargs)
Beispiel #5
0
class Patient(models.Model):
    alphanumeric = RegexValidator(r'^[0-9a-zA-Z]*$',
                                  'Only alphanumeric characters are allowed.')

    name = models.CharField(max_length=100,
                            blank=False,
                            help_text="Name and last name of the patient.",
                            verbose_name="Name and Last name")

    age = models.PositiveSmallIntegerField(
        blank=False,
        help_text="specify the patient\'s age.",
        verbose_name='Age',
        validators=[MaxValueValidator(150)])
    # it should be unique. The index is create in the BD directly and not with the model
    custom_id = models.CharField(
        max_length=20,
        blank=False,
        help_text="Later he/she will use it to access his/her historical data "
        "(e.g. ID Card number or Passport number)",
        verbose_name='ID',
        validators=[alphanumeric])

    status = models.CharField(max_length=10, default='active')

    def __str__(self):
        return self.name
Beispiel #6
0
class Entrada(models.Model):
    SETOR_TYPE_CHOICES = (
        (1, 'setor A Funcionarios'),
        (2, 'setor B Geral'),
        (3, 'setor C Geral'),
        (4, 'setor D Geral'),
    )

    setor_type = models.PositiveSmallIntegerField(choices=SETOR_TYPE_CHOICES)
    placa = models.CharField(max_length=7, null=False, unique=True)
    date_joined = models.DateTimeField('Data de entrada', auto_now_add=True)
Beispiel #7
0
class Evento(models.Model):
    SETOR_TYPE_CHOICES = (
        (1, 'Setor A Funcionarios'),
        (2, 'Setor B Geral'),
        (3, 'Setor C Geral'),
        (4, 'Setor D Geral'),
    )
    evento = models.CharField(max_length=50, null=False, unique=True)
    data = models.DateTimeField()
    setor_type = models.PositiveSmallIntegerField('Setor',
                                                  choices=SETOR_TYPE_CHOICES)
    descrição = models.TextField()
Beispiel #8
0
class Ocorrencia(models.Model):
    SETOR_TYPE_CHOICES = (
        (1, 'Setor A Funcionarios'),
        (2, 'Setor B Geral'),
        (3, 'Setor C Geral'),
        (4, 'Setor D Geral'),
    )
    OCCURRENCE_TYPE_CHOICES = (
        (1, 'Assalto / Furto'),
        (2, 'Batida / Sinistro'),
        (3, 'Estacionamento Indevido'),
        (4, 'Inundação'),
        (5, 'Dano ao Veiculo'),
    )

    placa = models.CharField(max_length=7, null=False, unique=True)
    setor_type = models.PositiveSmallIntegerField('Setor',
                                                  choices=SETOR_TYPE_CHOICES,
                                                  null=True)
    occurrence_type = models.PositiveSmallIntegerField(
        'Motivo da Ocorrencia', choices=OCCURRENCE_TYPE_CHOICES)
    obs = models.TextField('Obersavões')
    date_joined = models.DateTimeField('Data de entrada', auto_now_add=True)
Beispiel #9
0
class Vagas(models.Model):
    SETOR_TYPE_CHOICES = (
        (1, 'Setor A Funcionarios'),
        (2, 'Setor B Geral'),
        (3, 'Setor C Geral'),
        (4, 'Setor D Geral'),
    )

    vagas_normais = models.IntegerField(null=False)
    vagas_especiais = models.IntegerField(null=False)
    vagas_especiais_ocupadas = models.IntegerField(null=False)
    vagas_normais_ocupadas = models.IntegerField(null=False)
    setor_type = models.PositiveSmallIntegerField('Setor',
                                                  choices=SETOR_TYPE_CHOICES)
Beispiel #10
0
class Record(models.Model):
    id_responsible = models.CharField(default='', max_length=50, blank=False)

    id_patient = models.CharField(default='', max_length=50, blank=False)

    bp_systolic = models.PositiveSmallIntegerField(
        blank=False,
        help_text="Systolic blood pressure. (upper #) - Normal: < 120",
        validators=[MaxValueValidator(300)])

    bp_diastolic = models.PositiveSmallIntegerField(
        blank=False,
        help_text="Diastolic blood pressure. (lower #) - Normal: < 80",
        validators=[MaxValueValidator(300)])

    heart_rate = models.PositiveSmallIntegerField(
        blank=False,
        help_text="Beats per minutes. (bpm) - Normal: 60 to 100 bmp at rest",
        validators=[MaxValueValidator(300)])

    ts = models.DateTimeField(auto_now_add=True, blank=False)

    def __str__(self):
        return self.ts, self.id_patient
Beispiel #11
0
class Courses(models.Model):
    course_id = models.UUIDField(primary_key=True,
                                 blank=False,
                                 default=uuid.uuid4,
                                 editable=False)
    course_code = models.PositiveSmallIntegerField(unique=True)
    name = models.CharField(blank=False,
                            max_length=200,
                            verbose_name="course name")
    start_date = models.DateTimeField(auto_now=False,
                                      verbose_name="start date")
    end_date = models.DateTimeField(auto_now=False, verbose_name="end date")

    def __str__(self):
        return self.name
Beispiel #12
0
class Product(models.Model):
    image = models.ImageField(
        null='true',
        blank='true',
    )
    designer = models.CharField(max_length=100, null='true', blank='true')
    name = models.CharField(max_length=100, null='true', blank='true')
    price = models.PositiveSmallIntegerField(default=0)
    # colors
    BLUE = 'u'
    RED = 'r'
    YELLOW = 'y'
    PURPLE = 'p'
    ORANGE = 'o'
    GREEN = 'g'
    BROWN = 'n'
    WHITE = 'w'
    BLACK = 'b'
    SILVER = 's'
    COLOR_CHOICES = [
        (BLUE, 'Blue'),
        (RED, 'Red'),
        (YELLOW, 'Yellow'),
        (PURPLE, 'Purple'),
        (ORANGE, 'Orange'),
        (GREEN, 'Green'),
        (BROWN, 'Brown'),
        (WHITE, 'White'),
        (BLACK, 'Black'),
        (SILVER, 'Silver'),
    ]
    color = models.CharField(
        max_length=20,
        choices=COLOR_CHOICES,
        default=BLACK,
    )
    score = models.FloatField(
        null='true',
        blank='true',
    )

    # time/date
    # need some way of ordering
    # probably a post-330 todo

    def __str__(self):
        return self.name
class Game(models.Model):
    _id = models.ObjectIdField()
    genre = models.ForeignKey('api.Genre', on_delete=models.CASCADE)
    round_time = models.SmallIntegerField(default=10,
                                          validators=min_max_validator(10, 60),
                                          help_text='seconds')
    rounds = models.SmallIntegerField(default=1,
                                      validators=min_max_validator(-1, 5))
    num_players = models.PositiveSmallIntegerField(
        validators=min_max_validator(3, 8))
    status = models.CharField(max_length=3, choices=game_status, default='GAP')
    created_at = models.DateTimeField(default=timezone.now, editable=False)
    updated_at = AutoDateTimeField(auto_now=True)
    objects = models.DjongoManager()

    def __str__(self):
        return 'Game {0}'.format(self._id)
Beispiel #14
0
class MsMs(models.Model):
    collection_date = models.DateField('Collection date')
    collision_energy_level = models.TextField('Collision energy level', max_length=20)
    collision_energy_voltage = models.PositiveSmallIntegerField('Collision energy voltage')
    created_at = models.DateTimeField('Created at')
    database_id = models.TextField('Database id', max_length=20)

    # Energy field is null everywhere
    energy_field = models.TextField('Energy field', max_length=20, blank=True)
    id = models.PositiveIntegerField('Spectrum id')
    instrument_type = models.TextField('Instrument type', max_length=50)
    ionization_mode = models.TextField('Ionization mode', max_length=10)

    # Mono mass is null everywhere
    mono_mass = models.FloatField('Mono mass')

    ms_ms_peaks = models.EmbeddedField(
        model_container=MsMsPeakArray, blank=True
    )

    notes = models.TextField('Notes', max_length=1000)
    peak_counter = models.PositiveIntegerField('Peak count')
    predicted = models.BooleanField('Is predicted?', default=False)

    references = models.EmbeddedField(
        model_container=ReferenceArray, blank=True
    )

    sample_assessment = models.TextField('Sample assessment', max_length=20)
    sample_concentration = models.FloatField('Sample concentration')
    sample_concentration_units = models.TextField('Sample concentration units', max_length=10)
    sample_mass = models.FloatField('Sample mass')
    sample_mass_units = models.TextField('Sample mass units', max_length=10)

    # Sample source is null everywhere
    sample_source = models.TextField('Sample source', max_length=50)

    # Solvent is null everywhere
    solvent = models.TextField('Solvent', max_length=50)
    spectra_assessment = models.TextField('Spectra assessment', max_length=50)
    splash_key = models.TextField('Splash key', max_length=100)
    structure_id = models.PositiveIntegerField('Structure id')
    updated_at = models.DateTimeField('Updated at')

    class Meta:
        abstract = True
Beispiel #15
0
class Competitor(models.Model):
    team = models.ForeignKey(
        to=Team,
        on_delete=models.CASCADE,
    )
    color = models.CharField(max_length=5,
                             choices=(
                                 ('Black', 'black'),
                                 ('White', 'white'),
                             ))
    goals = models.PositiveSmallIntegerField(default=0)

    class Meta:
        abstract = True

    def __str__(self):
        return self.team.name + ' ' + self.color
Beispiel #16
0
class Review(models.Model):
    reviewer = models.CharField(max_length=200, null='true', blank='true')
    product = models.CharField(max_length=200, null='true', blank='true')
    REVIEW_CHOICES = [
        ('1', 1),
        ('2', 2),
        ('3', 3),
        ('4', 4),
        ('5', 5),
    ]
    number = models.PositiveSmallIntegerField(
        choices=REVIEW_CHOICES,
        null='true',
        blank='true',
    )
    text = models.TextField(
        null='true',
        blank='true',
    )
Beispiel #17
0
class User(AbstractBaseUser, PermissionsMixin):
    USER_TYPE_CHOICES = (
        (1, 'Funcionario Estacionamento'),
        (2, 'Rh'),
        (3, 'Gerente'),
    )

    username = models.CharField(
        'Nome do Usuario',
        max_length=30,
        unique=True,
        validators=[
            validators.RegexValidator(
                re.compile('^[\w.@+-]+$'),
                'O username só pode conter letras, números ou as caracteres @/./+/-/_',
                'invalid')
        ])
    email = models.EmailField('E-mail', unique=True)
    name = models.CharField('Nome', max_length=50)
    user_type = models.PositiveSmallIntegerField('Função',
                                                 choices=USER_TYPE_CHOICES)
    is_active = models.BooleanField('Está ativo?', default=True, blank=True)
    date_joined = models.DateTimeField('Data de entrada', auto_now_add=True)
    is_staff = models.BooleanField('É superUsuário', blank=True, default=False)

    objects = UserManager()

    USERNAME_FIELD = 'username'
    REQUIRED_FIELDS = ['email']

    def __str__(self):
        return self.name or self.username

    def get_short_name(self):
        return self.username

    def get_full_name(self):
        return str(self)

    class Meta:
        verbose_name = 'Usuário'
        verbose_name_plural = 'Usuários'
class Player(models.Model):
    _id = models.ObjectIdField()
    game = models.ForeignKey('api.Game', on_delete=models.CASCADE)
    user = models.ForeignKey(AUTH_USER_MODEL, on_delete=models.CASCADE)
    score = models.PositiveSmallIntegerField(default=0)
    czar = models.BooleanField(default=False)
    created_at = models.DateTimeField(default=timezone.now, editable=False)
    updated_at = AutoDateTimeField(auto_now=True)
    objects = models.DjongoManager()

    class Meta:
        unique_together = ('game', 'user')

    def __str__(self):
        return 'Player {0}'.format(self.user)

    class Meta:
        indexes = (
            models.Index(fields=('czar', )),
            models.Index(fields=('score', )),
        )
Beispiel #19
0
class EventMeta(models.Model):
    event = models.OneToOneField(Event, models.CASCADE)
    type = models.CharField(verbose_name='Event Type',
                            max_length=6,
                            choices=types,
                            default='Hockey')
    grade = models.CharField(verbose_name='Competition Level',
                             max_length=8,
                             choices=grades,
                             default='Friendly')
    age_group = models.PositiveSmallIntegerField(verbose_name='Age Group',
                                                 choices=age_groups,
                                                 default=0)
    gender = models.CharField(verbose_name='Gender Competing',
                              max_length=8,
                              choices=genders,
                              default='Co-ed')
    teams = models.ArrayReferenceField(to=Team,
                                       on_delete=models.CASCADE,
                                       related_query_name='teams')
    objects = EventMetaManager()

    def __str__(self):
        return self.event.name

    # TODO: Fix Problem
    # parent class failing to add a team to the back of the list, instead it replaces old data with new
    # weird thing it does it only on the server, tests all passes;
    # problem might not be here, but with the drop-down choice list given to the user on the template
    def add_team_to_event(self, team):
        from django.db.models.query import QuerySet
        if isinstance(team, list) or isinstance(team, QuerySet):
            for t in team:
                if not isinstance(t, Team):
                    raise ValueError('{} is not {}'.format(t.__class__, Team))
            self.teams.add(*team)
        else:
            if not isinstance(team, Team):
                raise ValueError('{} is not {}'.format(team.__class__, Team))
            self.teams.add(*[team])
Beispiel #20
0
class CommonUser(PermissionsMixin, AbstractBaseUser):
    # 사용자 정보의 필드는 암호화 타입(hex)으로 변경해야함: CharField -> TextField
    username = models.CharField(max_length=12, unique=True)
    email = models.EmailField(
        verbose_name='email address',
        max_length=255,
        unique=True,
    )
    birth = models.DateField(null=True)
    role = models.PositiveSmallIntegerField(choices=Role.choices,
                                            default=Role.NORMAL)

    is_active = models.BooleanField(default=True)
    is_admin = models.BooleanField(default=False)
    last_login = models.DateTimeField(auto_now=True)
    date_joined = models.DateTimeField(auto_now_add=True, editable=False)

    objects = CommonUserManager()

    USERNAME_FIELD = 'username'
    REQUIRED_FIELDS = ['birth', 'email']

    def __str__(self):
        return self.username

    def has_perm(self, perm, obj=None):
        return True

    def has_module_perms(self, app_label):
        return True

    @property
    def is_staff(self):
        return self.is_admin

    @property
    def is_activate(self):
        return self.is_active
Beispiel #21
0
class Sponsor(models.Model):
    sponsor = models.ForeignKey(User, on_delete=models.CASCADE, related_name='sponsor')
    Amount = models.PositiveSmallIntegerField(default=0)
    Event = models.ForeignKey(Event, on_delete=models.CASCADE, related_name='sponsor_event')