snapshot: preserve account profile inline editing and avatar flow
This commit is contained in:
@@ -25,6 +25,30 @@ class EmployeeProfile(models.Model):
|
||||
return f"{self.full_name} <{self.work_email}>"
|
||||
|
||||
|
||||
class UserProfile(models.Model):
|
||||
user = models.OneToOneField(settings.AUTH_USER_MODEL, on_delete=models.CASCADE, related_name='profile')
|
||||
avatar_image = models.FileField(
|
||||
upload_to='profiles/',
|
||||
blank=True,
|
||||
null=True,
|
||||
validators=[FileExtensionValidator(allowed_extensions=['png', 'jpg', 'jpeg', 'webp', 'svg'])],
|
||||
)
|
||||
phone_number = models.CharField(max_length=80, blank=True, default='')
|
||||
mobile_number = models.CharField(max_length=80, blank=True, default='')
|
||||
job_title = models.CharField(max_length=255, blank=True, default='')
|
||||
department = models.CharField(max_length=255, blank=True, default='')
|
||||
location = models.CharField(max_length=255, blank=True, default='')
|
||||
contact_notes = models.CharField(max_length=255, blank=True, default='')
|
||||
updated_at = models.DateTimeField(auto_now=True)
|
||||
|
||||
class Meta:
|
||||
verbose_name = 'User Profile'
|
||||
verbose_name_plural = 'User Profiles'
|
||||
|
||||
def __str__(self) -> str:
|
||||
return getattr(self.user, 'username', '') or str(self.user_id)
|
||||
|
||||
|
||||
class PortalBranding(models.Model):
|
||||
name = models.CharField(max_length=80, default='Default', unique=True)
|
||||
portal_title = models.CharField(max_length=255, default='Workdock')
|
||||
|
||||
Reference in New Issue
Block a user