Browse Source

Cria tabela auxiliar para tipo de vinculo

pull/814/head
Eduardo Edson Batista Cordeiro Alves 8 years ago
parent
commit
4bd019249b
  1. 41
      sapl/norma/migrations/0023_auto_20161123_1359.py
  2. 25
      sapl/norma/migrations/0024_auto_20161123_1430.py
  3. 37
      sapl/norma/models.py
  4. 5
      sapl/norma/urls.py
  5. 5
      sapl/norma/views.py
  6. 4
      sapl/templates/norma/layouts.yaml
  7. 3
      sapl/templates/sistema.html

41
sapl/norma/migrations/0023_auto_20161123_1359.py

@ -0,0 +1,41 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.7 on 2016-11-23 13:59
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('norma', '0022_auto_20161110_0910'),
]
operations = [
migrations.AlterModelOptions(
name='vinculonormajuridica',
options={'verbose_name': 'Tipo de Vínculo entre Normas Jurídicas', 'verbose_name_plural': 'Tipos de Vínculos entre Normas Jurídicas'},
),
migrations.RemoveField(
model_name='vinculonormajuridica',
name='norma_referente',
),
migrations.RemoveField(
model_name='vinculonormajuridica',
name='norma_referida',
),
migrations.RemoveField(
model_name='vinculonormajuridica',
name='tipo_vinculo',
),
migrations.AddField(
model_name='vinculonormajuridica',
name='descricao',
field=models.CharField(blank=True, max_length=20, verbose_name='Descrição'),
),
migrations.AddField(
model_name='vinculonormajuridica',
name='sigla',
field=models.CharField(blank=True, max_length=1, verbose_name='Nome'),
),
]

25
sapl/norma/migrations/0024_auto_20161123_1430.py

@ -0,0 +1,25 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.7 on 2016-11-23 14:30
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('norma', '0023_auto_20161123_1359'),
]
operations = [
migrations.AlterField(
model_name='vinculonormajuridica',
name='descricao',
field=models.CharField(blank=True, max_length=50, verbose_name='Descrição'),
),
migrations.AlterField(
model_name='vinculonormajuridica',
name='sigla',
field=models.CharField(blank=True, max_length=1, verbose_name='Sigla'),
),
]

37
sapl/norma/models.py

@ -171,37 +171,14 @@ class LegislacaoCitada(models.Model):
class VinculoNormaJuridica(models.Model): class VinculoNormaJuridica(models.Model):
TIPO_VINCULO_CHOICES = ( sigla = models.CharField(
('A', _('Altera a norma')), max_length=1, blank=True, verbose_name=_('Sigla'))
('R', _('Revoga integralmente a norma')), descricao = models.CharField(
('P', _('Revoga parcialmente a norma')), max_length=50, blank=True, verbose_name=_('Descrição'))
('T', _('Revoga integralmente por consolidação')),
('C', _('Norma correlata')),
('S', _('Ressalva a norma')),
('E', _('Reedita a norma')),
('I', _('Reedita a norma com alteração')),
('G', _('Regulamenta a norma')),
('K', _('Suspende parcialmente a norma')),
('L', _('Suspende integralmente a norma')),
('N', _('Julgada integralmente inconstitucional')),
('O', _('Julgada parcialmente inconstitucional')),
)
# TODO M2M ???
norma_referente = models.ForeignKey(
NormaJuridica, related_name='norma_referente_set')
norma_referida = models.ForeignKey(
NormaJuridica, related_name='norma_referida_set')
tipo_vinculo = models.CharField(
max_length=1, blank=True, choices=TIPO_VINCULO_CHOICES)
class Meta: class Meta:
verbose_name = _('Vínculo entre Normas Jurídicas') verbose_name = _('Tipo de Vínculo entre Normas Jurídicas')
verbose_name_plural = _('Vínculos entre Normas Jurídicas') verbose_name_plural = _('Tipos de Vínculos entre Normas Jurídicas')
def __str__(self): def __str__(self):
return _('Referente: %(referente)s \n' return self.descricao
'Referida: %(referida)s \nVínculo: %(vinculo)s') % {
'referente': self.norma_referente,
'referida': self.norma_referida,
'vinculo': self.tipo_vinculo}

5
sapl/norma/urls.py

