Compare commits

..

No commits in common. "f468c2f939f46f581c0ac64f3d8ecb52dd3fdaf9" and "7597ad859ac70f3f91cb08f6a6cc31b6b5864030" have entirely different histories.

3 changed files with 5 additions and 19 deletions

View File

@ -264,17 +264,6 @@ class SpecialTransaction(Transaction):
def type(self):
return _('Credit') if isinstance(self.source, NoteSpecial) else _("Debit")
def is_credit(self):
return isinstance(self.source, NoteSpecial)
def is_debit(self):
return isinstance(self.destination, NoteSpecial)
def clean(self):
# SpecialTransaction are only possible with NoteSpecial object
if self.is_credit() == self.is_debit():
raise(ValidationError(_("A special transaction is only possible between a Note associated to a payment method and a User or a Club")))
class MembershipTransaction(Transaction):
"""

View File

@ -191,7 +191,7 @@ class SpecialTransactionProxy(models.Model):
"""
In order to keep modularity, we don't that the Note app depends on the treasury app.
That's why we create a proxy in this app, to link special transactions and remittances.
If it isn't very clean, it does what we want.
If it isn't very clean, that makes what we want.
"""
transaction = models.OneToOneField(

View File

@ -1,6 +1,7 @@
# Copyright (C) 2018-2020 by BDE ENS Paris-Saclay
# SPDX-License-Identifier: GPL-3.0-or-later
from note.models import NoteSpecial
from treasury.models import SpecialTransactionProxy, RemittanceType
@ -8,10 +9,6 @@ def save_special_transaction(instance, created, **kwargs):
"""
When a special transaction is created, we create its linked proxy
"""
if instance.is_credit():
if created and RemittanceType.objects.filter(note=instance.source).exists():
SpecialTransactionProxy.objects.create(transaction=instance, remittance=None).save()
else:
if created and RemittanceType.objects.filter(note=instance.destination).exists():
SpecialTransactionProxy.objects.create(transaction=instance, remittance=None).save()
if created and isinstance(instance.source, NoteSpecial) \
and RemittanceType.objects.filter(note=instance.source).exists():
SpecialTransactionProxy.objects.create(transaction=instance, remittance=None).save()