From e7b8d74dd755497b24ef575c649939e21b69040c Mon Sep 17 00:00:00 2001 From: Josh <195121232+partizipation@users.noreply.github.com> Date: Tue, 1 Jul 2025 11:52:57 +0200 Subject: [PATCH] apps/comments: add ar comment label --- adhocracy4/comments_async/serializers.py | 19 ++++++++++++++++--- changelog/ST-490.md | 5 +++++ requirements/base.txt | 1 + 3 files changed, 22 insertions(+), 3 deletions(-) create mode 100644 changelog/ST-490.md diff --git a/adhocracy4/comments_async/serializers.py b/adhocracy4/comments_async/serializers.py index 58c7038101..559ea0bfc1 100644 --- a/adhocracy4/comments_async/serializers.py +++ b/adhocracy4/comments_async/serializers.py @@ -2,6 +2,7 @@ from django.contrib.contenttypes.models import ContentType from django.utils.translation import gettext as _ from easy_thumbnails.files import get_thumbnailer +from guest_user.functions import is_guest_user from rest_framework import serializers from adhocracy4.api.dates import get_datetime_display @@ -79,7 +80,12 @@ def to_representation(self, instance): return ret def get_user_profile_url(self, obj): - if obj.is_censored or obj.is_removed or obj.is_blocked: + if ( + is_guest_user(obj.creator) + or obj.is_censored + or obj.is_removed + or obj.is_blocked + ): return "" try: return obj.creator.get_absolute_url() @@ -87,8 +93,15 @@ def get_user_profile_url(self, obj): return "" def get_user_name(self, obj): - """Don't show username if comment is marked removed or censored.""" - if obj.is_censored or obj.is_removed or obj.is_blocked: + """ + For arpas, guest users will only be created in the AR experience. + Therefore if a user is guest, display "AR comment" in place of username. + + Don't show username if comment is marked removed or censored. + """ + if is_guest_user(obj.creator): + return _("AR comment") + elif obj.is_censored or obj.is_removed or obj.is_blocked: return _("unknown user") return obj.creator.get_short_name() diff --git a/changelog/ST-490.md b/changelog/ST-490.md new file mode 100644 index 0000000000..27e5f40529 --- /dev/null +++ b/changelog/ST-490.md @@ -0,0 +1,5 @@ +### Added +- dependency: django-guest-user + +### Changed +- comments: guest users are labeled as "AR comment" for the username \ No newline at end of file diff --git a/requirements/base.txt b/requirements/base.txt index b21a135a8e..0a848d515c 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -6,6 +6,7 @@ django-autoslug==1.9.9 https://github.com/liqd/django-ckeditor-5/releases/download/v0.2.11-liqd/django_ckeditor_5-0.2.11-py3-none-any.whl django-enumfield==3.1 django-filter==24.3 +django-guest-user @ git+https://github.com/liqd/django-guest-user.git django-widget-tweaks==1.5.0 djangorestframework==3.15.2 djangorestframework-gis==1.1.0