From 2a2f05e51cd84a01d8ad82c1dd02cc00be81cac9 Mon Sep 17 00:00:00 2001 From: feng626 <1304903146@qq.com> Date: Fri, 18 Feb 2022 17:28:45 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=88=A0=E9=99=A4=E7=BB=84=E7=BB=87?= =?UTF-8?q?=E5=85=B3=E8=81=94=E5=88=A0=E9=99=A4=E5=B7=A5=E5=8D=95=20?= =?UTF-8?q?=E5=B7=A5=E5=8D=95=E6=B5=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/orgs/models.py | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/apps/orgs/models.py b/apps/orgs/models.py index 6a8fd4302..5d975ce9a 100644 --- a/apps/orgs/models.py +++ b/apps/orgs/models.py @@ -13,7 +13,9 @@ class Organization(models.Model): created_by = models.CharField(max_length=32, null=True, blank=True, verbose_name=_('Created by')) date_created = models.DateTimeField(auto_now_add=True, null=True, blank=True, verbose_name=_('Date created')) comment = models.TextField(default='', blank=True, verbose_name=_('Comment')) - members = models.ManyToManyField('users.User', related_name='orgs', through='rbac.RoleBinding', through_fields=('org', 'user')) + members = models.ManyToManyField( + 'users.User', related_name='orgs', through='rbac.RoleBinding', through_fields=('org', 'user') + ) ROOT_ID = '00000000-0000-0000-0000-000000000000' ROOT_NAME = _('GLOBAL') @@ -152,6 +154,16 @@ class Organization(models.Model): }) return node + def delete_related_models(self): + from orgs.utils import tmp_to_root_org + from tickets.models import TicketFlow + with tmp_to_root_org(): + TicketFlow.objects.filter(org_id=self.id).delete() + + def delete(self, *args, **kwargs): + self.delete_related_models() + return super().delete(*args, **kwargs) + # class OrgMemberManager(models.Manager): # def remove_users(self, org, users): @@ -179,12 +191,17 @@ class OrganizationMember(models.Model): """ id = models.UUIDField(default=uuid.uuid4, primary_key=True) - org = models.ForeignKey(Organization, related_name='m2m_org_members', on_delete=models.CASCADE, verbose_name=_('Organization')) - user = models.ForeignKey('users.User', related_name='m2m_org_members', on_delete=models.CASCADE, verbose_name=_('User')) + org = models.ForeignKey( + Organization, related_name='m2m_org_members', on_delete=models.CASCADE, verbose_name=_('Organization') + ) + user = models.ForeignKey( + 'users.User', related_name='m2m_org_members', on_delete=models.CASCADE, verbose_name=_('User') + ) role = models.CharField(max_length=16, default='User', verbose_name=_("Role")) date_created = models.DateTimeField(auto_now_add=True, verbose_name=_("Date created")) date_updated = models.DateTimeField(auto_now=True, verbose_name=_("Date updated")) created_by = models.CharField(max_length=128, null=True, verbose_name=_('Created by')) + # objects = OrgMemberManager() class Meta: