From 23d93af24d3a35ed7d9c2a866715e8786c6ac181 Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Pasquier <contact@jbpasquier.eu> Date: Tue, 29 Oct 2019 18:20:23 +0100 Subject: [PATCH] fix: virtual container, auto owner as member and unique constraint --- djangoldp_circle/models.py | 8 +++++++- djangoldp_circle/views.py | 4 +++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/djangoldp_circle/models.py b/djangoldp_circle/models.py index 777b28a..fa4351f 100644 --- a/djangoldp_circle/models.py +++ b/djangoldp_circle/models.py @@ -2,7 +2,7 @@ import random import string from django.conf import settings from django.db import models -from django.db.models.signals import pre_save +from django.db.models.signals import pre_save, post_save from django.dispatch import receiver from djangoldp.models import Model @@ -51,6 +51,7 @@ class CircleMember(Model): owner_perms = ["view", "add", "delete"] auto_author = "user" owner_field = "user" + unique_together = ['user', 'circle'] @receiver(pre_save, sender=Circle) @@ -66,3 +67,8 @@ def set_jabberid(sender, instance, **kwargs): settings.JABBER_DEFAULT_HOST ) instance.jabberRoom = True + +@receiver(post_save, sender=Circle) +def set_ower_as_member(instance, created, **kwargs): + if(created): + CircleMember.objects.create(user=instance.owner, circle=instance) diff --git a/djangoldp_circle/views.py b/djangoldp_circle/views.py index 8a77f83..1df5a46 100644 --- a/djangoldp_circle/views.py +++ b/djangoldp_circle/views.py @@ -7,4 +7,6 @@ class CirclesJoinableViewset(LDPViewSet): def get_queryset(self): return super().get_queryset() \ - .exclude(team__id=self.request.user.id) + .exclude(team__id=self.request.user.id) \ + .exclude(status="Private") \ + .exclude(status="Archived") -- GitLab