From 03f0d775426980be616943f2a7f1f60a64c1c0d0 Mon Sep 17 00:00:00 2001
From: Tom Teichler <tom.teichler@teckids.org>
Date: Wed, 22 Dec 2021 22:42:46 +0100
Subject: [PATCH] Comment settings

---
 aleksis/core/models.py      | 5 -----
 aleksis/core/preferences.py | 8 --------
 aleksis/core/rules.py       | 8 +-------
 aleksis/core/settings.py    | 6 ++++++
 aleksis/core/views.py       | 4 +---
 5 files changed, 8 insertions(+), 23 deletions(-)

diff --git a/aleksis/core/models.py b/aleksis/core/models.py
index 8a9e4d035..aa20122bf 100644
--- a/aleksis/core/models.py
+++ b/aleksis/core/models.py
@@ -1072,11 +1072,6 @@ class PersonInvitation(AbstractBaseInvitation, PureDjangoModel):
         Person, on_delete=models.CASCADE, blank=True, related_name="invitation", null=True
     )
 
-    @classmethod
-    def create(cls, email, inviter=None, **kwargs):
-        instance = cls._default_manager.create(email=email, inviter=inviter, **kwargs)
-        return instance
-
     def __str__(self) -> str:
         return f"{self.email} ({self.inviter})"
 
diff --git a/aleksis/core/preferences.py b/aleksis/core/preferences.py
index c16032349..15ca0e674 100644
--- a/aleksis/core/preferences.py
+++ b/aleksis/core/preferences.py
@@ -264,14 +264,6 @@ class SignupEnabled(BooleanPreference):
     verbose_name = _("Enable signup")
 
 
-@site_preferences_registry.register
-class SignupOpen(BooleanPreference):
-    section = auth
-    name = "signup_open"
-    default = False
-    verbose_name = _("Signup open for everyone")
-
-
 @site_preferences_registry.register
 class InviteEnabled(BooleanPreference):
     section = auth
diff --git a/aleksis/core/rules.py b/aleksis/core/rules.py
index 0a0dde24f..9fc08709e 100644
--- a/aleksis/core/rules.py
+++ b/aleksis/core/rules.py
@@ -313,18 +313,12 @@ edit_default_dashboard_predicate = has_person & has_global_perm("core.edit_defau
 rules.add_perm("core.edit_default_dashboard_rule", edit_default_dashboard_predicate)
 
 # django-allauth
-can_register_predicate = is_site_preference_set(
-    section="auth", pref="signup_enabled"
-) & is_site_preference_set(section="auth", pref="signup_open")
+can_register_predicate = is_site_preference_set(section="auth", pref="signup_enabled")
 rules.add_perm("core.can_register", can_register_predicate)
 
 can_change_password_predicate = is_site_preference_set(section="auth", pref="allow_password_change")
 rules.add_perm("core.can_change_password", can_change_password_predicate)
 
-# django-invitations
-invite_enabled_predicate = is_site_preference_set(section="auth", pref="invite_enabled")
-rules.add_perm("core.invite_enabled", invite_enabled_predicate)
-
 # OAuth2 permissions
 create_oauthapplication_predicate = has_person & has_global_perm("core.add_oauthapplication")
 rules.add_perm("core.create_oauthapplication_rule", create_oauthapplication_predicate)
diff --git a/aleksis/core/settings.py b/aleksis/core/settings.py
index 5634286b0..94971e5c5 100644
--- a/aleksis/core/settings.py
+++ b/aleksis/core/settings.py
@@ -352,11 +352,17 @@ ACCOUNT_UNIQUE_EMAIL = _settings.get("auth.login.registration.unique_email", Tru
 
 # Configuration for django-invitations
 
+# Use custom account adapter
 ACCOUNT_ADAPTER = "invitations.models.InvitationsAdapter"
+# Expire invitations are configured amout of days
 INVITATIONS_INVITATION_EXPIRY = _settings.get("auth.invitation.expiry", 3)
+# Use email prefix configured for django-allauth
 INVITATIONS_EMAIL_SUBJECT_PREFIX = ACCOUNT_EMAIL_SUBJECT_PREFIX
+# Use custom invitation model
 INVITATIONS_INVITATION_MODEL = "core.PersonInvitation"
+# Display error message if invitation code is invalid
 INVITATIONS_GONE_ON_ACCEPT_ERROR = False
+# Mark invitation as accepted after signup
 INVITATIONS_ACCEPT_INVITE_AFTER_SIGNUP = True
 
 # Configuration for OAuth2 provider
diff --git a/aleksis/core/views.py b/aleksis/core/views.py
index 9bdc2ae48..ecbfdbb4c 100644
--- a/aleksis/core/views.py
+++ b/aleksis/core/views.py
@@ -1407,9 +1407,7 @@ class AccountRegisterView(SignupView):
     success_url = "index"
 
     def dispatch(self, request, *args, **kwargs):
-        if not test_rule("core.can_register") and not request.session.get(
-            "account_verified_email"
-        ):
+        if not test_rule("core.can_register") and not request.session.get("account_verified_email"):
             raise PermissionDenied()
         return super(AccountRegisterView, self).dispatch(request, *args, **kwargs)
 
-- 
GitLab