diff --git a/aleksis/core/models.py b/aleksis/core/models.py index ecf66c8ed4e0d15ff46cd9c0ee239bfb84bc4737..d8d4202ae270c1017f46111069a702a6e6d14ef4 100644 --- a/aleksis/core/models.py +++ b/aleksis/core/models.py @@ -30,6 +30,10 @@ class School(ExtensibleModel): logo = ImageCropField(verbose_name=_("School logo"), blank=True, null=True) logo_cropping = ImageRatioField("logo", "600x600", size_warning=True) + @classmethod + def get_default(cls): + return cls.objects.first() + @property def current_term(self): return SchoolTerm.objects.get(current=True) diff --git a/aleksis/core/util/core_helpers.py b/aleksis/core/util/core_helpers.py index bc0700b03b8c755220b5bedfd609aa5d810a86d1..f273016659cf08bf7d4e924296d2950dc9e20694 100644 --- a/aleksis/core/util/core_helpers.py +++ b/aleksis/core/util/core_helpers.py @@ -139,3 +139,12 @@ def path_and_rename(instance, filename: str, upload_to: str = "files") -> str: # return the whole path to the file return os.path.join(upload_to, new_filename) + + +def school_information_processor(request: HttpRequest) -> dict: + """ Provides default School object in all templates """ + + from ..models import School + return { + "SCHOOL": School.get_default, + }