mirror of https://gitlab.crans.org/bde/nk20
Compare commits
No commits in common. "f468c2f939f46f581c0ac64f3d8ecb52dd3fdaf9" and "7597ad859ac70f3f91cb08f6a6cc31b6b5864030" have entirely different histories.
f468c2f939
...
7597ad859a
|
@ -264,17 +264,6 @@ class SpecialTransaction(Transaction):
|
||||||
def type(self):
|
def type(self):
|
||||||
return _('Credit') if isinstance(self.source, NoteSpecial) else _("Debit")
|
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):
|
class MembershipTransaction(Transaction):
|
||||||
"""
|
"""
|
||||||
|
|
|
@ -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.
|
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.
|
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(
|
transaction = models.OneToOneField(
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
# Copyright (C) 2018-2020 by BDE ENS Paris-Saclay
|
# Copyright (C) 2018-2020 by BDE ENS Paris-Saclay
|
||||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
|
||||||
|
from note.models import NoteSpecial
|
||||||
from treasury.models import SpecialTransactionProxy, RemittanceType
|
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
|
When a special transaction is created, we create its linked proxy
|
||||||
"""
|
"""
|
||||||
|
if created and isinstance(instance.source, NoteSpecial) \
|
||||||
if instance.is_credit():
|
and RemittanceType.objects.filter(note=instance.source).exists():
|
||||||
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()
|
SpecialTransactionProxy.objects.create(transaction=instance, remittance=None).save()
|
||||||
|
|
Loading…
Reference in New Issue