|
|
@ -3,6 +3,7 @@ from django.contrib.auth.models import AbstractBaseUser, BaseUserManager
|
|
|
|
from django.contrib.auth.models import User
|
|
|
|
from django.contrib.auth.models import User
|
|
|
|
from skyonnadmin.models import InternalTeam
|
|
|
|
from skyonnadmin.models import InternalTeam
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class CustomUserManager(BaseUserManager):
|
|
|
|
class CustomUserManager(BaseUserManager):
|
|
|
|
def create_user(self, phone, password=None, **extra_fields):
|
|
|
|
def create_user(self, phone, password=None, **extra_fields):
|
|
|
|
if not phone:
|
|
|
|
if not phone:
|
|
|
@ -107,7 +108,8 @@ class Message(models.Model):
|
|
|
|
sent_at = models.DateTimeField(auto_now_add=True)
|
|
|
|
sent_at = models.DateTimeField(auto_now_add=True)
|
|
|
|
sender_fullname = models.CharField(max_length=255, null=True)
|
|
|
|
sender_fullname = models.CharField(max_length=255, null=True)
|
|
|
|
recipient_fullname = models.CharField(max_length=255, null=True)
|
|
|
|
recipient_fullname = models.CharField(max_length=255, null=True)
|
|
|
|
reply_to = models.ForeignKey('self',null=True,blank=True,on_delete=models.CASCADE,related_name='replies', to_field='message_id')
|
|
|
|
reply_to = models.ForeignKey('self', null=True, blank=True, on_delete=models.CASCADE, related_name='replies',
|
|
|
|
|
|
|
|
to_field='message_id')
|
|
|
|
is_trashed = models.BooleanField(default=False)
|
|
|
|
is_trashed = models.BooleanField(default=False)
|
|
|
|
attachment = models.FileField(upload_to='attachment/', null=True, blank=True)
|
|
|
|
attachment = models.FileField(upload_to='attachment/', null=True, blank=True)
|
|
|
|
seen_time = models.DateTimeField(null=True, blank=True)
|
|
|
|
seen_time = models.DateTimeField(null=True, blank=True)
|
|
|
@ -118,12 +120,14 @@ class Message(models.Model):
|
|
|
|
class Meta:
|
|
|
|
class Meta:
|
|
|
|
ordering = ['-sent_at']
|
|
|
|
ordering = ['-sent_at']
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class MessageStatus(models.Model):
|
|
|
|
class MessageStatus(models.Model):
|
|
|
|
message = models.ForeignKey(Message, on_delete=models.CASCADE, to_field='message_id', related_name='status')
|
|
|
|
message = models.ForeignKey(Message, on_delete=models.CASCADE, to_field='message_id', related_name='status')
|
|
|
|
user = models.ForeignKey(InternalTeam, on_delete=models.CASCADE, to_field='Email1', null=True)
|
|
|
|
user = models.ForeignKey(InternalTeam, on_delete=models.CASCADE, to_field='Email1', null=True)
|
|
|
|
is_read = models.BooleanField(default=False)
|
|
|
|
is_read = models.BooleanField(default=False)
|
|
|
|
seen_time = models.DateTimeField(null=True, blank=True)
|
|
|
|
seen_time = models.DateTimeField(null=True, blank=True)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class FileDownload(models.Model):
|
|
|
|
class FileDownload(models.Model):
|
|
|
|
# Reference to the message containing the attachment
|
|
|
|
# Reference to the message containing the attachment
|
|
|
|
message = models.ForeignKey(Message, on_delete=models.CASCADE, to_field='message_id', related_name='downloads')
|
|
|
|
message = models.ForeignKey(Message, on_delete=models.CASCADE, to_field='message_id', related_name='downloads')
|
|
|
|