mirror of
https://github.com/fergalmoran/dss.api.git
synced 2025-12-22 09:18:13 +00:00
41 lines
1.3 KiB
Python
41 lines
1.3 KiB
Python
from django.contrib.auth.models import User
|
|
from django.db import models
|
|
|
|
from spa.models import BaseModel, UserProfile
|
|
from spa.models.mix import Mix
|
|
|
|
|
|
class Comment(BaseModel):
|
|
class Meta:
|
|
app_label = 'spa'
|
|
|
|
user = models.ForeignKey(User, editable=False, null=True, blank=True)
|
|
mix = models.ForeignKey(Mix, editable=False, null=True, blank=True, related_name='comments')
|
|
comment = models.CharField(max_length=1024)
|
|
date_created = models.DateTimeField(auto_now_add=True)
|
|
time_index = models.IntegerField(default=0)
|
|
likes = models.ManyToManyField(UserProfile, related_name='liked_comments', blank=True)
|
|
|
|
def get_absolute_url(self):
|
|
return '/comment/%i' % self.id
|
|
|
|
def create_activity(self):
|
|
pass
|
|
|
|
def get_user(self):
|
|
return self.user.userprofile if self.user.is_authenticated() else self.user
|
|
|
|
@property
|
|
def avatar_image(self):
|
|
if self.user is None:
|
|
return UserProfile.get_default_avatar_image()
|
|
else:
|
|
return self.user.userprofile.get_avatar_image()
|
|
|
|
@property
|
|
def user_display_name(self):
|
|
if self.user is None:
|
|
return UserProfile.get_default_display_name()
|
|
else:
|
|
return self.user.userprofile.get_nice_name()
|