22from django .contrib .auth .models import User
33import datetime
44from django .core .validators import MaxValueValidator , MinValueValidator
5+ from markdownx .models import MarkdownxField
6+ from markdownx .utils import markdownify
57
68# Create your models here.
79
@@ -16,20 +18,37 @@ class Experiences(models.Model):
1618 year = models .PositiveIntegerField (
1719 default = current_year (), validators = [MinValueValidator (1984 ), max_value_current_year ])
1820 job_Profile = models .CharField (max_length = 100 )
21+ role_Type_choices = (
22+ ('Internship' , 'Internship' ),
23+ ('Full Time' , 'Full Time' ),
24+ )
25+ role_Type = models .CharField (max_length = 50 , choices = role_Type_choices )
1926 user = models .ForeignKey (User , on_delete = models .CASCADE )
2027 no_of_Rounds = models .PositiveIntegerField (
2128 default = 1 , validators = [MinValueValidator (1 )])
2229 interview_Questions = models .TextField ()
30+ interview_Questions = MarkdownxField ()
2331 total_Compensation = models .PositiveIntegerField (
2432 blank = True , null = True
2533 )
34+ verification_Status_choices = (
35+ ('Approved' , 'Approved' ),
36+ ('Review Pending' , 'Review Pending' ),
37+ ('Changes Requested' , 'Changes Requested' ),
38+ )
39+ verification_Status = models .CharField (max_length = 50 , choices = verification_Status_choices , default = 'Review Pending' )
40+ verifier = models .ForeignKey (User , related_name = 'verifier' , on_delete = models .SET_NULL , null = True )
2641 # TODO
2742 # AUTOGENERATE DATETIME
2843 created_at = models .DateTimeField (auto_now = False , auto_now_add = True )
2944 updated_at = models .DateTimeField (auto_now = True , auto_now_add = False )
3045
46+ @property
47+ def formatted_markdown (self ):
48+ return markdownify (self .interview_Questions )
49+
3150 def __str__ (self ):
32- return self .company
51+ return str ( self .company ) + " " + str ( self . user )
3352
3453 def get_cname (self ):
3554 class_name = "Experiences"
@@ -40,3 +59,26 @@ class Meta:
4059 ordering = ['-created_at' ]
4160 db_table = 'experiences'
4261 verbose_name_plural = 'Experiences'
62+
63+
64+ class Revisions (models .Model ):
65+ experience = models .OneToOneField (Experiences , on_delete = models .CASCADE )
66+ reviewer = models .ForeignKey (User , on_delete = models .CASCADE )
67+ message = models .TextField ()
68+ # TODO
69+ # AUTOGENERATE DATETIME
70+ created_at = models .DateTimeField (auto_now = False , auto_now_add = True )
71+ updated_at = models .DateTimeField (auto_now = True , auto_now_add = False )
72+
73+ def __str__ (self ):
74+ return str (self .experience .company ) + " " + str (self .reviewer )
75+
76+ def get_cname (self ):
77+ class_name = "Revisions"
78+ return class_name
79+
80+ class Meta :
81+ managed = True
82+ ordering = ['-created_at' ]
83+ db_table = 'revisions'
84+ verbose_name_plural = 'Revisions'
0 commit comments