From 769d2bb294532805bda91fd54e822da5672adea1 Mon Sep 17 00:00:00 2001 From: VictorFabreF Date: Fri, 23 Nov 2018 13:31:56 -0200 Subject: [PATCH] fix #2396 --- .../pre_popula_tipo_vinculo_norma.json | 13 ++++++++++++ sapl/norma/forms.py | 2 ++ ...inculonormajuridica_revoga_integramente.py | 20 +++++++++++++++++++ sapl/norma/models.py | 3 +++ sapl/norma/views.py | 2 +- sapl/templates/norma/layouts.yaml | 2 +- 6 files changed, 40 insertions(+), 2 deletions(-) create mode 100644 sapl/norma/migrations/0016_tipovinculonormajuridica_revoga_integramente.py diff --git a/sapl/norma/fixtures/pre_popula_tipo_vinculo_norma.json b/sapl/norma/fixtures/pre_popula_tipo_vinculo_norma.json index 50c6ad647..c533ca495 100644 --- a/sapl/norma/fixtures/pre_popula_tipo_vinculo_norma.json +++ b/sapl/norma/fixtures/pre_popula_tipo_vinculo_norma.json @@ -1,6 +1,7 @@ [ { "fields": { + "revoga_integramente": "False", "descricao_ativa": "Altera o(a)", "descricao_passiva": "Alterado(a) pelo(a)", "sigla": "A" @@ -10,6 +11,7 @@ }, { "fields": { + "revoga_integramente": "True", "descricao_ativa": "Revoga integralmente o(a)", "descricao_passiva": "Revogado(a) integralmente pelo(a)", "sigla": "R" @@ -19,6 +21,7 @@ }, { "fields": { + "revoga_integramente": "False", "descricao_ativa": "Revoga parcialmente o(a)", "descricao_passiva": "Revogado(a) parcialmente pelo(a)", "sigla": "P" @@ -28,6 +31,7 @@ }, { "fields": { + "revoga_integramente": "True", "descricao_ativa": "Revoga integralmente por consolida\u00e7\u00e3o", "descricao_passiva": "Revogado(a) integralmente por consolida\u00e7\u00e3o", "sigla": "T" @@ -37,6 +41,7 @@ }, { "fields": { + "revoga_integramente": "False", "descricao_ativa": "Norma correlata", "descricao_passiva": "Norma correlata", "sigla": "C" @@ -46,6 +51,7 @@ }, { "fields": { + "revoga_integramente": "False", "descricao_ativa": "Ressalva o(a)", "descricao_passiva": "Ressalvada pelo(a)", "sigla": "S" @@ -55,6 +61,7 @@ }, { "fields": { + "revoga_integramente": "False", "descricao_ativa": "Reedita o(a)", "descricao_passiva": "Reeditada pelo(a)", "sigla": "E" @@ -64,6 +71,7 @@ }, { "fields": { + "revoga_integramente": "False", "descricao_ativa": "Reedita com altera\u00e7\u00e3o o(a)", "descricao_passiva": "Reeditada com altera\u00e7\u00e3o pelo(a)", "sigla": "I" @@ -73,6 +81,7 @@ }, { "fields": { + "revoga_integramente": "False", "descricao_ativa": "Regulamenta o(a)", "descricao_passiva": "Regulamentada pelo(a)", "sigla": "G" @@ -82,6 +91,7 @@ }, { "fields": { + "revoga_integramente": "False", "descricao_ativa": "Suspende parcialmente o(a)", "descricao_passiva": "Suspenso(a) parcialmente pelo(a)", "sigla": "K" @@ -91,6 +101,7 @@ }, { "fields": { + "revoga_integramente": "False", "descricao_ativa": "Suspende integralmente o(a)", "descricao_passiva": "Suspenso(a) integralmente pelo(a)", "sigla": "L" @@ -100,6 +111,7 @@ }, { "fields": { + "revoga_integramente": "False", "descricao_ativa": "Julga integralmente inconstitucional", "descricao_passiva": "Julgada integralmente inconstitucional", "sigla": "N" @@ -109,6 +121,7 @@ }, { "fields": { + "revoga_integramente": "False", "descricao_ativa": "Julga parcialmente inconstitucional", "descricao_passiva": "Julgada parcialmente inconstitucional", "sigla": "O" diff --git a/sapl/norma/forms.py b/sapl/norma/forms.py index 674e1b9a8..4f6b6a563 100644 --- a/sapl/norma/forms.py +++ b/sapl/norma/forms.py @@ -344,6 +344,8 @@ class NormaRelacionadaForm(ModelForm): def save(self, commit=False): relacionada = super(NormaRelacionadaForm, self).save(commit) relacionada.norma_relacionada = self.cleaned_data['norma_relacionada'] + relacionada.norma_relacionada.data_vigencia = relacionada.norma_principal.data + relacionada.norma_relacionada.save() relacionada.save() return relacionada diff --git a/sapl/norma/migrations/0016_tipovinculonormajuridica_revoga_integramente.py b/sapl/norma/migrations/0016_tipovinculonormajuridica_revoga_integramente.py new file mode 100644 index 000000000..5a57c2d9f --- /dev/null +++ b/sapl/norma/migrations/0016_tipovinculonormajuridica_revoga_integramente.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.10.8 on 2018-11-23 14:51 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('norma', '0015_auto_20181109_1422'), + ] + + operations = [ + migrations.AddField( + model_name='tipovinculonormajuridica', + name='revoga_integramente', + field=models.BooleanField(choices=[(True, 'Sim'), (False, 'Não')], default=False, verbose_name='Revoga Integralmente?'), + ), + ] diff --git a/sapl/norma/models.py b/sapl/norma/models.py index fd06b553e..423a6bb69 100644 --- a/sapl/norma/models.py +++ b/sapl/norma/models.py @@ -258,6 +258,9 @@ class TipoVinculoNormaJuridica(models.Model): max_length=50, blank=True, verbose_name=_('Descrição Ativa')) descricao_passiva = models.CharField( max_length=50, blank=True, verbose_name=_('Descrição Passiva')) + revoga_integramente = models.BooleanField(verbose_name=_('Revoga Integralmente?'), + choices=YES_NO_CHOICES, + default=False) class Meta: verbose_name = _('Tipo de Vínculo entre Normas Jurídicas') diff --git a/sapl/norma/views.py b/sapl/norma/views.py index faca58d32..a9c6866cc 100644 --- a/sapl/norma/views.py +++ b/sapl/norma/views.py @@ -37,7 +37,7 @@ TipoNormaCrud = CrudAux.build( list_field_names=['sigla', 'descricao', 'equivalente_lexml']) TipoVinculoNormaJuridicaCrud = CrudAux.build( TipoVinculoNormaJuridica, '', - list_field_names=['sigla', 'descricao_ativa', 'descricao_passiva']) + list_field_names=['sigla', 'descricao_ativa', 'descricao_passiva', 'revoga_integramente']) class NormaRelacionadaCrud(MasterDetailCrud): diff --git a/sapl/templates/norma/layouts.yaml b/sapl/templates/norma/layouts.yaml index 295ef62d5..5a129d7cc 100644 --- a/sapl/templates/norma/layouts.yaml +++ b/sapl/templates/norma/layouts.yaml @@ -58,7 +58,7 @@ LegislacaoCitadaDetail: TipoVinculoNormaJuridica: {% trans 'Tipo de Vínculo entre Normas Jurídicas' %}: - - sigla:2 descricao_ativa descricao_passiva + - sigla:2 descricao_ativa descricao_passiva revoga_integramente NormaRelacionada: {% trans 'Norma Relacionada' %}: