diff --git a/aleksis/core/util/core_helpers.py b/aleksis/core/util/core_helpers.py index 89df8a8d6c0b4ae7c86f696bf25a31bcb267ef6e..a1423bd5b4c15dd50d0665e1257b822bf55115c0 100644 --- a/aleksis/core/util/core_helpers.py +++ b/aleksis/core/util/core_helpers.py @@ -130,12 +130,23 @@ def get_or_create_favicon(title: str, default: str, is_favicon: bool = False) -> """Ensure that there is always a favicon object.""" from favicon.models import Favicon # noqa - favicon, created = Favicon.on_site.update_or_create( + favicon, created = Favicon.on_site.get_or_create( title=title, defaults={"isFavicon": is_favicon} ) + + changed = False + + if favicon.isFavicon != is_favicon: + favicon.isFavicon = True + changed = True + if created: favicon.faviconImage.save(os.path.basename(default), File(open(default, "rb"))) + changed = True + + if changed: favicon.save() + return favicon