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 ):