From c3e2c5de386259522da94b55125f67c691965522 Mon Sep 17 00:00:00 2001 From: Mara Karagianni Date: Thu, 13 Feb 2025 14:59:14 +0100 Subject: [PATCH] work with forked guest-uesr lib --- adhocracy-plus/config/settings/base.py | 10 +++++----- apps/users/__init__.py | 4 +--- apps/users/apps.py | 9 --------- apps/users/guests.py | 12 ------------ apps/users/models.py | 25 +------------------------ requirements/base.txt | 1 + 6 files changed, 8 insertions(+), 53 deletions(-) delete mode 100644 apps/users/guests.py diff --git a/adhocracy-plus/config/settings/base.py b/adhocracy-plus/config/settings/base.py index f8af8155a..43f93f8d0 100644 --- a/adhocracy-plus/config/settings/base.py +++ b/adhocracy-plus/config/settings/base.py @@ -34,14 +34,14 @@ "widget_tweaks", "rest_framework", "rest_framework.authtoken", - "guest_user", - "guest_user.contrib.allauth", # JWT authentication "rest_framework_simplejwt.token_blacklist", "django_filters", "allauth", "allauth.account", "allauth.socialaccount", + "guest_user", + # "guest_user.contrib.allauth", "rules.apps.AutodiscoverRulesConfig", "easy_thumbnails", "parler", @@ -710,8 +710,8 @@ } GUEST_USER = { - 'NAME_GENERATOR': 'guest_user.functions.generate_uuid_username', # Default option + "NAME_GENERATOR": "guest_user.functions.generate_uuid_username", # Default option } -GUEST_USER_MODEL = "a4_candy_users.CustomGuestUser" -# GUEST_USER_MODEL = "users.CustomGuestUser" \ No newline at end of file +# GUEST_USER_MODEL = "a4_candy_users.CustomGuestUser" +# GUEST_USER_MODEL = "users.CustomGuestUser" diff --git a/apps/users/__init__.py b/apps/users/__init__.py index 26a048165..e48716a45 100644 --- a/apps/users/__init__.py +++ b/apps/users/__init__.py @@ -1,10 +1,8 @@ from django.contrib.auth.signals import user_logged_in from django.utils.translation import gettext_lazy as _ + # from .guests import CustomGuestUser # import guests -# __all__ = ['CustomGuest'] - -# default_app_config = "users.apps.UsersConfig" USERNAME_REGEX = r"^[\w]+[ \w.@+-]*$" diff --git a/apps/users/apps.py b/apps/users/apps.py index 3c242925f..5f9e6f13c 100644 --- a/apps/users/apps.py +++ b/apps/users/apps.py @@ -4,12 +4,3 @@ class Config(AppConfig): name = "apps.users" label = "a4_candy_users" - - -# class UsersConfig(AppConfig): -# name = "apps.users" -# label = "a4_candy_users" - -# def ready(self): -# # Import the model here to ensure it's registered -# from .guests import CustomGuestUser diff --git a/apps/users/guests.py b/apps/users/guests.py deleted file mode 100644 index 30fdce4d3..000000000 --- a/apps/users/guests.py +++ /dev/null @@ -1,12 +0,0 @@ -# # from apps.users.models import User -# from guest_user.models import Guest, GuestManager - - -# class CustomGuestManager(GuestManager): -# def create_guest_user(self, request=None, username=None): -# # is just User in the example... -# user = Guest.objects.create(username=username, email='guest' + username + '@liqd.net') -# return user - -# class CustomGuestUser(Guest): -# objects = CustomGuestManager() \ No newline at end of file diff --git a/apps/users/models.py b/apps/users/models.py index 8c6b55247..4c1802d6a 100644 --- a/apps/users/models.py +++ b/apps/users/models.py @@ -12,34 +12,10 @@ from adhocracy4.projects.enums import Access from adhocracy4.projects.models import Project from apps.organisations.models import OrganisationTermsOfUse -# from .guests import CustomGuestUser -# __all__ = ['CustomGuest'] from . import USERNAME_INVALID_MESSAGE from . import USERNAME_REGEX -from guest_user.models import Guest, GuestManager - -# didn't work -# from django.utils.module_loading import import_string - -# def get_guest_model(): -# Guest = import_string('guest_user.models.Guest') -# return Guest - -# def get_guest_manager(): -# GuestManager = import_string('guest_user.models.GuestManager') -# return GuestManager - -class CustomGuestManager(GuestManager): - def create_guest_user(self, request=None, username=None): - # is just User in the example... - user = CustomGuestUser.objects.create(username=username, email='guest' + username + '@liqd.net') - return user - -class CustomGuestUser(Guest): - objects = CustomGuestManager() - class User(auth_models.AbstractBaseUser, auth_models.PermissionsMixin): username = models.CharField( @@ -150,6 +126,7 @@ class User(auth_models.AbstractBaseUser, auth_models.PermissionsMixin): objects = auth_models.UserManager() USERNAME_FIELD = "username" + PASSWORD_FIELD = "username" REQUIRED_FIELDS = ["email"] def get_projects_follow_list(self, exclude_private_projects=False): diff --git a/requirements/base.txt b/requirements/base.txt index 20b1f316f..aec8e8aa7 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -5,6 +5,7 @@ git+https://github.com/liqd/adhocracy4.git@aplus-v2501.1.2#egg=adhocracy4 brotli==1.1.0 django-cloudflare-push==0.2.2 django_csp==3.8 +django-guest-user @ git+https://github.com/liqd/django-guest-user.git@mk-2025-add-email-password-to-guest-user django-parler==2.3 djangorestframework-simplejwt==5.3.1 sentry-sdk==2.19.2