From cb0294f2ec5e948840c956ec3850415daa5d9a5b Mon Sep 17 00:00:00 2001 From: LeandroJatai Date: Sat, 13 Aug 2022 13:53:06 -0300 Subject: [PATCH] cria model Correspondencia --- .../sessao/migrations/0065_correspondencia.py | 31 ++++++++++++++++ sapl/sessao/models.py | 36 +++++++++++++++++++ 2 files changed, 67 insertions(+) create mode 100644 sapl/sessao/migrations/0065_correspondencia.py diff --git a/sapl/sessao/migrations/0065_correspondencia.py b/sapl/sessao/migrations/0065_correspondencia.py new file mode 100644 index 000000000..125a1d70b --- /dev/null +++ b/sapl/sessao/migrations/0065_correspondencia.py @@ -0,0 +1,31 @@ +# Generated by Django 2.2.28 on 2022-08-13 16:50 + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('protocoloadm', '0042_auto_20220805_1236'), + ('sessao', '0064_auto_20220713_2335'), + ] + + operations = [ + migrations.CreateModel( + name='Correspondencia', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('observacao', models.TextField(blank=True, verbose_name='Observação')), + ('numero_ordem', models.PositiveIntegerField(verbose_name='Nº Ordem')), + ('tipo', models.PositiveIntegerField(choices=[(1, 'Recebida'), (2, 'Enviada')], default=1, verbose_name='Tipo da Correspondência')), + ('documento', models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='protocoloadm.DocumentoAdministrativo', verbose_name='Documento Administrativo')), + ('sessao_plenaria', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='sessao.SessaoPlenaria')), + ], + options={ + 'verbose_name': 'Correspondência', + 'verbose_name_plural': 'Correspondências', + 'ordering': ('numero_ordem',), + }, + ), + ] diff --git a/sapl/sessao/models.py b/sapl/sessao/models.py index 944c1e81d..4b0f04904 100644 --- a/sapl/sessao/models.py +++ b/sapl/sessao/models.py @@ -13,6 +13,7 @@ from sapl.materia.models import MateriaLegislativa from sapl.materia.models import Tramitacao from sapl.parlamentares.models import (CargoMesa, Legislatura, Parlamentar, Partido, SessaoLegislativa) +from sapl.protocoloadm.models import DocumentoAdministrativo from sapl.utils import (YES_NO_CHOICES, SaplGenericRelation, get_settings_auth_user_model, restringe_tipos_de_arquivo_txt, texto_upload_path, @@ -1018,3 +1019,38 @@ class RegistroLeitura(models.Model): 'RegistroLeitura deve ter exatamente um dos campos ' 'ordem ou expediente preenchido. Ambos estão preenchidos: ' '{}, {}'. format(self.ordem, self.expediente)) + + +@reversion.register() +class Correspondencia(models.Model): + TIPO_CHOICES = Choices( + (1, 'recebida', 'Recebida'), + (2, 'enviada', 'Enviada'), + ) + + sessao_plenaria = models.ForeignKey(SessaoPlenaria, + on_delete=models.CASCADE) + documento = models.ForeignKey(DocumentoAdministrativo, + on_delete=models.PROTECT, + verbose_name=_('Documento Administrativo')) + + observacao = models.TextField( + blank=True, verbose_name=_('Observação')) + + numero_ordem = models.PositiveIntegerField(verbose_name=_('Nº Ordem')) + + tipo = models.PositiveIntegerField( + verbose_name=_('Tipo da Correspondência'), + choices=TIPO_CHOICES, default=1) + + class Meta: + verbose_name = _('Correspondência') + verbose_name_plural = _('Correspondências') + ordering = ('numero_ordem',) + + @property + def assunto(self): + return self.documento.assunto + + def __str__(self): + return _('Correspondência: {}'.format(self.documento.epigrafe))