diff --git a/apps/treasury/models.py b/apps/treasury/models.py index 63e1d7cd..227773b7 100644 --- a/apps/treasury/models.py +++ b/apps/treasury/models.py @@ -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() diff --git a/apps/treasury/tables.py b/apps/treasury/tables.py index cf17a2c8..2931e800 100644 --- a/apps/treasury/tables.py +++ b/apps/treasury/tables.py @@ -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): diff --git a/apps/treasury/tests/test_treasury.py b/apps/treasury/tests/test_treasury.py index d1d5a414..8feb5485 100644 --- a/apps/treasury/tests/test_treasury.py +++ b/apps/treasury/tests/test_treasury.py @@ -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) diff --git a/apps/treasury/views.py b/apps/treasury/views.py index eb2fd0d7..3d4b4397 100644 --- a/apps/treasury/views.py +++ b/apps/treasury/views.py @@ -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 diff --git a/apps/wei/tests/test_wei_registration.py b/apps/wei/tests/test_wei_registration.py index ca8f08e9..18e93504 100644 --- a/apps/wei/tests/test_wei_registration.py +++ b/apps/wei/tests/test_wei_registration.py @@ -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)