adiciona o modelo de Diario Oficial e Tipo de Diario Oficial
This commit is contained in:
@ -32,3 +32,42 @@ class PDFDocument(models.Model):
|
||||
self.page_content = json.dumps(pages_data)
|
||||
|
||||
super().save(*args, **kwargs)
|
||||
|
||||
class TipoDiarioOficial(models.Model):
|
||||
nome = models.CharField(max_length=100, unique=True)
|
||||
|
||||
def __str__(self):
|
||||
return self.nome
|
||||
|
||||
class Meta:
|
||||
verbose_name_plural = "Tipos de Diários Oficiais"
|
||||
|
||||
|
||||
class DiarioOficial(models.Model):
|
||||
data = models.DateField()
|
||||
arquivo = models.FileField(upload_to="diarios_oficiais/", blank=True, null=True)
|
||||
tipo = models.ForeignKey(
|
||||
TipoDiarioOficial,
|
||||
blank=True,
|
||||
null=True,
|
||||
on_delete=models.CASCADE,
|
||||
related_name="diarios",
|
||||
)
|
||||
numero = models.CharField(max_length=20, unique=True)
|
||||
link = models.URLField(blank=True, null=True, unique=True)
|
||||
finalizado = models.BooleanField(default=False)
|
||||
|
||||
@property
|
||||
def data_formatada(self):
|
||||
return format_date(self.data, format="long", locale="pt_BR")
|
||||
|
||||
@property
|
||||
def is_online(self):
|
||||
return True if self.link else False
|
||||
|
||||
def __str__(self):
|
||||
return f"Diário {self.tipo.nome} nº {self.numero}, {self.data_formatada}"
|
||||
|
||||
class Meta:
|
||||
constraints = [models.UniqueConstraint(fields=["numero"], name="unique_numero")]
|
||||
verbose_name_plural = "Diários Oficiais"
|
||||
|
||||
Reference in New Issue
Block a user