Browse Source

Troca restrição de Autor em Protocolo (#3218)

pull/3222/head
Vinícius Cantuária 5 years ago
committed by GitHub
parent
commit
ddc3ed9d2a
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 30
      sapl/base/models.py
  2. 21
      sapl/protocoloadm/migrations/0033_auto_20200708_1312.py
  3. 79
      sapl/protocoloadm/models.py

30
sapl/base/models.py

@ -231,24 +231,28 @@ class TipoAutor(models.Model):
@reversion.register() @reversion.register()
class Autor(models.Model): class Autor(models.Model):
user = models.OneToOneField(
user = models.OneToOneField(get_settings_auth_user_model(), get_settings_auth_user_model(),
on_delete=models.SET_NULL, on_delete=models.SET_NULL,
null=True) null=True)
tipo = models.ForeignKey(
tipo = models.ForeignKey(TipoAutor, verbose_name=_('Tipo do Autor'), TipoAutor,
on_delete=models.PROTECT) verbose_name=_('Tipo do Autor'),
on_delete=models.PROTECT)
content_type = models.ForeignKey( content_type = models.ForeignKey(
ContentType, ContentType,
blank=True, null=True, default=None) blank=True,
null=True,
default=None)
object_id = models.PositiveIntegerField( object_id = models.PositiveIntegerField(
blank=True, null=True, default=None) blank=True,
null=True,
default=None)
autor_related = GenericForeignKey('content_type', 'object_id') autor_related = GenericForeignKey('content_type', 'object_id')
nome = models.CharField( nome = models.CharField(
max_length=120, blank=True, verbose_name=_('Nome do Autor')) max_length=120,
blank=True,
verbose_name=_('Nome do Autor'))
cargo = models.CharField(max_length=50, blank=True) cargo = models.CharField(max_length=50, blank=True)
class Meta: class Meta:

21
sapl/protocoloadm/migrations/0033_auto_20200708_1312.py

@ -0,0 +1,21 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.11.29 on 2020-07-08 16:12
from __future__ import unicode_literals
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('protocoloadm', '0032_auto_20200416_1538'),
]
operations = [
migrations.AlterField(
model_name='protocolo',
name='autor',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='base.Autor'),
),
]

79
sapl/protocoloadm/models.py

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

Loading…
Cancel
Save