change offer list and add party model and serializer
This commit is contained in:
@@ -6,10 +6,23 @@ from core.apps.accounts.models import User
|
||||
|
||||
|
||||
class Party(BaseModel):
|
||||
number = models.PositiveIntegerField(default=1)
|
||||
orders = models.ManyToManyField(Order, related_name='parties', null=True, blank=True)
|
||||
mediator = models.ForeignKey(User, on_delete=models.CASCADE, related_name='parties')
|
||||
# dates
|
||||
delivery_date = models.DateField()
|
||||
coled_date = models.DateField(null=True, blank=True)
|
||||
order_date = models.DateField(auto_now_add=True)
|
||||
payment_date = models.DateField()
|
||||
|
||||
status = models.CharField(
|
||||
max_length=20, choices=[('ORDERED', 'yetkazildi'), ('PROCESS', 'jarayonda')],
|
||||
null=True, blank=True
|
||||
)
|
||||
payment_status = models.FloatField(null=True, blank=True)
|
||||
process = models.FloatField(null=True, blank=True)
|
||||
confirmation = models.BooleanField(default=False)
|
||||
|
||||
comment = models.TextField(null=True, blank=True)
|
||||
audit = models.CharField(
|
||||
max_length=20, choices=[('CHECKED', 'tekshirildi'),('PROCESS', 'jarayonda')],
|
||||
@@ -18,8 +31,34 @@ class Party(BaseModel):
|
||||
audit_comment = models.TextField(null=True, blank=True)
|
||||
|
||||
def __str__(self):
|
||||
return f'{self.mediator.full_name} {self.delivery_date}'
|
||||
return str(self.number)
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
if not self.pk:
|
||||
last_party = Party.objects.order_by('number').last()
|
||||
if last_party:
|
||||
self.number = last_party.number + 1
|
||||
else:
|
||||
self.number = 1
|
||||
return super().save(*args, **kwargs)
|
||||
|
||||
class Meta:
|
||||
verbose_name = 'Partiya'
|
||||
verbose_name_plural = 'Partiyalar'
|
||||
|
||||
|
||||
class PartyAmount(BaseModel):
|
||||
party = models.OneToOneField(Party, on_delete=models.CASCADE, related_name='party_amount')
|
||||
total_price = models.PositiveBigIntegerField()
|
||||
cost_amount = models.PositiveBigIntegerField(default=0)
|
||||
calculated_amount = models.PositiveBigIntegerField(default=0)
|
||||
paid_amount = models.PositiveBigIntegerField(default=0)
|
||||
payment_amount = models.BigIntegerField(default=0)
|
||||
|
||||
def __str__(self):
|
||||
return f'{self.party} amount'
|
||||
|
||||
class Meta:
|
||||
verbose_name = 'Partiya Summasi'
|
||||
verbose_name_plural = 'Partiya summalari'
|
||||
|
||||
Reference in New Issue
Block a user