base setup
This commit is contained in:
63
at_django_boilerplate/communications/models.py
Executable file
63
at_django_boilerplate/communications/models.py
Executable file
@@ -0,0 +1,63 @@
|
||||
from django.db import models
|
||||
from django.utils import timezone
|
||||
|
||||
from at_django_boilerplate.utils.mixins import UUIDMixin
|
||||
|
||||
|
||||
|
||||
class FeedbackModel(UUIDMixin):
|
||||
user = models.ForeignKey('accounts.CustomUser',related_name='feedback_from',null=True,blank=True,on_delete=models.DO_NOTHING)
|
||||
email = models.EmailField(null=True,blank=True)
|
||||
phone = models.CharField(max_length=20, null=True, blank=True) # Corrected
|
||||
name = models.CharField(max_length=255, blank=True, null=True)
|
||||
to = models.ForeignKey('accounts.CustomUser',related_name='feedbacks',null=True,blank=True,on_delete=models.DO_NOTHING)
|
||||
is_junk = models.BooleanField(default= False)
|
||||
|
||||
subject = models.TextField(null=True,blank=True)
|
||||
message = models.TextField(null=True,blank=True)
|
||||
|
||||
created_at = models.DateTimeField(default=timezone.now)
|
||||
|
||||
|
||||
# communications/models.py
|
||||
|
||||
class AppointmentModel(UUIDMixin):
|
||||
MEETING_CHOICES = (
|
||||
('business-consultant', 'Meet to Lawyer'),
|
||||
('compliance-specialist', 'Meet to CA'),
|
||||
('incorporation-expert', 'Meet to Secretary'),
|
||||
)
|
||||
|
||||
STATUS_CHOICES = (
|
||||
('pending', 'Pending'),
|
||||
('contacted', 'Contacted'),
|
||||
('in_process', 'In Process'),
|
||||
('rescheduled', 'Rescheduled'),
|
||||
('completed', 'Completed'),
|
||||
('cancelled', 'Cancelled'),
|
||||
)
|
||||
|
||||
user = models.ForeignKey(
|
||||
'accounts.CustomUser',
|
||||
related_name='appointments',
|
||||
null=True,
|
||||
blank=True,
|
||||
on_delete=models.DO_NOTHING
|
||||
)
|
||||
full_name = models.CharField(max_length=255)
|
||||
email = models.EmailField()
|
||||
phone = models.CharField(max_length=20)
|
||||
meeting_with = models.CharField(max_length=50, choices=MEETING_CHOICES)
|
||||
appointment_datetime = models.DateTimeField()
|
||||
notes = models.TextField(blank=True, null=True)
|
||||
|
||||
status = models.CharField(max_length=20, choices=STATUS_CHOICES, default='pending')
|
||||
|
||||
created_at = models.DateTimeField(auto_now_add=True)
|
||||
|
||||
|
||||
def __str__(self):
|
||||
return f"APP-{self.pk:06d} - {self.full_name}"
|
||||
|
||||
class Meta:
|
||||
ordering = ['-appointment_datetime']
|
||||
Reference in New Issue
Block a user