mirror of
https://github.com/pacnpal/thrillwiki_django_no_react.git
synced 2025-12-20 09:11:08 -05:00
Refactor user account system and remove moderation integration
- Remove first_name and last_name fields from User model - Add user deletion and social provider services - Restructure auth serializers into separate directory - Update avatar upload functionality and API endpoints - Remove django-moderation integration documentation - Add mandatory compliance enforcement rules - Update frontend documentation with API usage examples
This commit is contained in:
@@ -44,6 +44,10 @@ class User(AbstractUser):
|
||||
FRIENDS = "friends", _("Friends Only")
|
||||
PRIVATE = "private", _("Private")
|
||||
|
||||
# Override inherited fields to remove them
|
||||
first_name = None
|
||||
last_name = None
|
||||
|
||||
# Read-only ID
|
||||
user_id = models.CharField(
|
||||
max_length=10,
|
||||
@@ -179,7 +183,10 @@ class UserProfile(models.Model):
|
||||
"""
|
||||
if self.avatar:
|
||||
# Return Cloudflare Images URL with avatar variant
|
||||
return self.avatar.url_variant("avatar")
|
||||
base_url = self.avatar.url
|
||||
if '/public' in base_url:
|
||||
return base_url.replace('/public', '/avatar')
|
||||
return base_url
|
||||
|
||||
# Generate default letter-based avatar using first letter of username
|
||||
first_letter = self.user.username[0].upper() if self.user.username else "U"
|
||||
@@ -191,11 +198,20 @@ class UserProfile(models.Model):
|
||||
Return avatar variants for different use cases
|
||||
"""
|
||||
if self.avatar:
|
||||
return {
|
||||
"thumbnail": self.avatar.url_variant("thumbnail"),
|
||||
"avatar": self.avatar.url_variant("avatar"),
|
||||
"large": self.avatar.url_variant("large"),
|
||||
}
|
||||
base_url = self.avatar.url
|
||||
if '/public' in base_url:
|
||||
return {
|
||||
"thumbnail": base_url.replace('/public', '/thumbnail'),
|
||||
"avatar": base_url.replace('/public', '/avatar'),
|
||||
"large": base_url.replace('/public', '/large'),
|
||||
}
|
||||
else:
|
||||
# If no variant in URL, return the same URL for all variants
|
||||
return {
|
||||
"thumbnail": base_url,
|
||||
"avatar": base_url,
|
||||
"large": base_url,
|
||||
}
|
||||
|
||||
# For default avatars, return the same URL for all variants
|
||||
default_url = self.get_avatar_url()
|
||||
|
||||
Reference in New Issue
Block a user