Files
ihrm/horilla_views/models.py

96 lines
2.1 KiB
Python
Raw Normal View History

import json
from django.db import models
from django.contrib.auth.models import User
from horilla.models import HorillaModel
from base.thread_local_middleware import _thread_locals
# Create your models here.
class ToggleColumn(HorillaModel):
"""
ToggleColumn
"""
user_id = models.ForeignKey(
User,
on_delete=models.CASCADE,
related_name="user_excluded_column",
editable=False,
)
path = models.CharField(max_length=256)
excluded_columns = models.JSONField(default=list)
def save(self, *args, **kwargs):
request = getattr(_thread_locals, "request", {})
user = request.user
self.user_id = user
return super().save(*args, **kwargs)
def __str__(self) -> str:
return str(self.user_id.employee_get)
class ActiveTab(HorillaModel):
"""
ActiveTab
"""
path = models.CharField(max_length=256)
tab_target = models.CharField(max_length=256)
class ActiveGroup(HorillaModel):
"""
ActiveGroup
"""
path = models.CharField(max_length=256)
group_target = models.CharField(max_length=256)
group_by_field = models.CharField(max_length=256)
class ParentModel(models.Model):
""" """
title = models.CharField(max_length=50)
def __str__(self) -> str:
return self.title
class DemoCompany(models.Model):
title = models.CharField(max_length=20)
def __str__(self) -> str:
return self.title
class DemoDepartment(models.Model):
"""
DemoDepartment
"""
title = models.CharField(max_length=20)
company_id = models.ForeignKey(
DemoCompany,
on_delete=models.CASCADE,
null=True,
blank=True,
verbose_name="Company",
)
def __str__(self) -> str:
return self.title
class childModel(models.Model):
""" """
title_id = models.ForeignKey(
ParentModel, on_delete=models.CASCADE, verbose_name="Title"
)
department_id = models.ForeignKey(
DemoDepartment, on_delete=models.CASCADE, null=True, verbose_name="Department"
)
description = models.TextField()