fix(transactions): duplicate totals when account is shared with owner or owner-less and shared

#247
This commit is contained in:
Herculino Trotta
2025-04-27 15:57:55 -03:00
parent be89509beb
commit 59ce50299a

View File

@@ -118,13 +118,20 @@ class SoftDeleteManager(models.Manager):
qs = SoftDeleteQuerySet(self.model, using=self._db)
user = get_current_user()
if user and not user.is_anonymous:
return qs.filter(
Q(account__visibility="public")
| Q(account__owner=user)
| Q(account__shared_with=user)
| Q(account__visibility="private", account__owner=None),
deleted=False,
).distinct()
account_ids = (
qs.filter(
Q(account__visibility="public")
| Q(account__owner=user)
| Q(account__shared_with=user)
| Q(account__visibility="private", account__owner=None),
deleted=False,
)
.values_list("account__id", flat=True)
.distinct()
)
return qs.filter(account_id__in=account_ids, deleted=False)
else:
return qs.filter(
deleted=False,