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()
class Autor(models.Model):
user = models.OneToOneField(get_settings_auth_user_model(),
on_delete=models.SET_NULL,
null=True)
tipo = models.ForeignKey(TipoAutor, verbose_name=_('Tipo do Autor'),
on_delete=models.PROTECT)
user = models.OneToOneField(
get_settings_auth_user_model(),
on_delete=models.SET_NULL,
null=True)
tipo = models.ForeignKey(
TipoAutor,
verbose_name=_('Tipo do Autor'),
on_delete=models.PROTECT)
content_type = models.ForeignKey(
ContentType,
blank=True, null=True, default=None)
blank=True,
null=True,
default=None)
object_id = models.PositiveIntegerField(
blank=True, null=True, default=None)
blank=True,
null=True,
default=None)
autor_related = GenericForeignKey('content_type', 'object_id')
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)
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()
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:

Loading…
Cancel
Save