feat(Payments): Generate cash payment with purchase.

This commit is contained in:
2024-08-17 16:39:29 -05:00
parent 1f37e57e00
commit 0c95c21666
3 changed files with 35 additions and 4 deletions

View File

@@ -3,6 +3,7 @@ from django.utils.translation import gettext_lazy as _
from django.core.exceptions import ValidationError
from decimal import Decimal
from datetime import datetime
class Customer(models.Model):
@@ -118,7 +119,7 @@ class ReconciliationJar(models.Model):
self.payment_set.add(payment)
self.is_valid = True
class Payment(models.Model):
date_time = models.DateTimeField()
type_payment = models.CharField(
@@ -144,3 +145,23 @@ class Payment(models.Model):
reconciliation_jar=None
)
)
@classmethod
def total_payment_from_sale(cls, payment_method, sale):
payment = cls()
payment.date_time = datetime.today()
payment.type_payment = payment_method
payment.amount = sale.get_total()
payment.clean()
payment.save()
payment_sale = PaymentSale()
payment_sale.payment = payment
payment_sale.sale = sale
payment_sale.clean()
payment_sale.save()
class PaymentSale(models.Model):
payment = models.ForeignKey(Payment, on_delete=models.CASCADE)
sale = models.ForeignKey(Sale, on_delete=models.CASCADE)