DocManagerBackend/docmanager_backend/authorization_requests/models.py

42 lines
1.4 KiB
Python
Raw Normal View History

2025-01-09 02:10:42 +08:00
from django.db import models
from django.utils.timezone import now
2025-01-19 20:18:19 +08:00
class AuthorizationRequestUnit(models.Model):
authorization_request = models.ForeignKey(
"authorization_requests.AuthorizationRequest", on_delete=models.CASCADE
)
document = models.TextField(max_length=256)
pages = models.IntegerField(default=1, null=False, blank=False)
copies = models.IntegerField(default=1, null=False, blank=False)
STATUS_CHOICES = (
("pending", "Pending"),
("checked", "Checked"),
)
status = models.CharField(
max_length=32, choices=STATUS_CHOICES, default="pending")
2025-01-09 02:10:42 +08:00
class AuthorizationRequest(models.Model):
requester = models.ForeignKey(
"accounts.CustomUser", on_delete=models.CASCADE)
2025-01-19 20:18:19 +08:00
documents = models.ManyToManyField(
"authorization_requests.AuthorizationRequestUnit")
2025-01-09 02:10:42 +08:00
date_requested = models.DateTimeField(default=now, editable=False)
college = models.CharField(max_length=64, blank=False, null=False)
purpose = models.TextField(max_length=512, blank=False, null=False)
STATUS_CHOICES = (
("pending", "Pending"),
("approved", "Approved"),
("denied", "Denied"),
2025-01-19 20:18:19 +08:00
("claimed", "Claimed"),
("unclaimed", "Unclaimed"),
2025-01-09 02:10:42 +08:00
)
remarks = models.TextField(max_length=512, blank=True, null=True)
status = models.CharField(
max_length=32, choices=STATUS_CHOICES, default="pending")