feat: lots of changes
This commit is contained in:
+29
-12
@@ -7,11 +7,6 @@ from django.utils.text import gettext_lazy as _
|
||||
|
||||
|
||||
class Product(models.Model):
|
||||
class UnitChoices(models.TextChoices):
|
||||
UNIT = "UNIT", _("Unidad")
|
||||
WEIGHT_KG = "KG", _("kg")
|
||||
VOLUME_LITER = "L", _("L")
|
||||
|
||||
name = models.CharField(
|
||||
max_length=96,
|
||||
blank=False,
|
||||
@@ -30,12 +25,8 @@ class Product(models.Model):
|
||||
default=Decimal("0"),
|
||||
verbose_name=_("Stock"),
|
||||
)
|
||||
unit = models.CharField(
|
||||
max_length=6,
|
||||
choices=UnitChoices.choices,
|
||||
default=UnitChoices.UNIT,
|
||||
verbose_name=_("Unidad de medida"),
|
||||
)
|
||||
is_digital_asset = models.BooleanField(default=False)
|
||||
url = models.URLField(blank=True, verbose_name=_('URL de descarga'))
|
||||
|
||||
def __str__(self):
|
||||
return self.name
|
||||
@@ -56,9 +47,19 @@ class ProductPrice(models.Model):
|
||||
verbose_name=_("Producto"),
|
||||
related_name="prices",
|
||||
)
|
||||
tax = models.ForeignKey(
|
||||
"shop.Tax",
|
||||
on_delete=models.PROTECT,
|
||||
verbose_name=_("Impuesto aplicable"),
|
||||
)
|
||||
|
||||
def __str__(self):
|
||||
return f"{self.price}"
|
||||
return f"{self.price} - {self.tax.code}"
|
||||
|
||||
@property
|
||||
def price_with_tax(self):
|
||||
tax_value = self.price * (self.tax.value / 100)
|
||||
return round(self.price + tax_value, 2)
|
||||
|
||||
class Meta:
|
||||
verbose_name = _("Precio de producto")
|
||||
@@ -170,7 +171,23 @@ class OrderLine(models.Model):
|
||||
|
||||
|
||||
class Order(models.Model):
|
||||
class Statuses(models.TextChoices):
|
||||
STATUS_PENDING = "PEN", _("Pendiente de pago")
|
||||
STATUS_PAID = "PAI", _("Pagado")
|
||||
STATUS_READY = "RDY", _("Preparado")
|
||||
STATUS_TO_BE_SENT = "TBS", _("Listo para ser enviado")
|
||||
STATUS_SENT = "SNT", _("Enviado")
|
||||
STATUS_DELIVERED = "DLV", _("Entregado")
|
||||
STATUS_FINISHED = "FIN", _("Finalizado")
|
||||
STATUS_CANCELED = "CAN", _("Cancelado")
|
||||
STATUS_RETURNED = "RTN", _("Devuelto")
|
||||
|
||||
uuid = models.UUIDField(default=uuid4, verbose_name=_("UUID"), db_index=True)
|
||||
|
||||
status = models.CharField(
|
||||
max_length=3, default=Statuses.STATUS_PENDING, verbose_name=_("Estado")
|
||||
)
|
||||
|
||||
creation_date = models.DateTimeField(
|
||||
auto_now_add=True, verbose_name=_("Fecha de creación")
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user