From d4d93f5d3881bccef0b0aa680b98c773f2d8cdb2 Mon Sep 17 00:00:00 2001
From: Dominik George <dominik.george@teckids.org>
Date: Mon, 17 Jan 2022 21:30:56 +0100
Subject: [PATCH] Fix required/not-required preferences

---
 CHANGELOG.rst               |  1 +
 aleksis/core/preferences.py | 10 ++++------
 2 files changed, 5 insertions(+), 6 deletions(-)

diff --git a/CHANGELOG.rst b/CHANGELOG.rst
index e8e2e1e42..99ed48344 100644
--- a/CHANGELOG.rst
+++ b/CHANGELOG.rst
@@ -15,6 +15,7 @@ Fixed
 * Signup was forbidden even if it was enabled in settings
 * Phone numbers were not properly linked and suboptimally formatted on person page
 * Favicon upload failed with S3 storage.
+* Some preferences were required when they shouldn't, and vice versa.
 
 `2.6`_ - 2022-01-10
 -------------------
diff --git a/aleksis/core/preferences.py b/aleksis/core/preferences.py
index cb351100a..4de9d9e41 100644
--- a/aleksis/core/preferences.py
+++ b/aleksis/core/preferences.py
@@ -40,7 +40,6 @@ class SiteTitle(StringPreference):
     section = general
     name = "title"
     default = "AlekSIS"
-    required = False
     verbose_name = _("Site title")
 
 
@@ -62,7 +61,6 @@ class ColourPrimary(StringPreference):
     section = theme
     name = "primary"
     default = "#0d5eaf"
-    required = False
     verbose_name = _("Primary colour")
     widget = ColorWidget
 
@@ -74,7 +72,6 @@ class ColourSecondary(StringPreference):
     section = theme
     name = "secondary"
     default = "#0d5eaf"
-    required = False
     verbose_name = _("Secondary colour")
     widget = ColorWidget
 
@@ -116,7 +113,6 @@ class MailOutName(StringPreference):
     section = mail
     name = "name"
     default = "AlekSIS"
-    required = False
     verbose_name = _("Mail out name")
 
 
@@ -127,7 +123,6 @@ class MailOut(StringPreference):
     section = mail
     name = "address"
     default = settings.DEFAULT_FROM_EMAIL
-    required = False
     verbose_name = _("Mail out address")
     field_class = EmailField
 
@@ -163,7 +158,6 @@ class AdressingNameFormat(ChoicePreference):
     section = notification
     name = "addressing_name_format"
     default = "first_last"
-    required = False
     verbose_name = _("Name format for addressing")
     choices = (
         ("first_last", "John Doe"),
@@ -300,6 +294,7 @@ class OAuthAllowedGrants(MultipleChoicePreference):
     verbose_name = _("Allowed Grant Flows for OAuth applications")
     field_attribute = {"initial": []}
     choices = AbstractApplication.GRANT_TYPES
+    required = False
 
 
 @site_preferences_registry.register
@@ -376,6 +371,7 @@ class EditableFieldsPerson(MultipleChoicePreference):
     verbose_name = _("Fields on person model which are editable by themselves.")
     field_attribute = {"initial": []}
     choices = [(field.name, field.name) for field in Person.syncable_fields()]
+    required = False
 
 
 @site_preferences_registry.register
@@ -391,6 +387,7 @@ class SendNotificationOnPersonChange(MultipleChoicePreference):
     )
     field_attribute = {"initial": []}
     choices = [(field.name, field.name) for field in Person.syncable_fields()]
+    required = False
 
 
 @site_preferences_registry.register
@@ -401,6 +398,7 @@ class PersonChangeNotificationContact(StringPreference):
     name = "person_change_notification_contact"
     default = ""
     verbose_name = _("Contact for notification if a person changes their data")
+    required = False
 
 
 @site_preferences_registry.register
-- 
GitLab