mirror of
https://github.com/fergalmoran/dss.api.git
synced 2025-12-27 19:58:47 +00:00
Fixed missing user in comments
This commit is contained in:
@@ -319,29 +319,28 @@ class CommentSerializer(serializers.HyperlinkedModelSerializer):
|
||||
user = InlineUserProfileSerializer(source='get_comment_user', read_only=True)
|
||||
avatar_image = serializers.SerializerMethodField()
|
||||
mix = serializers.PrimaryKeyRelatedField(read_only=True)
|
||||
display_name = serializers.SerializerMethodField()
|
||||
slug = serializers.SerializerMethodField()
|
||||
can_edit = serializers.SerializerMethodField()
|
||||
|
||||
class Meta:
|
||||
model = Comment
|
||||
fields = (
|
||||
'id',
|
||||
'user',
|
||||
'comment',
|
||||
'time_index',
|
||||
'date_created',
|
||||
'user',
|
||||
'avatar_image',
|
||||
'mix',
|
||||
'display_name',
|
||||
'slug',
|
||||
'can_edit'
|
||||
)
|
||||
|
||||
def get_comment_user(self, obj):
|
||||
try:
|
||||
if obj.user is not None:
|
||||
return obj.user.get_nice_name()
|
||||
except:
|
||||
pass
|
||||
|
||||
return settings.DEFAULT_USER_NAME
|
||||
return UserProfile.get_user(self.user)
|
||||
|
||||
def get_display_name(self, obj):
|
||||
if obj.user is not None:
|
||||
@@ -349,6 +348,12 @@ class CommentSerializer(serializers.HyperlinkedModelSerializer):
|
||||
else:
|
||||
return settings.DEFAULT_USER_NAME
|
||||
|
||||
def get_slug(self, obj):
|
||||
if obj.user is not None:
|
||||
return obj.user.userprofile.slug
|
||||
else:
|
||||
return ""
|
||||
|
||||
def get_avatar_image(self, obj):
|
||||
if obj.user is not None:
|
||||
return obj.user.userprofile.get_sized_avatar_image(48, 48)
|
||||
|
||||
@@ -33,18 +33,7 @@ class Activity(BaseModel):
|
||||
return "%s" % self.get_object_name()
|
||||
|
||||
def get_user(self):
|
||||
if self.user is not None:
|
||||
return self.user
|
||||
else:
|
||||
username = 'anonymous'
|
||||
u = User(username=username, first_name='Anonymous', last_name='User')
|
||||
u.set_unusable_password()
|
||||
|
||||
u.username = u.id
|
||||
|
||||
# comment out the next two lines if you aren't using profiles
|
||||
p = UserProfile(user=u)
|
||||
return p
|
||||
return UserProfile.get_user(self.user)
|
||||
|
||||
def post_social(self):
|
||||
if settings.DEBUG:
|
||||
|
||||
@@ -8,6 +8,7 @@ from core.utils import url
|
||||
from dss import localsettings, settings
|
||||
|
||||
|
||||
|
||||
class BaseModel(models.Model):
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
@@ -205,3 +205,19 @@ class UserProfile(BaseModel):
|
||||
@classmethod
|
||||
def get_default_display_name(cls):
|
||||
return settings.DEFAULT_USER_NAME
|
||||
|
||||
@classmethod
|
||||
def get_user(cls, user):
|
||||
if user is not None:
|
||||
return user
|
||||
else:
|
||||
username = 'anonymous'
|
||||
u = User(username=username, first_name='Anonymous', last_name='User')
|
||||
u.set_unusable_password()
|
||||
|
||||
u.username = u.id
|
||||
|
||||
# comment out the next two lines if you aren't using profiles
|
||||
p = UserProfile(user=u)
|
||||
return p
|
||||
|
||||
|
||||
Reference in New Issue
Block a user