1
0
mirror of https://gitlab.crans.org/bde/nk20 synced 2025-10-18 03:15:10 +02:00

Compare commits

...

2 Commits

Author SHA1 Message Date
Ehouarn
75a59e0a7a Incorrect wei test due to new SogeCredit logic 2025-10-17 19:14:17 +02:00
Ehouarn
af39bf7068 Second step for SogeCredit validity 2025-10-17 17:55:43 +02:00
5 changed files with 11 additions and 9 deletions

View File

@@ -338,13 +338,13 @@ class SogeCredit(models.Model):
last_name=self.user.last_name,
first_name=self.user.first_name,
bank="Société générale",
valid=False,
valid=True,
)
credit_transaction._force_save = True
credit_transaction.save()
credit_transaction.refresh_from_db()
self.credit_transaction = credit_transaction
elif not self.valid_legacy:
elif not self.valid:
self.credit_transaction.amount = self.amount
self.credit_transaction._force_save = True
self.credit_transaction.save()
@@ -371,7 +371,7 @@ class SogeCredit(models.Model):
The Sogé credit may be created after the user already paid its memberships.
We query transactions and update the credit, if it is unvalid.
"""
if self.valid_legacy or not self.pk:
if self.valid or not self.pk:
return
# Soge do not pay BDE and kfet memberships since 2022
@@ -403,7 +403,7 @@ class SogeCredit(models.Model):
self.transactions.add(m.transaction)
for tr in self.transactions.all():
tr.valid = False
tr.valid = True
tr.save()
def invalidate(self):
@@ -411,7 +411,7 @@ class SogeCredit(models.Model):
Invalidating a Société générale delete the transaction of the bank if it was already created.
Treasurers must know what they do, With Great Power Comes Great Responsibility...
"""
if self.valid_legacy:
if self.valid:
self.credit_transaction.valid = False
self.credit_transaction.save()
for tr in self.transactions.all():
@@ -420,7 +420,7 @@ class SogeCredit(models.Model):
tr.save()
def validate(self, force=False):
if self.valid_legacy and not force:
if self.valid and not force:
# The credit is already done
return
@@ -428,6 +428,7 @@ class SogeCredit(models.Model):
self.invalidate()
# Refresh credit amount
self.save()
self.valid = True
self.credit_transaction.valid = True
self.credit_transaction._force_save = True
self.credit_transaction.save()

View File

@@ -56,6 +56,7 @@ class InvoiceTable(tables.Table):
model = Invoice
template_name = 'django_tables2/bootstrap4.html'
fields = ('id', 'name', 'object', 'acquitted', 'invoice',)
order_by = ('-id',)
class RemittanceTable(tables.Table):

View File

@@ -359,7 +359,7 @@ class TestSogeCredits(TestCase):
))
self.assertRedirects(response, reverse("treasury:manage_soge_credit", args=(soge_credit.pk,)), 302, 200)
soge_credit.refresh_from_db()
self.assertTrue(soge_credit.valid_legacy)
self.assertTrue(soge_credit.valid)
self.user.note.refresh_from_db()
self.assertEqual(
Transaction.objects.filter(Q(source=self.user.note) | Q(destination=self.user.note)).count(), 3)

View File

@@ -417,7 +417,7 @@ class SogeCreditListView(LoginRequiredMixin, ProtectQuerysetMixin, SingleTableVi
)
if "valid" not in self.request.GET or not self.request.GET["valid"]:
qs = qs.filter(credit_transaction__valid=False)
qs = qs.filter(valid=False)
return qs

View File

@@ -680,7 +680,7 @@ class TestWEIRegistration(TestCase):
self.assertTrue(soge_credit.exists())
soge_credit = soge_credit.get()
self.assertTrue(membership.transaction in soge_credit.transactions.all())
self.assertFalse(membership.transaction.valid)
self.assertTrue(membership.transaction.valid)
# Check that if the WEI is started, we can't update a wei
self.wei.date_start = date(2000, 1, 1)