models.py 2.11 KB
from django.db import models


from .utils import valid_extension
from .constants import STATUS_CHOICE

from usuario.models import Usuario
from organismo.models import Organismo

# Create your models here.


class Precio (models.Model):
    precio = models.FloatField(max_length=50, blank=False, null=False)
    vigencia_desde = models.DateTimeField()
    vigencia_hasta = models.DateTimeField()
    usuario = models.ForeignKey(Usuario, on_delete=models.CASCADE)
    moneda = models.CharField(max_length=50, blank=False, null=False)
    precio_ejemplar = models.FloatField(max_length=50, blank=False, null=False)

    class Meta:
        verbose_name = 'Administrador'
        verbose_name_plural = 'Administradores'

    def __str__(self):
        return self.moneda


class Edicto(models.Model):
    usuario = models.ForeignKey(Usuario, on_delete=models.CASCADE, verbose_name='Usuario')
    organismo = models.ForeignKey(Organismo, on_delete=models.CASCADE, verbose_name='Organismo')
    cuerpo_edicto = models.TextField(blank=False, null=False)
    archivo = models.FileField(upload_to="uploads/%Y/%m/%d/", null=False, blank=False, validators=[valid_extension])
    dias_plubicar = models.FloatField(default=0.00, blank=False, null=False)
    cantidad_sellos = models.FloatField(default=0.00, blank=False, null=False)
    estado = models.CharField(max_length=150, choices=STATUS_CHOICE, default='inciado')
    cantidad_palabras = models.IntegerField()
    cantidad_copias = models.IntegerField()
    fecha_publicacion = models.DateTimeField()

    class Meta:
        verbose_name = 'Edicto'
        verbose_name_plural = 'Edictos'

    def __str__(self):
        return self.cuerpo_edicto


class ComprobantePago(models.Model):
    edicto = models.ForeignKey(Edicto, on_delete=models.CASCADE)
    resultado = models.FloatField(blank=False, null=False)
    numero_comprobante = models.CharField(max_length=300, blank=False, null=True)
    fecha_pago = models.DateTimeField(blank=False, null=True)

    class Meta:
        verbose_name = 'ComprobantePago'
        verbose_name_plural = 'ComprobantesPagos'

    def __str__(self):
        return self.edicto