from django.db import models from django.conf import settings from django.utils.translation import gettext_lazy as _ class CompanyVerifyApplication(models.Model): STATUS_PENDING = 0 STATUS_APPROVED = 1 STATUS_REJECTED = 2 STATUS_CHOICES = ( (STATUS_PENDING, _('pending')), (STATUS_APPROVED, _('approved')), (STATUS_REJECTED, _('rejected')), ) VERIFICATION_METHOD_EMAIL = 0 VERIFICATION_METHOD_INCUMBENCY = 1 VERIFICATION_METHOD_CHOICES = ( (VERIFICATION_METHOD_EMAIL, _('email')), (VERIFICATION_METHOD_INCUMBENCY, _('incumbency cert')), ) user = models.ForeignKey( settings.AUTH_USER_MODEL, on_delete=models.DO_NOTHING) company_name = models.CharField(max_length=128) job_title_code = models.CharField(max_length=64) job_title_text = models.CharField(max_length=64) verification_method = models.SmallIntegerField( default=VERIFICATION_METHOD_EMAIL, choices=VERIFICATION_METHOD_CHOICES) email = models.EmailField(blank=True, null=True) incumbency_cert = models.ForeignKey( 'pingcap_sso.Upload', blank=True, null=True, on_delete=models.DO_NOTHING ) status = models.SmallIntegerField( default=STATUS_PENDING, choices=STATUS_CHOICES) reason = models.CharField(max_length=256, null=True, blank=True) reviewer = models.ForeignKey( settings.AUTH_USER_MODEL, on_delete=models.DO_NOTHING, related_name='company_verify_applications_reviewed', null=True, blank=True) created_at = models.DateTimeField(auto_now_add=True) updated_at = models.DateTimeField(auto_now=True) class Meta: db_table = 'pingcap_company_verify_applications' permissions = ( ('review_company_verification', 'Can review company verification'), )