@ -1,7 +1,8 @@
from django.conf.urls import include, url from django.conf.urls import include, url
from sapl.norma.views import (AssuntoNormaCrud, NormaCrud, NormaPesquisaView, from sapl.norma.views import (AssuntoNormaCrud, NormaCrud, NormaPesquisaView,
TipoNormaCrud, NormaTaView) NormaTaView, TipoNormaCrud,
VinculoNormaJuridicaCrud)
from .apps import AppConfig from .apps import AppConfig
@ -16,6 +17,8 @@ urlpatterns = [
url(r'^sistema/norma/tipo/', include(TipoNormaCrud.get_urls())), url(r'^sistema/norma/tipo/', include(TipoNormaCrud.get_urls())),
url(r'^sistema/norma/assunto/', include(AssuntoNormaCrud.get_urls())), url(r'^sistema/norma/assunto/', include(AssuntoNormaCrud.get_urls())),
url(r'^sistema/norma/vinculo/', include(
VinculoNormaJuridicaCrud.get_urls())),
url(r'^norma/pesquisar$', url(r'^norma/pesquisar$',
NormaPesquisaView.as_view(), name='norma_pesquisa'), NormaPesquisaView.as_view(), name='norma_pesquisa'),

5
sapl/norma/views.py

@ -13,7 +13,8 @@ from sapl.crud.base import (RP_DETAIL, RP_LIST, Crud, CrudAux,
MasterDetailCrud, make_pagination) MasterDetailCrud, make_pagination)
from .forms import NormaFilterSet, NormaJuridicaForm from .forms import NormaFilterSet, NormaJuridicaForm
from .models import AssuntoNorma, NormaJuridica, TipoNormaJuridica from .models import (AssuntoNorma, NormaJuridica, TipoNormaJuridica,
VinculoNormaJuridica)
# LegislacaoCitadaCrud = Crud.build(LegislacaoCitada, '') # LegislacaoCitadaCrud = Crud.build(LegislacaoCitada, '')
AssuntoNormaCrud = CrudAux.build(AssuntoNorma, 'assunto_norma_juridica', AssuntoNormaCrud = CrudAux.build(AssuntoNorma, 'assunto_norma_juridica',
@ -23,6 +24,8 @@ AssuntoNormaCrud = CrudAux.build(AssuntoNorma, 'assunto_norma_juridica',
TipoNormaCrud = CrudAux.build( TipoNormaCrud = CrudAux.build(
TipoNormaJuridica, 'tipo_norma_juridica', TipoNormaJuridica, 'tipo_norma_juridica',
list_field_names=['sigla', 'descricao', 'equivalente_lexml']) list_field_names=['sigla', 'descricao', 'equivalente_lexml'])
VinculoNormaJuridicaCrud = CrudAux.build(
VinculoNormaJuridica, '', list_field_names=['sigla', 'descricao'])
class NormaPesquisaView(FilterView): class NormaPesquisaView(FilterView):

4
sapl/templates/norma/layouts.yaml

@ -49,3 +49,7 @@ LegislacaoCitadaDetail:
- disposicoes parte livro titulo - disposicoes parte livro titulo
- capitulo secao subsecao artigo - capitulo secao subsecao artigo
- paragrafo inciso alinea item - paragrafo inciso alinea item
VinculoNormaJuridica:
{% trans 'Tipo de Vínculo entre Normas Jurídicas' %}:
- sigla:2 descricao

3
sapl/templates/sistema.html

@ -70,7 +70,8 @@
<h2>Módulo Normas Jurídicas</h2> <h2>Módulo Normas Jurídicas</h2>
<div class="row"> <div class="row">
<div class="col-md-6"><a href="{% url 'sapl.norma:tiponormajuridica_list' %}" class="btn btn-link">Tipo de Norma Jurídica</a></div> <div class="col-md-6"><a href="{% url 'sapl.norma:tiponormajuridica_list' %}" class="btn btn-link">Tipo de Norma Jurídica</a></div>
<div class="col-md-6"><a href="{% url 'sapl.norma:assuntonorma_list' %}" class="btn btn-link">Assunto de Norma Jurídica</a></div> <div class="col-md-6"><a href="{% url 'sapl.norma:assuntonorma_list' %}" class="btn btn-link">Assunto de Norma Jurídica</a></div>
<div class="col-md-6"><a href="{% url 'sapl.norma:vinculonormajuridica_list' %}" class="btn btn-link">Tipo de Vínculo</a></div>
</div> </div>
<hr /> <hr />

Loading…
Cancel
Save