feat(kfet/stats): statistic for kfet members
This commit is contained in:
parent
897ee5dc17
commit
b13ed3c169
3 changed files with 22 additions and 1 deletions
18
kfet/migrations/0083_operationgroup_is_kfet.py
Normal file
18
kfet/migrations/0083_operationgroup_is_kfet.py
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
# Generated by Django 4.2.16 on 2025-03-18 10:25
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
("kfet", "0082_alter_operation_options"),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AddField(
|
||||||
|
model_name="operationgroup",
|
||||||
|
name="is_kfet",
|
||||||
|
field=models.BooleanField(default=False),
|
||||||
|
),
|
||||||
|
]
|
|
@ -687,6 +687,7 @@ class OperationGroup(models.Model):
|
||||||
at = models.DateTimeField(default=timezone.now)
|
at = models.DateTimeField(default=timezone.now)
|
||||||
amount = models.DecimalField(max_digits=6, decimal_places=2, default=0)
|
amount = models.DecimalField(max_digits=6, decimal_places=2, default=0)
|
||||||
is_cof = models.BooleanField(default=False)
|
is_cof = models.BooleanField(default=False)
|
||||||
|
is_kfet = models.BooleanField(default=False)
|
||||||
# Optional
|
# Optional
|
||||||
comment = models.CharField(max_length=255, blank=True, default="")
|
comment = models.CharField(max_length=255, blank=True, default="")
|
||||||
valid_by = models.ForeignKey(
|
valid_by = models.ForeignKey(
|
||||||
|
|
|
@ -1259,6 +1259,7 @@ def kpsul_perform_operations(request):
|
||||||
operationgroup.valid_by = request.user.profile.account_kfet
|
operationgroup.valid_by = request.user.profile.account_kfet
|
||||||
# Filling cof status for statistics
|
# Filling cof status for statistics
|
||||||
operationgroup.is_cof = on_acc.is_cof
|
operationgroup.is_cof = on_acc.is_cof
|
||||||
|
operationgroup.is_kfet = on_acc.is_kfet
|
||||||
|
|
||||||
# Starting transaction to ensure data consistency
|
# Starting transaction to ensure data consistency
|
||||||
with transaction.atomic():
|
with transaction.atomic():
|
||||||
|
@ -1309,6 +1310,7 @@ def kpsul_perform_operations(request):
|
||||||
"checkout__name": operationgroup.checkout.name,
|
"checkout__name": operationgroup.checkout.name,
|
||||||
"at": operationgroup.at,
|
"at": operationgroup.at,
|
||||||
"is_cof": operationgroup.is_cof,
|
"is_cof": operationgroup.is_cof,
|
||||||
|
"is_kfet": operationgroup.is_kfet,
|
||||||
"comment": operationgroup.comment,
|
"comment": operationgroup.comment,
|
||||||
"valid_by__trigramme": (
|
"valid_by__trigramme": (
|
||||||
operationgroup.valid_by and operationgroup.valid_by.trigramme or None
|
operationgroup.valid_by and operationgroup.valid_by.trigramme or None
|
||||||
|
@ -1524,7 +1526,7 @@ def cancel_operations(request):
|
||||||
# Sort objects by pk to get deterministic responses.
|
# Sort objects by pk to get deterministic responses.
|
||||||
opegroups_pk = [opegroup.pk for opegroup in to_groups_amounts]
|
opegroups_pk = [opegroup.pk for opegroup in to_groups_amounts]
|
||||||
opegroups = (
|
opegroups = (
|
||||||
OperationGroup.objects.values("id", "amount", "is_cof")
|
OperationGroup.objects.values("id", "amount", "is_cof", "is_kfet")
|
||||||
.filter(pk__in=opegroups_pk)
|
.filter(pk__in=opegroups_pk)
|
||||||
.order_by("pk")
|
.order_by("pk")
|
||||||
)
|
)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue