From ddc3ed9d2a874d8c2a8646b79f33bc3b1467fe34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vin=C3=ADcius=20Cantu=C3=A1ria?= Date: Thu, 9 Jul 2020 10:39:20 -0300 Subject: [PATCH] =?UTF-8?q?Troca=20restri=C3=A7=C3=A3o=20de=20Autor=20em?= =?UTF-8?q?=20Protocolo=20(#3218)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sapl/base/models.py | 30 ++++--- .../migrations/0033_auto_20200708_1312.py | 21 +++++ sapl/protocoloadm/models.py | 79 +++++++++++-------- 3 files changed, 85 insertions(+), 45 deletions(-) create mode 100644 sapl/protocoloadm/migrations/0033_auto_20200708_1312.py diff --git a/sapl/base/models.py b/sapl/base/models.py index 07f028984..3c8f2753c 100644 --- a/sapl/base/models.py +++ b/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: diff --git a/sapl/protocoloadm/migrations/0033_auto_20200708_1312.py b/sapl/protocoloadm/migrations/0033_auto_20200708_1312.py new file mode 100644 index 000000000..1edf18073 --- /dev/null +++ b/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'), + ), + ] diff --git a/sapl/protocoloadm/models.py b/sapl/protocoloadm/models.py index e1a6077dd..72d5cae30 100644 --- a/sapl/protocoloadm/models.py +++ b/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: