add parent to distributios

This commit is contained in:
2025-07-30 11:18:44 +03:30
parent e33bb0cc98
commit b2f6ff1818
4 changed files with 52 additions and 1 deletions

View File

@@ -0,0 +1,19 @@
# Generated by Django 5.0 on 2025-07-30 07:47
import datetime
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('pos_device', '0011_alter_deviceactivationcode_expires_at'),
]
operations = [
migrations.AlterField(
model_name='deviceactivationcode',
name='expires_at',
field=models.DateTimeField(default=datetime.datetime(2025, 7, 30, 11, 17, 6, 383610)),
),
]

View File

@@ -0,0 +1,24 @@
# Generated by Django 5.0 on 2025-07-30 07:47
import django.db.models.deletion
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('product', '0057_historicalquotadistribution_distributed_and_more'),
]
operations = [
migrations.AddField(
model_name='historicalquotadistribution',
name='parent_distribution',
field=models.ForeignKey(blank=True, db_constraint=False, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='+', to='product.quotadistribution'),
),
migrations.AddField(
model_name='quotadistribution',
name='parent_distribution',
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='parent', to='product.quotadistribution'),
),
]

View File

@@ -530,6 +530,12 @@ class QuotaLiveStockAgeLimitation(BaseModel):
class QuotaDistribution(BaseModel):
parent_distribution = models.ForeignKey(
'self',
on_delete=models.CASCADE,
related_name='parent',
null=True
)
assigner_organization = models.ForeignKey(
Organization,
on_delete=models.CASCADE,

View File

@@ -32,13 +32,14 @@ def remaining_distribution_weight(instance: QuotaDistribution):
""" calculate remaining & distributed weight from distribution """
organization = get_organization_by_user(get_current_user())
print(get_current_user())
total_assigned_distribution = QuotaDistribution.objects.filter(
Q(assigned_organization=organization)
).aggregate(
total=Sum('weight')
)['total'] or 0
print(organization.name)
print(total_assigned_distribution)
total_assigner_distribution = QuotaDistribution.objects.filter(
@@ -48,6 +49,7 @@ def remaining_distribution_weight(instance: QuotaDistribution):
)['total'] or 0
print(total_assigner_distribution)
print(organization.name)
print(total_assigned_distribution - total_assigner_distribution)