48 lines
1.8 KiB
Python
48 lines
1.8 KiB
Python
from django.db import models
|
|
from accounts.models import User
|
|
from websites.models import Website
|
|
|
|
from resumes.models import ResumeDetail
|
|
|
|
|
|
# Create your models here.
|
|
class WebsiteAccessRequest(models.Model):
|
|
user = models.ForeignKey(User, on_delete=models.CASCADE)
|
|
website = models.ForeignKey(Website, on_delete=models.CASCADE)
|
|
updated_at = models.DateTimeField(auto_now=True)
|
|
status = models.CharField(
|
|
max_length=20,
|
|
choices=[("pending", "待审批"), ("approved", "已通过"), ("rejected", "已拒绝")],
|
|
default="pending"
|
|
)
|
|
reason = models.TextField(blank=True)
|
|
created_at = models.DateTimeField(auto_now_add=True)
|
|
|
|
class Meta:
|
|
verbose_name = "网站访问申请"
|
|
verbose_name_plural = "网站访问申请"
|
|
|
|
def __str__(self):
|
|
return f"{self.user.username} 申请网站 {self.website.name} ({self.status})"
|
|
|
|
|
|
class ResumeDetailAccessRequest(models.Model):
|
|
user = models.ForeignKey(User, on_delete=models.CASCADE, verbose_name="申请用户")
|
|
resume = models.ForeignKey(ResumeDetail, on_delete=models.CASCADE, verbose_name="目标简历")
|
|
reason = models.TextField(blank=True, verbose_name="申请理由")
|
|
status = models.CharField(
|
|
max_length=20,
|
|
choices=[("pending", "待审批"), ("approved", "已通过"), ("rejected", "已拒绝")],
|
|
default="pending",
|
|
verbose_name="审批状态"
|
|
)
|
|
created_at = models.DateTimeField(auto_now_add=True, verbose_name="申请时间")
|
|
|
|
class Meta:
|
|
unique_together = ("user", "resume")
|
|
verbose_name = "简历详情访问申请"
|
|
verbose_name_plural = "简历详情访问申请"
|
|
|
|
def __str__(self):
|
|
return f"{self.user.username} 申请查看简历 {self.resume.id} ({self.status})"
|