Browse Source

Possibilita que alguns convênios tenham término indefinido

pull/5/merge
Sesóstris Vieira 3 months ago
parent
commit
43609386e2
  1. 2
      sigi/apps/convenios/admin.py
  2. 22
      sigi/apps/convenios/migrations/0038_projeto_termino_indefinido.py
  3. 16
      sigi/apps/convenios/models.py

2
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}}

22
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",
),
),
]

16
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 = "<i class='material-icons'>visibility</i>"
display = '<i class="bi bi-eye"></i>'
return (
f'<a href="https://intra.senado.leg.br/sigad/novo/protocolo/'
f"impressao.asp?area=processo&txt_numero_orgao={orgao}"
f'&txt_numero_sequencial={sequencial}&txt_numero_ano={ano}" '
f'title="{self.num_processo_sf}" '
f'target="_blank">{display}</a>'
)
if display_type == "numero":
return self.num_processo_sf
else:
return "<i class='material-icons'>visibility_off</i>"
return '<i class="bi bi-eye-slash"></i>'
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
):

Loading…
Cancel
Save