mirror of
https://gitlab.crans.org/bde/nk20
synced 2025-10-02 14:16:49 +02:00
Compare commits
2 Commits
small_feat
...
main
Author | SHA1 | Date | |
---|---|---|---|
|
d4cb464169 | ||
|
cb3b34f874 |
@@ -74,15 +74,11 @@ class FoodListView(ProtectQuerysetMixin, LoginRequiredMixin, MultiTableMixin, Li
|
|||||||
|
|
||||||
search_table = qs.filter(PermissionBackend.filter_queryset(self.request, Food, 'view'))
|
search_table = qs.filter(PermissionBackend.filter_queryset(self.request, Food, 'view'))
|
||||||
# table open
|
# table open
|
||||||
open_table = self.get_queryset().filter(
|
open_table = self.get_queryset().order_by('expiry_date').filter(
|
||||||
Q(polymorphic_ctype__model='transformedfood')
|
Q(polymorphic_ctype__model='transformedfood')
|
||||||
| Q(polymorphic_ctype__model='basicfood', basicfood__date_type='DLC')).filter(
|
| Q(polymorphic_ctype__model='basicfood', basicfood__date_type='DLC')).filter(
|
||||||
expiry_date__lt=timezone.now(), end_of_life='').filter(
|
expiry_date__lt=timezone.now(), end_of_life='').filter(
|
||||||
PermissionBackend.filter_queryset(self.request, Food, 'view'))
|
PermissionBackend.filter_queryset(self.request, Food, 'view'))
|
||||||
open_table = open_table.union(self.get_queryset().filter(
|
|
||||||
Q(end_of_life='', order__iexact='open')
|
|
||||||
).filter(
|
|
||||||
PermissionBackend.filter_queryset(self.request, Food, 'view'))).order_by('expiry_date')
|
|
||||||
# table served
|
# table served
|
||||||
served_table = self.get_queryset().order_by('-pk').filter(
|
served_table = self.get_queryset().order_by('-pk').filter(
|
||||||
end_of_life='', is_ready=True).exclude(
|
end_of_life='', is_ready=True).exclude(
|
||||||
|
@@ -1,18 +0,0 @@
|
|||||||
# Generated by Django 5.2.6 on 2025-09-28 20:12
|
|
||||||
|
|
||||||
from django.db import migrations, models
|
|
||||||
|
|
||||||
|
|
||||||
class Migration(migrations.Migration):
|
|
||||||
|
|
||||||
dependencies = [
|
|
||||||
('treasury', '0010_alter_invoice_bde'),
|
|
||||||
]
|
|
||||||
|
|
||||||
operations = [
|
|
||||||
migrations.AddField(
|
|
||||||
model_name='sogecredit',
|
|
||||||
name='valid',
|
|
||||||
field=models.BooleanField(blank=True, default=False, verbose_name='Valid'),
|
|
||||||
),
|
|
||||||
]
|
|
@@ -308,12 +308,6 @@ class SogeCredit(models.Model):
|
|||||||
null=True,
|
null=True,
|
||||||
)
|
)
|
||||||
|
|
||||||
valid = models.BooleanField(
|
|
||||||
default=False,
|
|
||||||
verbose_name=_("Valid"),
|
|
||||||
blank=True,
|
|
||||||
)
|
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
verbose_name = _("Credit from the Société générale")
|
verbose_name = _("Credit from the Société générale")
|
||||||
verbose_name_plural = _("Credits from the Société générale")
|
verbose_name_plural = _("Credits from the Société générale")
|
||||||
@@ -344,7 +338,7 @@ class SogeCredit(models.Model):
|
|||||||
credit_transaction.save()
|
credit_transaction.save()
|
||||||
credit_transaction.refresh_from_db()
|
credit_transaction.refresh_from_db()
|
||||||
self.credit_transaction = credit_transaction
|
self.credit_transaction = credit_transaction
|
||||||
elif not self.valid_legacy:
|
elif not self.valid:
|
||||||
self.credit_transaction.amount = self.amount
|
self.credit_transaction.amount = self.amount
|
||||||
self.credit_transaction._force_save = True
|
self.credit_transaction._force_save = True
|
||||||
self.credit_transaction.save()
|
self.credit_transaction.save()
|
||||||
@@ -352,12 +346,12 @@ class SogeCredit(models.Model):
|
|||||||
return super().save(*args, **kwargs)
|
return super().save(*args, **kwargs)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def valid_legacy(self):
|
def valid(self):
|
||||||
return self.credit_transaction and self.credit_transaction.valid
|
return self.credit_transaction and self.credit_transaction.valid
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def amount(self):
|
def amount(self):
|
||||||
if self.valid_legacy:
|
if self.valid:
|
||||||
return self.credit_transaction.total
|
return self.credit_transaction.total
|
||||||
amount = 0
|
amount = 0
|
||||||
transactions_wei = self.transactions.filter(membership__club__weiclub__isnull=False)
|
transactions_wei = self.transactions.filter(membership__club__weiclub__isnull=False)
|
||||||
@@ -371,7 +365,7 @@ class SogeCredit(models.Model):
|
|||||||
The Sogé credit may be created after the user already paid its memberships.
|
The Sogé credit may be created after the user already paid its memberships.
|
||||||
We query transactions and update the credit, if it is unvalid.
|
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
|
return
|
||||||
|
|
||||||
# Soge do not pay BDE and kfet memberships since 2022
|
# Soge do not pay BDE and kfet memberships since 2022
|
||||||
@@ -411,7 +405,7 @@ class SogeCredit(models.Model):
|
|||||||
Invalidating a Société générale delete the transaction of the bank if it was already created.
|
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...
|
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.valid = False
|
||||||
self.credit_transaction.save()
|
self.credit_transaction.save()
|
||||||
for tr in self.transactions.all():
|
for tr in self.transactions.all():
|
||||||
@@ -420,7 +414,7 @@ class SogeCredit(models.Model):
|
|||||||
tr.save()
|
tr.save()
|
||||||
|
|
||||||
def validate(self, force=False):
|
def validate(self, force=False):
|
||||||
if self.valid_legacy and not force:
|
if self.valid and not force:
|
||||||
# The credit is already done
|
# The credit is already done
|
||||||
return
|
return
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user