diff --git a/core/templates/core/fragment/user_visibility.jinja b/core/templates/core/fragment/user_visibility.jinja index 82e4f0ea..370665e5 100644 --- a/core/templates/core/fragment/user_visibility.jinja +++ b/core/templates/core/fragment/user_visibility.jinja @@ -29,5 +29,13 @@ {{ form.show_my_stats.errors }} +
+ {{ form.show_my_timetable }} + {{ form.show_my_timetable.label_tag() }} + + {{ form.show_my_timetable.help_text }} + + {{ form.show_my_timetable.errors }} +
\ No newline at end of file diff --git a/core/views/forms.py b/core/views/forms.py index c0510c7d..eb9dce95 100644 --- a/core/views/forms.py +++ b/core/views/forms.py @@ -336,10 +336,14 @@ class UserVisibilityForm(forms.ModelForm): __preferences_fields = forms.fields_for_model( Preferences, - ["show_my_stats"], - widgets={"show_my_stats": forms.CheckboxInput(attrs={"class": "switch"})}, + ["show_my_stats", "show_my_timetable"], + widgets={ + "show_my_stats": forms.CheckboxInput(attrs={"class": "switch"}), + "show_my_timetable": forms.CheckboxInput(attrs={"class": "switch"}) + }, ) show_my_stats = __preferences_fields["show_my_stats"] + show_my_timetable = __preferences_fields["show_my_timetable"] def __init__( self, *args, initial: dict | None = None, instance: User | None = None, **kwargs @@ -347,12 +351,14 @@ class UserVisibilityForm(forms.ModelForm): if instance: initial = initial or {} initial["show_my_stats"] = instance.preferences.show_my_stats + initial["show_my_timetable"] = instance.preferences.show_my_timetable super().__init__(*args, initial=initial, instance=instance, **kwargs) def save(self, commit=True) -> User: # noqa: FBT002 instance = super().save(commit=commit) if commit: instance.preferences.show_my_stats = self.cleaned_data["show_my_stats"] + instance.preferences.show_my_timetable = self.cleaned_data["show_my_timetable"] instance.preferences.save() return instance