diff --git a/sigi/apps/casas/admin.py b/sigi/apps/casas/admin.py index c008716..b210c72 100644 --- a/sigi/apps/casas/admin.py +++ b/sigi/apps/casas/admin.py @@ -210,7 +210,7 @@ class ConveniosInline(admin.TabularInline): if obj.pk is None: return "" status = obj.get_status() - if status in ["Vencido", "Desistência", "Cancelado"]: + if status in ["Vencido", "Desistência", "Cancelado", "Extinto"]: label = r"danger" elif status == "Vigente": label = r"success" diff --git a/sigi/apps/convenios/admin.py b/sigi/apps/convenios/admin.py index 693d980..c522b40 100644 --- a/sigi/apps/convenios/admin.py +++ b/sigi/apps/convenios/admin.py @@ -159,6 +159,15 @@ class ConvenioAdmin( ) }, ), + ( + _("Extinção / desistência"), + { + "fields": ( + "data_extincao", + "motivo_extincao", + ) + }, + ), ( _("Gescon"), { @@ -235,7 +244,7 @@ class ConvenioAdmin( return "" status = obj.get_status() - if status in ["Vencido", "Desistência", "Cancelado"]: + if status in ["Vencido", "Desistência", "Cancelado", "Extinto"]: label = r"danger" elif status == "Vigente": label = r"success" diff --git a/sigi/apps/convenios/migrations/0035_convenio_data_extincao_convenio_motivo_extincao.py b/sigi/apps/convenios/migrations/0035_convenio_data_extincao_convenio_motivo_extincao.py new file mode 100644 index 0000000..fdc48de --- /dev/null +++ b/sigi/apps/convenios/migrations/0035_convenio_data_extincao_convenio_motivo_extincao.py @@ -0,0 +1,29 @@ +# Generated by Django 4.2.11 on 2024-04-05 12:40 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ("convenios", "0034_gescon_checksums"), + ] + + operations = [ + migrations.AddField( + model_name="convenio", + name="data_extincao", + field=models.DateField( + blank=True, + null=True, + verbose_name="data de extinção/desistência", + ), + ), + migrations.AddField( + model_name="convenio", + name="motivo_extincao", + field=models.TextField( + blank=True, verbose_name="motivo da extinção/desistência" + ), + ), + ] diff --git a/sigi/apps/convenios/models.py b/sigi/apps/convenios/models.py index 6dd5806..8e48118 100644 --- a/sigi/apps/convenios/models.py +++ b/sigi/apps/convenios/models.py @@ -316,6 +316,12 @@ class Convenio(models.Model): blank=True, help_text=_("Data do retorno do convênio sem assinatura"), ) + data_extincao = models.DateField( + _("data de extinção/desistência"), null=True, blank=True + ) + motivo_extincao = models.TextField( + _("motivo da extinção/desistência"), blank=True + ) conveniada = models.BooleanField(default=False) equipada = models.BooleanField(default=False) atualizacao_gescon = models.DateTimeField( @@ -329,6 +335,9 @@ class Convenio(models.Model): if self.status and self.status.cancela: return _("Cancelado") + if self.data_extincao: + return _("Extinto") + if self.data_retorno_assinatura is not None: if self.data_termino_vigencia is not None: if timezone.localdate() >= self.data_termino_vigencia: @@ -407,6 +416,9 @@ class Convenio(models.Model): SDF = settings.SHORT_DATE_FORMAT number = self.num_convenio project = self.projeto.sigla + if self.data_extincao: + date = date_format(self.data_extincao, SDF) + return _(f"{project} nº {number} extinto em {date}") if (self.data_retorno_assinatura is None) and ( self.equipada and self.data_termo_aceite is not None ):