diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 8880280da8e08aba5770e8c696b195e77ff1d73a..2bfb3645e33219c29c0cac703e16aae6e7d87923 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -23,6 +23,7 @@ Added Fixed ~~~~~ +* Existing FaviconImg objects were not updated when a new Favicon image is uploaded via preferences * GroupManager.get_queryset() returned an incomplete QuerySet * OAuth was broken by a non-semver-adhering django-oauth-toolkit update * Too long texts in chips didn't result in a larger chip. diff --git a/aleksis/core/apps.py b/aleksis/core/apps.py index 520a5fc435fe5cd8ef55435d3c680f978250abb0..47df1dbda191a75339a20fc6e1d86c032835a216 100644 --- a/aleksis/core/apps.py +++ b/aleksis/core/apps.py @@ -97,15 +97,16 @@ class CoreConfig(AppConfig): if name in ("primary", "secondary"): clean_scss() elif name in ("favicon", "pwa_icon"): - from favicon.models import Favicon # noqa + from favicon.models import Favicon, FaviconImg # noqa is_favicon = name == "favicon" if new_value: - Favicon.on_site.update_or_create( + favicon_id = Favicon.on_site.update_or_create( title=name, defaults={"isFavicon": is_favicon, "faviconImage": new_value}, - ) + )[0] + FaviconImg.objects.filter(faviconFK=favicon_id).delete() else: Favicon.on_site.filter(title=name, isFavicon=is_favicon).delete() if name in settings.DEFAULT_FAVICON_PATHS: