Browse Source

Adiciona Testes (#2834)

* Adicionar testes

* Adicionar testes - Inconsistências de Dados

* Adicionar testes - Inconsistências de Dados

* Adicionar testes - Inconsistências de Dados

* Retirar imports não utilizados
pull/2761/head
João Rodrigues 6 years ago
committed by Cesar Carvalho
parent
commit
06e38433ce
  1. 59
      sapl/audiencia/tests/test_audiencia.py
  2. 24
      sapl/base/tests/test_base.py
  3. 416
      sapl/base/tests/test_view_base.py
  4. 22
      sapl/comissoes/tests/test_comissoes.py
  5. 112
      sapl/compilacao/tests/test_compilacao.py
  6. 1
      sapl/protocoloadm/models.py
  7. 52
      sapl/templates/base/autores_duplicados.html
  8. 64
      sapl/templates/base/bancada_comissao_autor_externo.html
  9. 56
      sapl/templates/base/filiacoes_sem_data_filiacao.html
  10. 56
      sapl/templates/base/legislatura_infindavel.html
  11. 34
      sapl/templates/base/lista_inconsistencias.html
  12. 56
      sapl/templates/base/mandato_sem_data_inicio.html
  13. 60
      sapl/templates/base/materias_protocolo_inexistente.html
  14. 56
      sapl/templates/base/parlamentares_duplicados.html
  15. 60
      sapl/templates/base/parlamentares_filiacoes_intersecao.html
  16. 60
      sapl/templates/base/parlamentares_mandatos_intersecao.html
  17. 52
      sapl/templates/base/protocolos_com_materias.html
  18. 56
      sapl/templates/base/protocolos_duplicados.html

59
sapl/audiencia/tests/test_audiencia.py

@ -1,11 +1,62 @@
import pytest
from django.utils.translation import ugettext as _
import datetime
from model_mommy import mommy
from django.utils.translation import ugettext as _
from sapl.audiencia import forms
from sapl.audiencia.models import TipoAudienciaPublica
from sapl.audiencia.models import AnexoAudienciaPublica
from sapl.audiencia.models import TipoAudienciaPublica, AudienciaPublica
from sapl.materia.models import MateriaLegislativa, TipoMateriaLegislativa
@pytest.mark.django_db(transaction=False)
def test_tipo_audiencia_publica_model():
mommy.make(TipoAudienciaPublica,
nome='Teste_Nome_Tipo_Audiencia_Publica',
tipo='A')
tipo_audiencia_publica = TipoAudienciaPublica.objects.first()
assert tipo_audiencia_publica.nome == 'Teste_Nome_Tipo_Audiencia_Publica'
assert tipo_audiencia_publica.tipo == 'A'
@pytest.mark.django_db(transaction=False)
def test_audiencia_publica_model():
mommy.make(AudienciaPublica,
numero=1,
nome='Teste_Nome_Audiencia_Publica',
tema='Teste_Tema_Audiencia_Publica',
data='2016-03-21',
hora_inicio='16:03')
audiencia_publica = AudienciaPublica.objects.first()
data = '2016-03-21'
teste_data = datetime.datetime.strptime(data, "%Y-%m-%d").date()
assert audiencia_publica.numero == 1
assert audiencia_publica.nome == 'Teste_Nome_Audiencia_Publica'
assert audiencia_publica.tema == 'Teste_Tema_Audiencia_Publica'
assert audiencia_publica.data == teste_data
assert audiencia_publica.hora_inicio == '16:03'
@pytest.mark.django_db(transaction=False)
def test_anexo_audiencia_publica_model():
audiencia = mommy.make(AudienciaPublica,
numero=2,
nome='Nome_Audiencia_Publica',
tema='Tema_Audiencia_Publica',
data='2017-04-22',
hora_inicio='17:04')
mommy.make(AnexoAudienciaPublica,
audiencia=audiencia)
anexo_audiencia_publica = AnexoAudienciaPublica.objects.first()
assert anexo_audiencia_publica.audiencia == audiencia
@pytest.mark.django_db(transaction=False)
def test_valida_campos_obrigatorios_audiencia_form():
form = forms.AudienciaForm(data={})
@ -35,7 +86,5 @@ def test_audiencia_form_hora_invalida():
'data': '2016-10-01',
'hora_inicio': '10:00',
'hora_fim': '9:00',
})
})
assert not form.is_valid()

24
sapl/base/tests/test_base.py

@ -0,0 +1,24 @@
import pytest
from model_mommy import mommy
from sapl.base.models import CasaLegislativa
@pytest.mark.django_db(transaction=False)
def test_casa_legislativa_model():
mommy.make(CasaLegislativa,
nome='Teste_Nome_Casa_Legislativa',
sigla='TSCL',
endereco='Teste_Endereço_Casa_Legislativa',
cep='12345678',
municipio='Teste_Municipio_Casa_Legislativa',
uf='DF')
casa_legislativa = CasaLegislativa.objects.first()
assert casa_legislativa.nome == 'Teste_Nome_Casa_Legislativa'
assert casa_legislativa.sigla == 'TSCL'
assert casa_legislativa.endereco == 'Teste_Endereço_Casa_Legislativa'
assert casa_legislativa.cep == '12345678'
assert casa_legislativa.municipio == 'Teste_Municipio_Casa_Legislativa'
assert casa_legislativa.uf == 'DF'

416
sapl/base/tests/test_view_base.py

@ -1,7 +1,423 @@
import pytest
from model_mommy import mommy
from django.core.urlresolvers import reverse
from django.utils.translation import ugettext_lazy as _
from sapl.base.models import Autor, TipoAutor
from sapl.comissoes.models import Comissao, TipoComissao
from sapl.sessao.models import Bancada
from sapl.protocoloadm.models import Protocolo
from sapl.materia.models import (TipoMateriaLegislativa, RegimeTramitacao,
MateriaLegislativa)
from sapl.parlamentares.models import (Parlamentar, Partido, Filiacao,
Legislatura, Mandato)
from sapl.base.views import (protocolos_duplicados, protocolos_com_materias,
materias_protocolo_inexistente,
mandato_sem_data_inicio, parlamentares_duplicados,
parlamentares_mandatos_intersecao,
parlamentares_filiacoes_intersecao,
autores_duplicados,
bancada_comissao_autor_externo)
@pytest.mark.django_db(transaction=False)
def test_lista_protocolos_duplicados():
mommy.make(
Protocolo,
numero=15,
ano=2031
)
mommy.make(
Protocolo,
numero=15,
ano=2031
)
mommy.make(
Protocolo,
numero=33,
ano=2033
)
lista_protocolos_duplicados = protocolos_duplicados()
assert len(lista_protocolos_duplicados) == 1
assert lista_protocolos_duplicados[0][1] == 2
assert lista_protocolos_duplicados[0][0].numero == 15
assert lista_protocolos_duplicados[0][0].ano == 2031
@pytest.mark.django_db(transaction=False)
def test_lista_protocolos_com_materias():
mommy.make(
Protocolo,
numero=15,
ano=2035
)
mommy.make(
Protocolo,
numero=33,
ano=2035
)
tipo_materia = mommy.make(
TipoMateriaLegislativa,
descricao="Tipo_Materia_Teste"
)
regime_tramitacao = mommy.make(
RegimeTramitacao,
descricao="Regime_Tramitacao_Teste"
)
mommy.make(
MateriaLegislativa,
numero=16,
ano=2035,
data_apresentacao='2035-06-02',
regime_tramitacao=regime_tramitacao,
tipo=tipo_materia,
numero_protocolo=15
)
mommy.make(
MateriaLegislativa,
numero=17,
ano=2035,
data_apresentacao='2035-06-05',
regime_tramitacao=regime_tramitacao,
tipo=tipo_materia,
numero_protocolo=15
)
lista_protocolos_com_materias = protocolos_com_materias()
assert len(lista_protocolos_com_materias) == 1
assert lista_protocolos_com_materias[0][1] == 2
assert lista_protocolos_com_materias[0][0].numero_protocolo == 15
assert lista_protocolos_com_materias[0][0].ano == 2035
@pytest.mark.django_db(transaction=False)
def test_lista_materias_protocolo_inexistente():
protocolo_a = mommy.make(
Protocolo,
numero=15,
ano=2031
)
tipo_materia = mommy.make(
TipoMateriaLegislativa,
descricao="Tipo_Materia_Teste"
)
regime_tramitacao = mommy.make(
RegimeTramitacao,
descricao="Regime_Tramitacao_Teste"
)
mommy.make(
MateriaLegislativa,
numero=16,
ano=2031,
data_apresentacao='2031-06-02',
regime_tramitacao=regime_tramitacao,
tipo=tipo_materia,
numero_protocolo=15
)
materia = mommy.make(
MateriaLegislativa,
numero=17,
ano=2031,
data_apresentacao='2031-06-02',
regime_tramitacao=regime_tramitacao,
tipo=tipo_materia,
numero_protocolo=16
)
lista_materias_protocolo_inexistente = materias_protocolo_inexistente()
assert len(lista_materias_protocolo_inexistente) == 1
assert lista_materias_protocolo_inexistente == [(materia, 2031, 16)]
@pytest.mark.django_db(transaction=False)
def test_lista_mandatos_sem_data_inicio():
parlamentar = mommy.make(
Parlamentar,
nome_completo="Nome_Completo_Parlamentar_Teste",
nome_parlamentar="Nome_Parlamentar_Teste",
sexo='M'
)
legislatura = mommy.make(
Legislatura,
numero=1,
data_inicio='2015-05-02',
data_fim='2024-02-04',
data_eleicao='2015-02-05'
)
mandato_a = mommy.make(
Mandato,
parlamentar=parlamentar,
legislatura=legislatura
)
mommy.make(
Mandato,
parlamentar=parlamentar,
legislatura=legislatura,
data_inicio_mandato='2015-05-27'
)
lista_mandatos_sem_data_inicio = mandato_sem_data_inicio()
assert len(lista_mandatos_sem_data_inicio) == 1
assert lista_mandatos_sem_data_inicio[0] == mandato_a
@pytest.mark.django_db(transaction=False)
def test_lista_parlamentares_duplicados():
mommy.make(
Parlamentar,
nome_completo="Nome_Completo_Parlamentar_Teste",
nome_parlamentar="Nome_Parlamentar_Teste",
sexo='M'
)
mommy.make(
Parlamentar,
nome_completo="Nome_Completo_Parlamentar_Teste",
nome_parlamentar="Nome_Parlamentar_Teste",
sexo='M'
)
mommy.make(
Parlamentar,
nome_completo="Nome_Completo_Parlamentar_Teste-1",
nome_parlamentar="Nome_Parlamentar_Teste-1",
sexo='M'
)
lista_dict_values_parlamentares_duplicados = parlamentares_duplicados()
parlamentar_duplicado = list(
lista_dict_values_parlamentares_duplicados[0]
)
parlamentar_duplicado.sort(key=str)
assert len(lista_dict_values_parlamentares_duplicados) == 1
assert parlamentar_duplicado == [2, "Nome_Parlamentar_Teste"]
@pytest.mark.django_db(transaction=False)
def test_lista_parlamentares_mandatos_intersecao():
legislatura = mommy.make(
Legislatura,
numero=1,
data_inicio='2017-07-04',
data_fim='2170-05-01',
data_eleicao='2017-04-07'
)
parlamentar_a = mommy.make(
Parlamentar,
nome_completo="Nome_Completo_Parlamentar_Teste",
nome_parlamentar="Nome_Parlamentar_Teste",
sexo='M'
)
parlamentar_b = mommy.make(
Parlamentar,
nome_completo="Nome_Completo_Parlamentar_Teste-1",
nome_parlamentar="Nome_Parlamentar_Teste-1",
sexo='M'
)
mandato_a = mommy.make(
Mandato,
parlamentar=parlamentar_a,
legislatura=legislatura,
data_inicio_mandato='2017-07-08',
data_fim_mandato='2018-01-07'
)
mandato_b = mommy.make(
Mandato,
parlamentar=parlamentar_a,
legislatura=legislatura,
data_inicio_mandato='2017-07-09'
)
mommy.make(
Mandato,
parlamentar=parlamentar_b,
legislatura=legislatura,
data_inicio_mandato='2017-11-17',
data_fim_mandato='2018-08-02'
)
mommy.make(
Mandato,
parlamentar=parlamentar_b,
legislatura=legislatura,
data_inicio_mandato='2018-08-03'
)
lista_parlamentares = parlamentares_mandatos_intersecao()
assert len(lista_parlamentares) == 1
assert lista_parlamentares == [(parlamentar_a, mandato_a, mandato_b)]
@pytest.mark.django_db(transaction=False)
def test_lista_parlamentares_filiacoes_intersecao():
partido = mommy.make(
Partido,
sigla="ST",
nome="Nome_Partido_Teste"
)
parlamentar_a = mommy.make(
Parlamentar,
nome_completo="Nome_Completo_Parlamentar_Teste",
nome_parlamentar="Nome_Parlamentar_Teste",
sexo='M'
)
parlamentar_b = mommy.make(
Parlamentar,
nome_completo="Nome_Completo_Parlamentar_Teste-1",
nome_parlamentar="Nome_Parlamentar_Teste-1",
sexo='M'
)
filiacao_a = mommy.make(
Filiacao,
parlamentar=parlamentar_a,
partido=partido,
data='2018-02-02',
data_desfiliacao='2019-08-01'
)
filiacao_b = mommy.make(
Filiacao,
parlamentar=parlamentar_a,
partido=partido,
data='2018-02-23',
data_desfiliacao='2020-02-04'
)
mommy.make(
Filiacao,
parlamentar=parlamentar_b,
partido=partido,
data='2018-02-07',
data_desfiliacao='2018-02-27'
)
mommy.make(
Filiacao,
parlamentar=parlamentar_b,
partido=partido,
data='2018-02-28'
)
lista_parlamentares = parlamentares_filiacoes_intersecao()
assert len(lista_parlamentares) == 1
assert lista_parlamentares == [(parlamentar_a, filiacao_b, filiacao_a)]
@pytest.mark.django_db(transaction=False)
def test_lista_autores_duplicados():
tipo_autor = mommy.make(
TipoAutor,
descricao="Tipo_Autor_Teste"
)
mommy.make(
Autor,
tipo=tipo_autor,
nome="Nome_Autor_Teste"
)
mommy.make(
Autor,
tipo=tipo_autor,
nome="Nome_Autor_Teste"
)
mommy.make(
Autor,
tipo=tipo_autor,
nome="Nome_Autor_Teste-1"
)
lista_autores_duplicados = autores_duplicados()
assert len(lista_autores_duplicados) == 1
assert lista_autores_duplicados[0]['count'] == 2
assert lista_autores_duplicados[0]['nome'] == "Nome_Autor_Teste"
@pytest.mark.django_db(transaction=False)
def test_lista_bancada_comissao_autor_externo():
tipo_autor = mommy.make(
TipoAutor,
descricao="Tipo_Autor_Teste"
)
tipo_autor_externo = mommy.make(
TipoAutor,
descricao="Externo"
)
legislatura = mommy.make(
Legislatura,
numero=1,
data_inicio='2012-01-03',
data_fim='2013-01-02',
data_eleicao='2011-10-04'
)
bancada_a = mommy.make(
Bancada,
legislatura=legislatura,
nome="Bancada_Teste",
data_criacao='2012-01-08',
)
bancada_a.autor.create(
nome="Nome_Autor_Teste",
tipo=tipo_autor
)
bancada_b = mommy.make(
Bancada,
legislatura=legislatura,
nome="Bancada_Teste-1",
data_criacao='2012-02-02'
)
autor_bancada_b = bancada_b.autor.create(
nome="Nome_Autor_Externo_Teste",
tipo=tipo_autor_externo
)
tipo_comissao = mommy.make(
TipoComissao,
nome="Tipo_Comissao_Teste",
natureza='T',
sigla="TCT"
)
comissao_a = mommy.make(
Comissao,
nome="Comissao_Teste",
sigla="CT",
data_criacao='2012-03-08',
)
comissao_a.autor.create(
nome="Nome_Autor_Teste",
tipo=tipo_autor
)
comissao_b = mommy.make(
Comissao,
nome="Comissao_Teste-1",
sigla="CT1",
data_criacao='2012-04-01',
)
autor_comissao_b = comissao_b.autor.create(
nome="Nome_Autor_Externo_Teste",
tipo=tipo_autor_externo
)
lista_bancada_comissao = bancada_comissao_autor_externo()
assert len(lista_bancada_comissao) == 2
assert lista_bancada_comissao[0][0:2] == (autor_bancada_b, bancada_b)
assert lista_bancada_comissao[0][2:4] == ('Bancada', 'sistema/bancada')
assert lista_bancada_comissao[1][0:2] == (autor_comissao_b, comissao_b)
assert lista_bancada_comissao[1][2:4] == ('Comissão', 'comissao')
@pytest.mark.django_db(transaction=False)
def test_incluir_casa_legislativa_errors(admin_client):

22
sapl/comissoes/tests/test_comissoes.py

@ -3,7 +3,8 @@ from django.core.urlresolvers import reverse
from django.utils.translation import ugettext as _
from model_mommy import mommy
from sapl.comissoes.models import Comissao, Composicao, Periodo, TipoComissao, Reuniao
from sapl.comissoes.models import Comissao, Composicao, Periodo
from sapl.comissoes.models import TipoComissao, Reuniao
from sapl.parlamentares.models import Filiacao, Parlamentar, Partido
from sapl.comissoes import forms
@ -45,6 +46,20 @@ def make_filiacao():
return Filiacao.objects.first()
@pytest.mark.django_db(transaction=False)
def test_tipo_comissao_model():
mommy.make(TipoComissao,
nome='Teste_Nome_Tipo_Comissao',
natureza='T',
sigla='TSTC')
tipo_comissao = TipoComissao.objects.first()
assert tipo_comissao.nome == 'Teste_Nome_Tipo_Comissao'
assert tipo_comissao.natureza == 'T'
assert tipo_comissao.sigla == 'TSTC'
@pytest.mark.django_db(transaction=False)
def test_incluir_parlamentar_errors(admin_client):
comissao = make_comissao()
@ -106,7 +121,7 @@ def test_periodo_invalidas():
form = forms.PeriodoForm(data={'data_inicio': '10/11/2017',
'data_fim': '09/11/2017'
})
})
assert not form.is_valid()
assert form.errors['__all__'] == [_('A Data Final não pode ser menor que '
'a Data Inicial')]
@ -123,7 +138,7 @@ def test_valida_campos_obrigatorios_periodo_form():
assert errors['data_inicio'] == [_('Este campo é obrigatório.')]
assert len(errors) == 1
@pytest.mark.django_db(transaction=False)
def test_valida_campos_obrigatorios_reuniao_form():
@ -141,4 +156,3 @@ def test_valida_campos_obrigatorios_reuniao_form():
assert errors['hora_inicio'] == [_('Este campo é obrigatório.')]
assert len(errors) == 6

112
sapl/compilacao/tests/test_compilacao.py

@ -0,0 +1,112 @@
import pytest
from model_mommy import mommy
from sapl.compilacao.models import PerfilEstruturalTextoArticulado
from sapl.compilacao.models import TipoTextoArticulado
from sapl.compilacao.models import TextoArticulado, TipoNota
from sapl.compilacao.models import TipoVide, TipoDispositivo
from sapl.compilacao.models import TipoDispositivoRelationship
@pytest.mark.django_db(transaction=False)
def test_perfil_estrutural_texto_articulado_model():
perfil_estrutural_texto_articulado = mommy.make(
PerfilEstruturalTextoArticulado,
nome='Teste_Nome_Perfil',
sigla='TSPETA')
assert perfil_estrutural_texto_articulado.nome == 'Teste_Nome_Perfil'
assert perfil_estrutural_texto_articulado.sigla == 'TSPETA'
@pytest.mark.django_db(transaction=False)
def test_tipo_texto_articulado_model():
tipo_texto_articulado = mommy.make(
TipoTextoArticulado,
sigla='TTP',
descricao='T_Desc_Tipo_Texto_Articulado'
)
assert tipo_texto_articulado.sigla == 'TTP'
assert tipo_texto_articulado.descricao == 'T_Desc_Tipo_Texto_Articulado'
@pytest.mark.django_db(transaction=False)
def test_texto_articulado_model():
texto_articulado = mommy.make(
TextoArticulado,
ementa='Teste_Ementa_Texto_Articulado',
numero='12345678',
ano=2016,
)
assert texto_articulado.ementa == 'Teste_Ementa_Texto_Articulado'
assert texto_articulado.numero == '12345678'
assert texto_articulado.ano == 2016
@pytest.mark.django_db(transaction=False)
def test_tipo_nota_model():
tipo_nota = mommy.make(
TipoNota,
sigla='TTN',
nome='Teste_Nome_Tipo_Nota'
)
assert tipo_nota.sigla == 'TTN'
assert tipo_nota.nome == 'Teste_Nome_Tipo_Nota'
@pytest.mark.django_db(transaction=False)
def test_tipo_vide_model():
tipo_vide = mommy.make(
TipoVide,
sigla='TTV',
nome='Teste_Nome_Tipo_Vide'
)
assert tipo_vide.sigla == 'TTV'
assert tipo_vide.nome == 'Teste_Nome_Tipo_Vide'
@pytest.mark.django_db(transaction=False)
def test_tipo_dispositivo_model():
tipo_dispositivo = mommy.make(
TipoDispositivo,
nome='Teste_Nome_Tipo_Dispositivo',
rotulo_ordinal=0
)
assert tipo_dispositivo.nome == 'Teste_Nome_Tipo_Dispositivo'
assert tipo_dispositivo.rotulo_ordinal == 0
@pytest.mark.django_db(transaction=False)
def test_tipo_dispositivo_relationship_model():
tipo_dispositivo_pai = mommy.make(
TipoDispositivo,
nome='Tipo_Dispositivo_Pai',
rotulo_ordinal=0
)
t_dispositivo_filho = mommy.make(
TipoDispositivo,
nome='Tipo_Dispositivo_Filho',
rotulo_ordinal=0
)
p_e_texto_articulado = mommy.make(
PerfilEstruturalTextoArticulado,
nome='Teste_Nome_Perfil',
sigla='TSPETA')
tipo_dispositivo_relationship = mommy.make(
TipoDispositivoRelationship,
pai=tipo_dispositivo_pai,
filho_permitido=t_dispositivo_filho,
perfil=p_e_texto_articulado,
)
assert tipo_dispositivo_relationship.pai == tipo_dispositivo_pai
assert tipo_dispositivo_relationship.perfil == p_e_texto_articulado
assert tipo_dispositivo_relationship.filho_permitido == t_dispositivo_filho

1
sapl/protocoloadm/models.py

@ -57,7 +57,6 @@ class Protocolo(models.Model):
null=False,
choices=RANGE_ANOS,
verbose_name=_('Ano do Protocolo'))
data = models.DateField(null=True, blank=True,
verbose_name=_('Data do Protocolo'),
help_text=_('Informado manualmente'))

52
sapl/templates/base/autores_duplicados.html

@ -1,30 +1,30 @@
{% extends "base.html" %}
{% load common_tags %}
{% block base_content %}
<fieldset>
<h1>Lista de Autores Duplicados</h1>
<br/>
{% if not autores_duplicados %}
<p>{{ NO_ENTRIES_MSG }}</p>
{% else %}
<table class="table table-striped table-hover">
<thead>
<tr>
<th>Autor</th>
<th>Quantidade</th>
</tr>
</thead>
<tbody>
{% for autor in autores_duplicados %}
<tr>
<td>{{ autor.nome }}</td>
<td>{{ autor.count }}</td>
</tr>
{% endfor %}
</tbody>
</table>
{% endif %}
</fieldset>
{% include 'paginacao.html'%}
<br/>
<fieldset>
<h1>Lista de Autores Duplicados</h1>
<br/>
{% if not autores_duplicados %}
<p>{{ NO_ENTRIES_MSG }}</p>
{% else %}
<table class="table table-striped table-hover">
<thead>
<tr>
<th>Autor</th>
<th>Quantidade</th>
</tr>
</thead>
<tbody>
{% for autor in autores_duplicados %}
<tr>
<td>{{ autor.nome }}</td>
<td>{{ autor.count }}</td>
</tr>
{% endfor %}
</tbody>
</table>
{% endif %}
</fieldset>
{% include 'paginacao.html' %}
<br/>
{% endblock base_content %}

64
sapl/templates/base/bancada_comissao_autor_externo.html

@ -1,36 +1,36 @@
{% extends "base.html" %}
{% load common_tags %}
{% block base_content %}
<fieldset>
<h1>Lista de Bancadas e Comissões com Autor Externo</h1>
<br/>
{% if not bancada_comissao_autor_externo %}
<p>{{ NO_ENTRIES_MSG }}</p>
{% else %}
<table class="table table-striped table-hover">
<thead>
<tr>
<th>Descrição do Objeto</th>
<th>Objeto</th>
<th>Autor</th>
</tr>
</thead>
<tbody>
{% for autor, objeto, descricao_objeto, link in bancada_comissao_autor_externo %}
<tr>
<td>{{ descricao_objeto }}</td>
<td>
<a href="{% url 'sapl_index' %}{{ link }}/{{ objeto.pk }}">{{ objeto }}</a>
</td>
<td>
<a href="{% url 'sapl_index' %}sistema/autor/{{ autor.pk }}">{{ autor.nome }}</a>
</td>
</tr>
{% endfor %}
</tbody>
</table>
{% endif %}
</fieldset>
{% include 'paginacao.html'%}
<br/>
<fieldset>
<h1>Lista de Bancadas e Comissões com Autor Externo</h1>
<br/>
{% if not bancada_comissao_autor_externo %}
<p>{{ NO_ENTRIES_MSG }}</p>
{% else %}
<table class="table table-striped table-hover">
<thead>
<tr>
<th>Descrição do Objeto</th>
<th>Objeto</th>
<th>Autor</th>
</tr>
</thead>
<tbody>
{% for autor, objeto, descricao_objeto, link in bancada_comissao_autor_externo %}
<tr>
<td>{{ descricao_objeto }}</td>
<td>
<a href="{% url 'sapl_index' %}{{ link }}/{{ objeto.pk }}">{{ objeto }}</a>
</td>
<td>
<a href="{% url 'sapl.base:autor_detail' autor.pk %}">{{ autor.nome }}</a>
</td>
</tr>
{% endfor %}
</tbody>
</table>
{% endif %}
</fieldset>
{% include 'paginacao.html' %}
<br/>
{% endblock base_content %}

56
sapl/templates/base/filiacoes_sem_data_filiacao.html

@ -1,32 +1,32 @@
{% extends "base.html" %}
{% load common_tags %}
{% block base_content %}
<fieldset>
<h1>Lista de Filiações sem Data Filiação</h1>
<br/>
{% if not filiacoes_sem_data_filiacao %}
<p>{{ NO_ENTRIES_MSG }}</p>
{% else %}
<table class="table table-striped table-hover">
<thead>
<tr>
<th>Parlamentar Filiado</th>
<th>Partido</th>
</tr>
</thead>
<tbody>
{% for filiacao in filiacoes_sem_data_filiacao %}
<tr>
<td>
<a href="{% url 'sapl_index' %}parlamentar/filiacao/{{ filiacao.pk }}">{{ filiacao.parlamentar }}</a>
</td>
<td>{{ filiacao.partido }}</td>
</tr>
{% endfor %}
</tbody>
</table>
{% endif %}
</fieldset>
{% include 'paginacao.html'%}
<br/>
<fieldset>
<h1>Lista de Filiações sem Data Filiação</h1>
<br/>
{% if not filiacoes_sem_data_filiacao %}
<p>{{ NO_ENTRIES_MSG }}</p>
{% else %}
<table class="table table-striped table-hover">
<thead>
<tr>
<th>Parlamentar Filiado</th>
<th>Partido</th>
</tr>
</thead>
<tbody>
{% for filiacao in filiacoes_sem_data_filiacao %}
<tr>
<td>
<a href="{% url 'sapl.parlamentares:filiacao_detail' filiacao.pk %}">{{ filiacao.parlamentar }}</a>
</td>
<td>{{ filiacao.partido }}</td>
</tr>
{% endfor %}
</tbody>
</table>
{% endif %}
</fieldset>
{% include 'paginacao.html' %}
<br/>
{% endblock base_content %}

56
sapl/templates/base/legislatura_infindavel.html

@ -1,32 +1,32 @@
{% extends "base.html" %}
{% load common_tags %}
{% block base_content %}
<fieldset>
<h1>Lista de Legislaturas sem Data Fim</h1>
<br/>
{% if not legislatura_infindavel %}
<p>{{ NO_ENTRIES_MSG }}</p>
{% else %}
<table class="table table-striped table-hover">
<thead>
<tr>
<th>Número Legislatura</th>
<th>Data Eleição</th>
<th>Data Início</th>
</tr>
</thead>
<tbody>
{% for legislatura in legislatura_infindavel %}
<tr>
<td>{{ legislatura.numero }}</td>
<td>{{ legislatura.data_eleicao }}</td>
<td>{{ legislatura.data_inicio }}</td>
</tr>
{% endfor %}
</tbody>
</table>
{% endif %}
</fieldset>
{% include 'paginacao.html'%}
<br/>
<fieldset>
<h1>Lista de Legislaturas sem Data Fim</h1>
<br/>
{% if not legislatura_infindavel %}
<p>{{ NO_ENTRIES_MSG }}</p>
{% else %}
<table class="table table-striped table-hover">
<thead>
<tr>
<th>Número Legislatura</th>
<th>Data Eleição</th>
<th>Data Início</th>
</tr>
</thead>
<tbody>
{% for legislatura in legislatura_infindavel %}
<tr>
<td>{{ legislatura.numero }}</td>
<td>{{ legislatura.data_eleicao }}</td>
<td>{{ legislatura.data_inicio }}</td>
</tr>
{% endfor %}
</tbody>
</table>
{% endif %}
</fieldset>
{% include 'paginacao.html' %}
<br/>
{% endblock base_content %}

34
sapl/templates/base/lista_inconsistencias.html

@ -1,22 +1,22 @@
{% extends "base.html" %}
{% load common_tags %}
{% block base_content %}
<fieldset>
<h1>Lista de Inconsistências</h1>
<br/>
<table class="table table-striped table-hover">
<tbody>
{% for complemento_link, nome, valor in tabela_inconsistencias %}
<tr>
<td>
<a href="{% url 'sapl.base:lista_inconsistencias' %}{{ complemento_link }}">{{ nome }}</a>
</td>
<td>{{ valor }}</td>
</tr>
{% endfor %}
</tbody>
</table>
</fieldset>
{% include 'paginacao.html'%}
<fieldset>
<h1>Lista de Inconsistências</h1>
<br/>
<table class="table table-striped table-hover">
<tbody>
{% for complemento_link, nome, valor in tabela_inconsistencias %}
<tr>
<td>
<a href="{% url 'sapl.base:lista_inconsistencias' %}{{ complemento_link }}">{{ nome }}</a>
</td>
<td>{{ valor }}</td>
</tr>
{% endfor %}
</tbody>
</table>
</fieldset>
{% include 'paginacao.html' %}
<br/>
{% endblock base_content %}

56
sapl/templates/base/mandato_sem_data_inicio.html

@ -1,32 +1,32 @@
{% extends "base.html" %}
{% load common_tags %}
{% block base_content %}
<fieldset>
<h1>Lista de Mandatos sem Data Inicial</h1>
<br/>
{% if not mandato_sem_data_inicio %}
<p>{{ NO_ENTRIES_MSG }}</p>
{% else %}
<table class="table table-striped table-hover">
<thead>
<tr>
<th>Parlamentar do Mandato</th>
<th>Legislatura do Mandato</th>
</tr>
</thead>
<tbody>
{% for mandato in mandato_sem_data_inicio %}
<tr>
<td>
<a href="{% url 'sapl_index' %}parlamentar/mandato/{{ mandato.pk }}">{{ mandato.parlamentar }}</a>
</td>
<td>{{ mandato.legislatura }}</td>
</tr>
{% endfor %}
</tbody>
</table>
{% endif %}
</fieldset>
{% include 'paginacao.html'%}
<br/>
<fieldset>
<h1>Lista de Mandatos sem Data Inicial</h1>
<br/>
{% if not mandato_sem_data_inicio %}
<p>{{ NO_ENTRIES_MSG }}</p>
{% else %}
<table class="table table-striped table-hover">
<thead>
<tr>
<th>Parlamentar do Mandato</th>
<th>Legislatura do Mandato</th>
</tr>
</thead>
<tbody>
{% for mandato in mandato_sem_data_inicio %}
<tr>
<td>
<a href="{% url 'sapl.parlamentares:mandato_detail' mandato.pk %}">{{ mandato.parlamentar }}</a>
</td>
<td>{{ mandato.legislatura }}</td>
</tr>
{% endfor %}
</tbody>
</table>
{% endif %}
</fieldset>
{% include 'paginacao.html' %}
<br/>
{% endblock base_content %}

60
sapl/templates/base/materias_protocolo_inexistente.html

@ -1,34 +1,34 @@
{% extends "base.html" %}
{% load common_tags %}
{% block base_content %}
<fieldset>
<h1>Lista de Matérias Legislativas com Protocolo Inexistente</h1>
<br/>
{% if not materias_protocolo_inexistente %}
<p>{{ NO_ENTRIES_MSG }}</p>
{% else %}
<table class="table table-striped table-hover">
<thead>
<tr>
<th>Matéria Legislativa</th>
<th>Ano</th>
<th>Número Protocolo</th>
</tr>
</thead>
<tbody>
{% for materia, ano, numero_protocolo in materias_protocolo_inexistente %}
<tr>
<td>
<a href="{% url 'sapl_index' %}materia/{{ materia.pk }}">{{ materia }}</a>
</td>
<td>{{ ano }}</td>
<td>{{ numero_protocolo }}</td>
</tr>
{% endfor %}
</tbody>
</table>
{% endif %}
</fieldset>
{% include 'paginacao.html'%}
<br/>
<fieldset>
<h1>Lista de Matérias Legislativas com Protocolo Inexistente</h1>
<br/>
{% if not materias_protocolo_inexistente %}
<p>{{ NO_ENTRIES_MSG }}</p>
{% else %}
<table class="table table-striped table-hover">
<thead>
<tr>
<th>Matéria Legislativa</th>
<th>Ano</th>
<th>Número Protocolo</th>
</tr>
</thead>
<tbody>
{% for materia, ano, numero_protocolo in materias_protocolo_inexistente %}
<tr>
<td>
<a href="{% url 'sapl.materia:materialegislativa_detail' materia.pk %}">{{ materia }}</a>
</td>
<td>{{ ano }}</td>
<td>{{ numero_protocolo }}</td>
</tr>
{% endfor %}
</tbody>
</table>
{% endif %}
</fieldset>
{% include 'paginacao.html' %}
<br/>
{% endblock base_content %}

56
sapl/templates/base/parlamentares_duplicados.html

@ -1,32 +1,32 @@
{% extends "base.html" %}
{% load common_tags %}
{% block base_content %}
<fieldset>
<h1>Lista de Parlamentares Duplicados</h1>
<br/>
{% if not parlamentares_duplicados %}
<p>{{ NO_ENTRIES_MSG }}</p>
{% else %}
<table class="table table-striped table-hover">
<thead>
<tr>
<th>Nome do Parlamentar</th>
<th>Quantidade</th>
</tr>
</thead>
<tbody>
{% for parlamentar, quantidade in parlamentares_duplicados %}
<tr>
<td>
<a href="{% url 'sapl.parlamentares:pesquisar_parlamentar' %}?nome_parlamentar={{parlamentar}}">{{ parlamentar }}</a>
</td>
<td>{{ quantidade }}</td>
</tr>
{% endfor %}
</tbody>
</table>
{% endif %}
</fieldset>
{% include 'paginacao.html'%}
<br/>
<fieldset>
<h1>Lista de Parlamentares Duplicados</h1>
<br/>
{% if not parlamentares_duplicados %}
<p>{{ NO_ENTRIES_MSG }}</p>
{% else %}
<table class="table table-striped table-hover">
<thead>
<tr>
<th>Nome do Parlamentar</th>
<th>Quantidade</th>
</tr>
</thead>
<tbody>
{% for quantidade, parlamentar in parlamentares_duplicados %}
<tr>
<td>
<a href="{% url 'sapl.parlamentares:pesquisar_parlamentar' %}?nome_parlamentar={{ parlamentar }}">{{ parlamentar }}</a>
</td>
<td>{{ quantidade }}</td>
</tr>
{% endfor %}
</tbody>
</table>
{% endif %}
</fieldset>
{% include 'paginacao.html' %}
<br/>
{% endblock base_content %}

60
sapl/templates/base/parlamentares_filiacoes_intersecao.html

@ -1,34 +1,34 @@
{% extends "base.html" %}
{% load common_tags %}
{% block base_content %}
<fieldset>
<h1>Lista de Parlamentares com Filiações com Interseção</h1>
<br/>
{% if not parlamentares_filiacoes_intersecao %}
<p>{{ NO_ENTRIES_MSG }}</p>
{% else %}
<table class="table table-striped table-hover">
<thead>
<tr>
<th>Parlamentar</th>
<th>Filiação 1</th>
<th>Filiação 2</th>
</tr>
</thead>
<tbody>
{% for parlamentar, filiacao_a , filiacao_b in parlamentares_filiacoes_intersecao %}
<tr>
<td>
<a href="{% url 'sapl_index' %}parlamentar/{{ parlamentar.pk }}/filiacao">{{ parlamentar }}</a>
</td>
<td>{{filiacao_a.data|date:"d/m/Y"}} - {{filiacao_a.data_desfiliacao|date:"d/m/Y"}}</td>
<td>{{filiacao_b.data|date:"d/m/Y"}} - {{filiacao_b.data_desfiliacao|date:"d/m/Y"}}</td>
</tr>
{% endfor %}
</tbody>
</table>
{% endif %}
</fieldset>
{% include 'paginacao.html'%}
<br/>
<fieldset>
<h1>Lista de Parlamentares com Filiações com Interseção</h1>
<br/>
{% if not parlamentares_filiacoes_intersecao %}
<p>{{ NO_ENTRIES_MSG }}</p>
{% else %}
<table class="table table-striped table-hover">
<thead>
<tr>
<th>Parlamentar</th>
<th>Filiação 1</th>
<th>Filiação 2</th>
</tr>
</thead>
<tbody>
{% for parlamentar, filiacao_a , filiacao_b in parlamentares_filiacoes_intersecao %}
<tr>
<td>
<a href="{% url 'sapl.parlamentares:filiacao_list' parlamentar.pk %}">{{ parlamentar }}</a>
</td>
<td>{{ filiacao_a.data|date:"d/m/Y" }} - {{ filiacao_a.data_desfiliacao|date:"d/m/Y" }}</td>
<td>{{ filiacao_b.data|date:"d/m/Y" }} - {{ filiacao_b.data_desfiliacao|date:"d/m/Y" }}</td>
</tr>
{% endfor %}
</tbody>
</table>
{% endif %}
</fieldset>
{% include 'paginacao.html' %}
<br/>
{% endblock base_content %}

60
sapl/templates/base/parlamentares_mandatos_intersecao.html

@ -1,34 +1,34 @@
{% extends "base.html" %}
{% load common_tags %}
{% block base_content %}
<fieldset>
<h1>Lista de Parlamentares com Mandatos em Interseção</h1>
<br/>
{% if not parlamentares_mandatos_intersecao %}
<p>{{ NO_ENTRIES_MSG }}</p>
{% else %}
<table class="table table-striped table-hover">
<thead>
<tr>
<th>Parlamentar</th>
<th>Mandato 1</th>
<th>Mandato 2</th>
</tr>
</thead>
<tbody>
{% for parlamentar, mandato_a, mandato_b in parlamentares_mandatos_intersecao %}
<tr>
<td>
<a href="{% url 'sapl_index' %}parlamentar/{{ parlamentar.pk }}/mandato">{{ parlamentar }}</a>
</td>
<td>{{ mandato_a.legislatura}}</br>{{mandato_a.data_inicio_mandato|date:"d/m/Y"}} - {{mandato_a.data_fim_mandato|date:"d/m/Y"}}</td>
<td>{{ mandato_b.legislatura }}</br>{{mandato_b.data_inicio_mandato|date:"d/m/Y"}} - {{mandato_b.data_fim_mandato|date:"d/m/Y"}}</td>
</tr>
{% endfor %}
</tbody>
</table>
{% endif %}
</fieldset>
{% include 'paginacao.html'%}
<br/>
<fieldset>
<h1>Lista de Parlamentares com Mandatos em Interseção</h1>
<br/>
{% if not parlamentares_mandatos_intersecao %}
<p>{{ NO_ENTRIES_MSG }}</p>
{% else %}
<table class="table table-striped table-hover">
<thead>
<tr>
<th>Parlamentar</th>
<th>Mandato 1</th>
<th>Mandato 2</th>
</tr>
</thead>
<tbody>
{% for parlamentar, mandato_a, mandato_b in parlamentares_mandatos_intersecao %}
<tr>
<td>
<a href="{% url 'sapl.parlamentares:mandato_list' parlamentar.pk %}">{{ parlamentar }}</a>
</td>
<td>{{ mandato_a.legislatura }}</br>{{ mandato_a.data_inicio_mandato|date:"d/m/Y" }} - {{ mandato_a.data_fim_mandato|date:"d/m/Y" }}</td>
<td>{{ mandato_b.legislatura }}</br>{{ mandato_b.data_inicio_mandato|date:"d/m/Y" }} - {{ mandato_b.data_fim_mandato|date:"d/m/Y" }}</td>
</tr>
{% endfor %}
</tbody>
</table>
{% endif %}
</fieldset>
{% include 'paginacao.html' %}
<br/>
{% endblock base_content %}

52
sapl/templates/base/protocolos_com_materias.html

@ -1,30 +1,30 @@
{% extends "base.html" %}
{% load common_tags %}
{% block base_content %}
<fieldset>
<h1>Lista de Protocolos que Excedem o Limite de Matérias Vinculadas</h1>
<br/>
{% if not protocolos_com_materias %}
<p>{{ NO_ENTRIES_MSG }}</p>
{% else %}
<table class="table table-striped table-hover">
<thead>
<tr>
<th>Protocolo</th>
<th>Quantidade de Matérias Vinculas</th>
</tr>
</thead>
<tbody>
{% for materia, quantidade in protocolos_com_materias %}
<tr>
<td>{{ materia.numero_protocolo }}/{{ materia.ano }}</td>
<td>{{ quantidade }}</td>
</tr>
{% endfor %}
</tbody>
</table>
{% endif %}
</fieldset>
{% include 'paginacao.html'%}
<br/>
<fieldset>
<h1>Lista de Protocolos que Excedem o Limite de Matérias Vinculadas</h1>
<br/>
{% if not protocolos_com_materias %}
<p>{{ NO_ENTRIES_MSG }}</p>
{% else %}
<table class="table table-striped table-hover">
<thead>
<tr>
<th>Protocolo</th>
<th>Quantidade de Matérias Vinculas</th>
</tr>
</thead>
<tbody>
{% for materia, quantidade in protocolos_com_materias %}
<tr>
<td>{{ materia.numero_protocolo }}/{{ materia.ano }}</td>
<td>{{ quantidade }}</td>
</tr>
{% endfor %}
</tbody>
</table>
{% endif %}
</fieldset>
{% include 'paginacao.html' %}
<br/>
{% endblock base_content %}

56
sapl/templates/base/protocolos_duplicados.html

@ -1,32 +1,32 @@
{% extends "base.html" %}
{% load common_tags %}
{% block base_content %}
<fieldset>
<h1>Lista de Protocolos Duplicados</h1>
<br/>
{% if not protocolos_duplicados %}
<p>{{ NO_ENTRIES_MSG }}</p>
{% else %}
<table class="table table-striped table-hover">
<thead>
<tr>
<th>Protocolo</th>
<th>Quantidade</th>
</tr>
</thead>
<tbody>
{% for protocolo, quantidade in protocolos_duplicados %}
<tr>
<td>
<a href="{% url 'sapl.protocoloadm:protocolo' %}?numero={{protocolo.numero}}&ano={{protocolo.ano}}">{{ protocolo }}</a>
</td>
<td>{{ quantidade }}</td>
</tr>
{% endfor %}
</tbody>
</table>
{% endif %}
</fieldset>
{% include 'paginacao.html'%}
<br/>
<fieldset>
<h1>Lista de Protocolos Duplicados</h1>
<br/>
{% if not protocolos_duplicados %}
<p>{{ NO_ENTRIES_MSG }}</p>
{% else %}
<table class="table table-striped table-hover">
<thead>
<tr>
<th>Protocolo</th>
<th>Quantidade</th>
</tr>
</thead>
<tbody>
{% for protocolo, quantidade in protocolos_duplicados %}
<tr>
<td>
<a href="{% url 'sapl.protocoloadm:protocolo' %}?numero={{ protocolo.numero }}&ano={{ protocolo.ano }}">{{ protocolo }}</a>
</td>
<td>{{ quantidade }}</td>
</tr>
{% endfor %}
</tbody>
</table>
{% endif %}
</fieldset>
{% include 'paginacao.html' %}
<br/>
{% endblock base_content %}
Loading…
Cancel
Save