Financial steering committee page member images (#1613)

This commit is contained in:
daveoconnor
2025-01-27 10:18:23 -08:00
committed by GitHub
parent 0a1d35d917
commit c4e6302360
14 changed files with 120 additions and 13 deletions

View File

@@ -43,6 +43,10 @@ class EmailUserAdmin(UserAdmin):
)
},
),
(
_("High Quality Image"),
{"fields": ("hq_image",)},
),
)
add_fieldsets = (
(None, {"classes": ("wide",), "fields": ("email", "password1", "password2")}),

View File

@@ -0,0 +1,31 @@
# Generated by Django 4.2.16 on 2025-01-22 22:39
import core.validators
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("users", "0015_user_delete_permanently_at"),
]
operations = [
migrations.AddField(
model_name="user",
name="hq_image",
field=models.FileField(
blank=True,
help_text="A high-quality image of the user - used in profiles/reports.",
null=True,
upload_to="hiqh-quality-user-images",
validators=[
core.validators.FileTypeValidator(
extensions=[".jpg", ".jpeg", ".png"]
),
core.validators.MaxFileSizeValidator(max_size=52428800),
],
verbose_name="High Quality Image",
),
),
]

View File

@@ -20,7 +20,11 @@ from django.utils.translation import gettext_lazy as _
from imagekit.models import ImageSpecField
from imagekit.processors import ResizeToFill
from core.validators import image_validator, max_file_size_validator
from core.validators import (
image_validator,
max_file_size_validator,
large_file_max_size_validator,
)
logger = logging.getLogger(__name__)
@@ -221,6 +225,20 @@ class User(BaseUser):
format="JPEG",
options={"quality": 90},
)
hq_image = models.FileField(
upload_to="hiqh-quality-user-images",
help_text="A high-quality image of the user - used in profiles/reports.",
null=True,
blank=True,
validators=[image_validator, large_file_max_size_validator],
verbose_name="High Quality Image",
)
hq_image_render = ImageSpecField(
source="hq_image",
processors=[ResizeToFill(4096, 4096)],
format="JPEG",
options={"quality": 90},
)
claimed = models.BooleanField(
_("claimed"),
default=True,
@@ -318,6 +336,9 @@ class User(BaseUser):
self.delete_permanently_at = None
self.save()
def __str__(self):
return f"{self.first_name} {self.last_name} <{self.email}>"
class LastSeen(models.Model):
"""