From 43609386e2e8a050cb41a7f1dc4d6c4162d6ee3b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ses=C3=B3stris=20Vieira?= Date: Mon, 26 May 2025 10:12:01 -0300 Subject: [PATCH] =?UTF-8?q?Possibilita=20que=20alguns=20conv=C3=AAnios=20t?= =?UTF-8?q?enham=20t=C3=A9rmino=20indefinido?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sigi/apps/convenios/admin.py | 2 +- .../0038_projeto_termino_indefinido.py | 22 +++++++++++++++++++ sigi/apps/convenios/models.py | 16 ++++++++++---- 3 files changed, 35 insertions(+), 5 deletions(-) create mode 100644 sigi/apps/convenios/migrations/0038_projeto_termino_indefinido.py diff --git a/sigi/apps/convenios/admin.py b/sigi/apps/convenios/admin.py index 51f69f9..6530e61 100644 --- a/sigi/apps/convenios/admin.py +++ b/sigi/apps/convenios/admin.py @@ -104,7 +104,7 @@ class ConvenioVigenteFilter(admin.filters.SimpleListFilter): @admin.register(Projeto) class ProjetoAdmin(admin.ModelAdmin): - list_display = ("sigla", "nome") + list_display = ("sigla", "nome", "termino_indefinido") formfield_overrides = {HTMLField: {"widget": AdminTinyMCE}} diff --git a/sigi/apps/convenios/migrations/0038_projeto_termino_indefinido.py b/sigi/apps/convenios/migrations/0038_projeto_termino_indefinido.py new file mode 100644 index 0000000..d031d06 --- /dev/null +++ b/sigi/apps/convenios/migrations/0038_projeto_termino_indefinido.py @@ -0,0 +1,22 @@ +# Generated by Django 5.2.1 on 2025-05-23 20:30 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ("convenios", "0037_ajusta_acts_pendentes_gertiq_184827"), + ] + + operations = [ + migrations.AddField( + model_name="projeto", + name="termino_indefinido", + field=models.BooleanField( + default=True, + help_text="Indica se os convênios deste tipo podem estar vigentes sem ter uma data de término de vigência.", + verbose_name="Término indefinido", + ), + ), + ] diff --git a/sigi/apps/convenios/models.py b/sigi/apps/convenios/models.py index 23ba55d..33774f4 100644 --- a/sigi/apps/convenios/models.py +++ b/sigi/apps/convenios/models.py @@ -1,6 +1,5 @@ import re import requests -from difflib import SequenceMatcher from hashlib import md5 from pathlib import Path from django.db import models @@ -55,6 +54,14 @@ class Projeto(models.Model): ) nome = models.CharField(max_length=50) sigla = models.CharField(max_length=10) + termino_indefinido = models.BooleanField( + _("Término indefinido"), + default=True, + help_text=_( + "Indica se os convênios deste tipo podem estar vigentes sem ter " + "uma data de término de vigência." + ), + ) texto_oficio = HTMLField( _("texto do ofício"), blank=True, help_text=OFICIO_HELP ) @@ -380,17 +387,18 @@ class Convenio(models.Model): if display_type == "numero": display = self.num_processo_sf else: - display = "visibility" + display = '' return ( f'{display}' ) if display_type == "numero": return self.num_processo_sf else: - return "visibility_off" + return '' def get_url_gescon(self): if not self.id_contrato_gescon: @@ -410,7 +418,7 @@ class Convenio(models.Model): def clean(self): # Gertiq #184827 if self.num_convenio: - if ( + if not self.projeto.termino_indefinido and ( self.data_retorno_assinatura is None or self.data_termino_vigencia is None ):