diff --git a/app/apps/common/admin.py b/app/apps/common/admin.py index a5fd486..a83dac5 100644 --- a/app/apps/common/admin.py +++ b/app/apps/common/admin.py @@ -1,7 +1,26 @@ from django.contrib import admin +from django.utils.translation import gettext_lazy as _ + + +@admin.action(description=_("Make public")) +def make_public(modeladmin, request, queryset): + queryset.update(visibility="public") + + +@admin.action(description=_("Make private")) +def make_private(modeladmin, request, queryset): + queryset.update(visibility="private") class SharedObjectModelAdmin(admin.ModelAdmin): + actions = [make_public, make_private] + + list_display = ("__str__", "visibility", "owner", "get_shared_with") + + @admin.display(description=_("Shared with users")) + def get_shared_with(self, obj): + return ", ".join([p.email for p in obj.shared_with.all()]) + def get_queryset(self, request): # Use the all_objects manager to show all transactions, including deleted ones return self.model.all_objects.all()