|
|
@ -53,43 +53,55 @@ def texto_upload_path(instance, filename): |
|
|
|
@reversion.register() |
|
|
|
class Protocolo(models.Model): |
|
|
|
numero = models.PositiveIntegerField( |
|
|
|
blank=False, null=False, verbose_name=_('Número de Protocolo')) |
|
|
|
ano = models.PositiveSmallIntegerField(blank=False, |
|
|
|
null=False, |
|
|
|
choices=RANGE_ANOS, |
|
|
|
verbose_name=_('Ano do Protocolo')) |
|
|
|
data = models.DateField(null=True, blank=True, |
|
|
|
verbose_name=_('Data do Protocolo'), |
|
|
|
help_text=_('Informado manualmente')) |
|
|
|
hora = models.TimeField(null=True, blank=True, |
|
|
|
verbose_name=_('Hora do Protocolo'), |
|
|
|
help_text=_('Informado manualmente')) |
|
|
|
blank=False, |
|
|
|
null=False, |
|
|
|
verbose_name=_('Número de Protocolo')) |
|
|
|
ano = models.PositiveSmallIntegerField( |
|
|
|
blank=False, |
|
|
|
null=False, |
|
|
|
choices=RANGE_ANOS, |
|
|
|
verbose_name=_('Ano do Protocolo')) |
|
|
|
data = models.DateField( |
|
|
|
null=True, |
|
|
|
blank=True, |
|
|
|
verbose_name=_('Data do Protocolo'), |
|
|
|
help_text=_('Informado manualmente')) |
|
|
|
hora = models.TimeField( |
|
|
|
null=True, |
|
|
|
blank=True, |
|
|
|
verbose_name=_('Hora do Protocolo'), |
|
|
|
help_text=_('Informado manualmente')) |
|
|
|
timestamp_data_hora_manual = models.DateTimeField(default=timezone.now) |
|
|
|
user_data_hora_manual = models.CharField( |
|
|
|
max_length=256, blank=True, |
|
|
|
max_length=256, |
|
|
|
blank=True, |
|
|
|
verbose_name=_('IP'), |
|
|
|
help_text=_('Usuário que está realizando Protocolo e informando ' |
|
|
|
'data e hora manualmente.')) |
|
|
|
help_text=_('Usuário que está realizando Protocolo e informando data e hora manualmente.')) |
|
|
|
ip_data_hora_manual = models.CharField( |
|
|
|
max_length=256, blank=True, |
|
|
|
max_length=256, |
|
|
|
blank=True, |
|
|
|
verbose_name=_('IP'), |
|
|
|
help_text=_('Endereço IP da estação de trabalho ' |
|
|
|
'do usuário que está realizando Protocolo e informando ' |
|
|
|
'data e hora manualmente.')) |
|
|
|
|
|
|
|
# Não foi utilizado auto_now_add=True em timestamp porque |
|
|
|
# ele usa datetime.now que não é timezone aware. |
|
|
|
help_text=_('Endereço IP da estação de trabalho do usuário que está realizando Protocolo e ' |
|
|
|
'informando data e hora manualmente.')) |
|
|
|
# Não foi utilizado auto_now_add=True em timestamp porque ele usa datetime.now que não é timezone aware. |
|
|
|
timestamp = models.DateTimeField( |
|
|
|
default=timezone.now, null=True, blank=True) |
|
|
|
null=True, |
|
|
|
blank=True, |
|
|
|
default=timezone.now) |
|
|
|
tipo_protocolo = models.PositiveIntegerField( |
|
|
|
blank=True, null=True, verbose_name=_('Tipo de Protocolo')) |
|
|
|
blank=True, |
|
|
|
null=True, |
|
|
|
verbose_name=_('Tipo de Protocolo')) |
|
|
|
tipo_processo = models.PositiveIntegerField() |
|
|
|
interessado = models.CharField( |
|
|
|
max_length=200, blank=True, verbose_name=_('Interessado')) |
|
|
|
autor = models.ForeignKey(Autor, |
|
|
|
blank=True, |
|
|
|
null=True, |
|
|
|
on_delete=models.PROTECT) |
|
|
|
max_length=200, |
|
|
|
blank=True, |
|
|
|
verbose_name=_('Interessado')) |
|
|
|
autor = models.ForeignKey( |
|
|
|
Autor, |
|
|
|
blank=True, |
|
|
|
null=True, |
|
|
|
on_delete=models.SET_NULL) |
|
|
|
assunto_ementa = models.TextField(blank=True) |
|
|
|
tipo_documento = models.ForeignKey( |
|
|
|
TipoDocumentoAdministrativo, |
|
|
@ -104,14 +116,17 @@ class Protocolo(models.Model): |
|
|
|
on_delete=models.PROTECT, |
|
|
|
verbose_name=_('Tipo de Matéria')) |
|
|
|
numero_paginas = models.PositiveIntegerField( |
|
|
|
blank=True, null=True, verbose_name=_('Número de Páginas')) |
|
|
|
observacao = models.TextField( |
|
|
|
blank=True, verbose_name=_('Observação')) |
|
|
|
blank=True, |
|
|
|
null=True, |
|
|
|
verbose_name=_('Número de Páginas')) |
|
|
|
observacao = models.TextField(blank=True, verbose_name=_('Observação')) |
|
|
|
anulado = models.BooleanField(default=False) |
|
|
|
user_anulacao = models.CharField(max_length=20, blank=True) |
|
|
|
ip_anulacao = models.CharField(max_length=15, blank=True) |
|
|
|
justificativa_anulacao = models.CharField( |
|
|
|
max_length=260, blank=True, verbose_name=_('Motivo')) |
|
|
|
max_length=260, |
|
|
|
blank=True, |
|
|
|
verbose_name=_('Motivo')) |
|
|
|
timestamp_anulacao = models.DateTimeField(blank=True, null=True) |
|
|
|
|
|
|
|
class Meta: |
|
|
|