From 32b36b81b3e08ece3508f9b1ae33541c60cc680c Mon Sep 17 00:00:00 2001 From: Pablo Moreno Date: Wed, 19 Feb 2025 19:50:44 +0100 Subject: [PATCH] feat: added smaller logos to web settings --- web/context_processors.py | 2 +- ...websettings_logo_32_websettings_logo_64.py | 27 +++++++++++++++++++ web/models.py | 8 ++++++ 3 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 web/migrations/0004_websettings_logo_32_websettings_logo_64.py diff --git a/web/context_processors.py b/web/context_processors.py index bdddd4f..85afc1c 100644 --- a/web/context_processors.py +++ b/web/context_processors.py @@ -10,6 +10,6 @@ def web_settings(request): return { "web_title": settings.web_title, - "logo": settings.logo.url if settings.logo else "", + "logo": settings.logo_32.url if settings.logo_32 else "", "navbar_categories": navbar_categories, } diff --git a/web/migrations/0004_websettings_logo_32_websettings_logo_64.py b/web/migrations/0004_websettings_logo_32_websettings_logo_64.py new file mode 100644 index 0000000..0631005 --- /dev/null +++ b/web/migrations/0004_websettings_logo_32_websettings_logo_64.py @@ -0,0 +1,27 @@ +# Generated by Django 5.1.4 on 2025-02-19 18:39 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ("web", "0003_websettings_theme_colors"), + ] + + operations = [ + migrations.AddField( + model_name="websettings", + name="logo_32", + field=models.ImageField( + blank=True, null=True, upload_to="assets", verbose_name="logo 32x32" + ), + ), + migrations.AddField( + model_name="websettings", + name="logo_64", + field=models.ImageField( + blank=True, null=True, upload_to="assets", verbose_name="logo 64x64" + ), + ), + ] diff --git a/web/models.py b/web/models.py index c6f8463..23e035c 100644 --- a/web/models.py +++ b/web/models.py @@ -86,6 +86,12 @@ class WebSettings(SingletonModel): logo_128 = models.ImageField( upload_to="assets", blank=True, null=True, verbose_name=_("logo 128x128") ) + logo_64 = models.ImageField( + upload_to="assets", blank=True, null=True, verbose_name=_("logo 64x64") + ) + logo_32 = models.ImageField( + upload_to="assets", blank=True, null=True, verbose_name=_("logo 32x32") + ) theme_colors = models.JSONField( default=dict, verbose_name=_("colores del tema"), blank=True ) @@ -101,6 +107,8 @@ class WebSettings(SingletonModel): def save(self, *args, **kwargs): if self.logo: + self.logo_32 = self.get_resized_logo((32, 32)) + self.logo_64 = self.get_resized_logo((64, 64)) self.logo_128 = self.get_resized_logo((128, 128)) self.logo_256 = self.get_resized_logo((256, 256))