diff --git a/aleksis/core/forms.py b/aleksis/core/forms.py index 09dafbc349482a13bef880e84cb51c559a41cf62..768a8fe42640a5c996fc3288aef7c7101edca29c 100644 --- a/aleksis/core/forms.py +++ b/aleksis/core/forms.py @@ -377,8 +377,7 @@ class SchoolTermForm(ExtensibleForm): class DashboardWidgetOrderForm(ExtensibleForm): pk = forms.ModelChoiceField( - queryset=DashboardWidget.objects.all(), - widget=forms.HiddenInput(attrs={"class": "pk-input"}), + queryset=None, widget=forms.HiddenInput(attrs={"class": "pk-input"}), ) order = forms.IntegerField(initial=0, widget=forms.HiddenInput(attrs={"class": "order-input"})) @@ -386,6 +385,12 @@ class DashboardWidgetOrderForm(ExtensibleForm): model = DashboardWidget fields = [] + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + + # Set queryset here to prevent problems with not migrated database due to special queryset + self.fields["pk"].queryset = DashboardWidget.objects.all() + DashboardWidgetOrderFormSet = forms.formset_factory( form=DashboardWidgetOrderForm, max_num=0, extra=0 diff --git a/aleksis/core/util/core_helpers.py b/aleksis/core/util/core_helpers.py index a1423bd5b4c15dd50d0665e1257b822bf55115c0..be26928ad79db5f4ec866d7b40d2cdcd7a2fb456 100644 --- a/aleksis/core/util/core_helpers.py +++ b/aleksis/core/util/core_helpers.py @@ -130,6 +130,9 @@ 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 + if not os.path.isfile(default): + return + favicon, created = Favicon.on_site.get_or_create( title=title, defaults={"isFavicon": is_favicon} )