mirror of https://github.com/interlegis/sapl.git
93 changed files with 3447 additions and 1303 deletions
@ -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' |
||||
@ -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 |
||||
@ -0,0 +1,21 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
# Generated by Django 1.11.20 on 2019-07-03 17:14 |
||||
|
from __future__ import unicode_literals |
||||
|
|
||||
|
from django.db import migrations, models |
||||
|
import django.db.models.deletion |
||||
|
|
||||
|
|
||||
|
class Migration(migrations.Migration): |
||||
|
|
||||
|
dependencies = [ |
||||
|
('materia', '0050_auto_20190521_1148'), |
||||
|
] |
||||
|
|
||||
|
operations = [ |
||||
|
migrations.AlterField( |
||||
|
model_name='despachoinicial', |
||||
|
name='comissao', |
||||
|
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='comissoes.Comissao', verbose_name='Comissão'), |
||||
|
), |
||||
|
] |
||||
@ -0,0 +1,28 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
# Generated by Django 1.11.20 on 2019-07-04 17:03 |
||||
|
from __future__ import unicode_literals |
||||
|
|
||||
|
from django.conf import settings |
||||
|
from django.db import migrations, models |
||||
|
import django.db.models.deletion |
||||
|
|
||||
|
|
||||
|
class Migration(migrations.Migration): |
||||
|
|
||||
|
dependencies = [ |
||||
|
migrations.swappable_dependency(settings.AUTH_USER_MODEL), |
||||
|
('norma', '0024_auto_20190425_0917'), |
||||
|
] |
||||
|
|
||||
|
operations = [ |
||||
|
migrations.AddField( |
||||
|
model_name='normajuridica', |
||||
|
name='ip', |
||||
|
field=models.CharField(blank=True, default='', max_length=30, verbose_name='IP'), |
||||
|
), |
||||
|
migrations.AddField( |
||||
|
model_name='normajuridica', |
||||
|
name='user', |
||||
|
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to=settings.AUTH_USER_MODEL, verbose_name='Usuário'), |
||||
|
), |
||||
|
] |
||||
@ -0,0 +1,25 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
# Generated by Django 1.11.20 on 2019-07-15 14:01 |
||||
|
from __future__ import unicode_literals |
||||
|
|
||||
|
from django.db import migrations, models |
||||
|
|
||||
|
|
||||
|
class Migration(migrations.Migration): |
||||
|
|
||||
|
dependencies = [ |
||||
|
('protocoloadm', '0021_merge_20190429_1531'), |
||||
|
] |
||||
|
|
||||
|
operations = [ |
||||
|
migrations.AlterField( |
||||
|
model_name='protocolo', |
||||
|
name='ip_data_hora_manual', |
||||
|
field=models.CharField(blank=True, help_text='Endereço IP da estação de trabalho do usuário que está realizando Protocolo e informando data e hora manualmente.', max_length=256, verbose_name='IP'), |
||||
|
), |
||||
|
migrations.AlterField( |
||||
|
model_name='protocolo', |
||||
|
name='user_data_hora_manual', |
||||
|
field=models.CharField(blank=True, help_text='Usuário que está realizando Protocolo e informando data e hora manualmente.', max_length=256, verbose_name='IP'), |
||||
|
), |
||||
|
] |
||||
@ -0,0 +1,20 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
# Generated by Django 1.11.20 on 2019-05-31 12:37 |
||||
|
from __future__ import unicode_literals |
||||
|
|
||||
|
from django.db import migrations, models |
||||
|
|
||||
|
|
||||
|
class Migration(migrations.Migration): |
||||
|
|
||||
|
dependencies = [ |
||||
|
('sessao', '0040_auto_20190523_1130'), |
||||
|
] |
||||
|
|
||||
|
operations = [ |
||||
|
migrations.AddField( |
||||
|
model_name='sessaoplenaria', |
||||
|
name='tema_solene', |
||||
|
field=models.TextField(blank=True, max_length=500, verbose_name='Tema da Sessão Solene'), |
||||
|
), |
||||
|
] |
||||
@ -0,0 +1,16 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
# Generated by Django 1.11.20 on 2019-06-12 12:25 |
||||
|
from __future__ import unicode_literals |
||||
|
|
||||
|
from django.db import migrations |
||||
|
|
||||
|
|
||||
|
class Migration(migrations.Migration): |
||||
|
|
||||
|
dependencies = [ |
||||
|
('sessao', '0041_auto_20190610_1300'), |
||||
|
('sessao', '0041_sessaoplenaria_tema_solene'), |
||||
|
] |
||||
|
|
||||
|
operations = [ |
||||
|
] |
||||
@ -0,0 +1,35 @@ |
|||||
|
{% extends "base.html" %} |
||||
|
{% load common_tags %} |
||||
|
{% block base_content %} |
||||
|
<fieldset> |
||||
|
<h1>Lista de Matérias Anexadas Cíclicas</h1> |
||||
|
<br/> |
||||
|
{% if not anexadas_ciclicas %} |
||||
|
<p>{{ NO_ENTRIES_MSG }}</p> |
||||
|
{% else %} |
||||
|
<table class="table table-striped table-hover"> |
||||
|
<thead> |
||||
|
<tr> |
||||
|
<th>Matéria Fim do Ciclo</th> |
||||
|
<th>Matéria Início do Ciclo</th> |
||||
|
</tr> |
||||
|
</thead> |
||||
|
<tbody> |
||||
|
{% for data, fim, inicio in anexadas_ciclicas %} |
||||
|
<tr> |
||||
|
<td>{{ data }}</td> |
||||
|
<td> |
||||
|
<a href="{% url 'sapl.materia:materialegislativa_detail' fim.pk %}">{{ fim }}</a> |
||||
|
</td> |
||||
|
<td> |
||||
|
<a href="{% url 'sapl.materia:materialegislativa_detail' inicio.pk %}">{{ inicio }}</a> |
||||
|
</td> |
||||
|
</tr> |
||||
|
{% endfor %} |
||||
|
</tbody> |
||||
|
</table> |
||||
|
{% endif %} |
||||
|
</fieldset> |
||||
|
{% include 'paginacao.html' %} |
||||
|
<br/> |
||||
|
{% endblock base_content %} |
||||
@ -0,0 +1,36 @@ |
|||||
|
{% extends "base.html" %} |
||||
|
{% load common_tags %} |
||||
|
{% block base_content %} |
||||
|
<fieldset> |
||||
|
<h1>Lista de Documentos Anexados Cíclicos</h1> |
||||
|
<br/> |
||||
|
{% if not anexados_ciclicos %} |
||||
|
<p>{{ NO_ENTRIES_MSG }}</p> |
||||
|
{% else %} |
||||
|
<table class="table table-striped table-hover"> |
||||
|
<thead> |
||||
|
<tr> |
||||
|
<th>Data Anexação</th> |
||||
|
<th>Documento Fim do Ciclo</th> |
||||
|
<th>Documento Início do Ciclo</th> |
||||
|
</tr> |
||||
|
</thead> |
||||
|
<tbody> |
||||
|
{% for data, fim, inicio in anexados_ciclicos %} |
||||
|
<tr> |
||||
|
<td>{{ data }}</td> |
||||
|
<td> |
||||
|
<a href="{% url 'sapl.protocoloadm:documentoadministrativo_detail' fim.pk %}">{{ fim }}</a> |
||||
|
</td> |
||||
|
<td> |
||||
|
<a href="{% url 'sapl.protocoloadm:documentoadministrativo_detail' inicio.pk %}">{{ inicio }}</a> |
||||
|
</td> |
||||
|
</tr> |
||||
|
{% endfor %} |
||||
|
</tbody> |
||||
|
</table> |
||||
|
{% endif %} |
||||
|
</fieldset> |
||||
|
{% include 'paginacao.html' %} |
||||
|
<br/> |
||||
|
{% endblock base_content %} |
||||
@ -1,30 +1,30 @@ |
|||||
{% extends "base.html" %} |
{% extends "base.html" %} |
||||
{% load common_tags %} |
{% load common_tags %} |
||||
{% block base_content %} |
{% block base_content %} |
||||
<fieldset> |
<fieldset> |
||||
<h1>Lista de Autores Duplicados</h1> |
<h1>Lista de Autores Duplicados</h1> |
||||
<br/> |
<br/> |
||||
{% if not autores_duplicados %} |
{% if not autores_duplicados %} |
||||
<p>{{ NO_ENTRIES_MSG }}</p> |
<p>{{ NO_ENTRIES_MSG }}</p> |
||||
{% else %} |
{% else %} |
||||
<table class="table table-striped table-hover"> |
<table class="table table-striped table-hover"> |
||||
<thead> |
<thead> |
||||
<tr> |
<tr> |
||||
<th>Autor</th> |
<th>Autor</th> |
||||
<th>Quantidade</th> |
<th>Quantidade</th> |
||||
</tr> |
</tr> |
||||
</thead> |
</thead> |
||||
<tbody> |
<tbody> |
||||
{% for autor in autores_duplicados %} |
{% for autor in autores_duplicados %} |
||||
<tr> |
<tr> |
||||
<td>{{ autor.nome }}</td> |
<td>{{ autor.nome }}</td> |
||||
<td>{{ autor.count }}</td> |
<td>{{ autor.count }}</td> |
||||
</tr> |
</tr> |
||||
{% endfor %} |
{% endfor %} |
||||
</tbody> |
</tbody> |
||||
</table> |
</table> |
||||
{% endif %} |
{% endif %} |
||||
</fieldset> |
</fieldset> |
||||
{% include 'paginacao.html'%} |
{% include 'paginacao.html' %} |
||||
<br/> |
<br/> |
||||
{% endblock base_content %} |
{% endblock base_content %} |
||||
@ -1,36 +1,36 @@ |
|||||
{% extends "base.html" %} |
{% extends "base.html" %} |
||||
{% load common_tags %} |
{% load common_tags %} |
||||
{% block base_content %} |
{% block base_content %} |
||||
<fieldset> |
<fieldset> |
||||
<h1>Lista de Bancadas e Comissões com Autor Externo</h1> |
<h1>Lista de Bancadas e Comissões com Autor Externo</h1> |
||||
<br/> |
<br/> |
||||
{% if not bancada_comissao_autor_externo %} |
{% if not bancada_comissao_autor_externo %} |
||||
<p>{{ NO_ENTRIES_MSG }}</p> |
<p>{{ NO_ENTRIES_MSG }}</p> |
||||
{% else %} |
{% else %} |
||||
<table class="table table-striped table-hover"> |
<table class="table table-striped table-hover"> |
||||
<thead> |
<thead> |
||||
<tr> |
<tr> |
||||
<th>Descrição do Objeto</th> |
<th>Descrição do Objeto</th> |
||||
<th>Objeto</th> |
<th>Objeto</th> |
||||
<th>Autor</th> |
<th>Autor</th> |
||||
</tr> |
</tr> |
||||
</thead> |
</thead> |
||||
<tbody> |
<tbody> |
||||
{% for autor, objeto, descricao_objeto, link in bancada_comissao_autor_externo %} |
{% for autor, objeto, descricao_objeto, link in bancada_comissao_autor_externo %} |
||||
<tr> |
<tr> |
||||
<td>{{ descricao_objeto }}</td> |
<td>{{ descricao_objeto }}</td> |
||||
<td> |
<td> |
||||
<a href="{% url 'sapl_index' %}{{ link }}/{{ objeto.pk }}">{{ objeto }}</a> |
<a href="{% url 'sapl_index' %}{{ link }}/{{ objeto.pk }}">{{ objeto }}</a> |
||||
</td> |
</td> |
||||
<td> |
<td> |
||||
<a href="{% url 'sapl_index' %}sistema/autor/{{ autor.pk }}">{{ autor.nome }}</a> |
<a href="{% url 'sapl.base:autor_detail' autor.pk %}">{{ autor.nome }}</a> |
||||
</td> |
</td> |
||||
</tr> |
</tr> |
||||
{% endfor %} |
{% endfor %} |
||||
</tbody> |
</tbody> |
||||
</table> |
</table> |
||||
{% endif %} |
{% endif %} |
||||
</fieldset> |
</fieldset> |
||||
{% include 'paginacao.html'%} |
{% include 'paginacao.html' %} |
||||
<br/> |
<br/> |
||||
{% endblock base_content %} |
{% endblock base_content %} |
||||
@ -1,32 +1,32 @@ |
|||||
{% extends "base.html" %} |
{% extends "base.html" %} |
||||
{% load common_tags %} |
{% load common_tags %} |
||||
{% block base_content %} |
{% block base_content %} |
||||
<fieldset> |
<fieldset> |
||||
<h1>Lista de Filiações sem Data Filiação</h1> |
<h1>Lista de Filiações sem Data Filiação</h1> |
||||
<br/> |
<br/> |
||||
{% if not filiacoes_sem_data_filiacao %} |
{% if not filiacoes_sem_data_filiacao %} |
||||
<p>{{ NO_ENTRIES_MSG }}</p> |
<p>{{ NO_ENTRIES_MSG }}</p> |
||||
{% else %} |
{% else %} |
||||
<table class="table table-striped table-hover"> |
<table class="table table-striped table-hover"> |
||||
<thead> |
<thead> |
||||
<tr> |
<tr> |
||||
<th>Parlamentar Filiado</th> |
<th>Parlamentar Filiado</th> |
||||
<th>Partido</th> |
<th>Partido</th> |
||||
</tr> |
</tr> |
||||
</thead> |
</thead> |
||||
<tbody> |
<tbody> |
||||
{% for filiacao in filiacoes_sem_data_filiacao %} |
{% for filiacao in filiacoes_sem_data_filiacao %} |
||||
<tr> |
<tr> |
||||
<td> |
<td> |
||||
<a href="{% url 'sapl_index' %}parlamentar/filiacao/{{ filiacao.pk }}">{{ filiacao.parlamentar }}</a> |
<a href="{% url 'sapl.parlamentares:filiacao_detail' filiacao.pk %}">{{ filiacao.parlamentar }}</a> |
||||
</td> |
</td> |
||||
<td>{{ filiacao.partido }}</td> |
<td>{{ filiacao.partido }}</td> |
||||
</tr> |
</tr> |
||||
{% endfor %} |
{% endfor %} |
||||
</tbody> |
</tbody> |
||||
</table> |
</table> |
||||
{% endif %} |
{% endif %} |
||||
</fieldset> |
</fieldset> |
||||
{% include 'paginacao.html'%} |
{% include 'paginacao.html' %} |
||||
<br/> |
<br/> |
||||
{% endblock base_content %} |
{% endblock base_content %} |
||||
@ -1,32 +1,32 @@ |
|||||
{% extends "base.html" %} |
{% extends "base.html" %} |
||||
{% load common_tags %} |
{% load common_tags %} |
||||
{% block base_content %} |
{% block base_content %} |
||||
<fieldset> |
<fieldset> |
||||
<h1>Lista de Legislaturas sem Data Fim</h1> |
<h1>Lista de Legislaturas sem Data Fim</h1> |
||||
<br/> |
<br/> |
||||
{% if not legislatura_infindavel %} |
{% if not legislatura_infindavel %} |
||||
<p>{{ NO_ENTRIES_MSG }}</p> |
<p>{{ NO_ENTRIES_MSG }}</p> |
||||
{% else %} |
{% else %} |
||||
<table class="table table-striped table-hover"> |
<table class="table table-striped table-hover"> |
||||
<thead> |
<thead> |
||||
<tr> |
<tr> |
||||
<th>Número Legislatura</th> |
<th>Número Legislatura</th> |
||||
<th>Data Eleição</th> |
<th>Data Eleição</th> |
||||
<th>Data Início</th> |
<th>Data Início</th> |
||||
</tr> |
</tr> |
||||
</thead> |
</thead> |
||||
<tbody> |
<tbody> |
||||
{% for legislatura in legislatura_infindavel %} |
{% for legislatura in legislatura_infindavel %} |
||||
<tr> |
<tr> |
||||
<td>{{ legislatura.numero }}</td> |
<td>{{ legislatura.numero }}</td> |
||||
<td>{{ legislatura.data_eleicao }}</td> |
<td>{{ legislatura.data_eleicao }}</td> |
||||
<td>{{ legislatura.data_inicio }}</td> |
<td>{{ legislatura.data_inicio }}</td> |
||||
</tr> |
</tr> |
||||
{% endfor %} |
{% endfor %} |
||||
</tbody> |
</tbody> |
||||
</table> |
</table> |
||||
{% endif %} |
{% endif %} |
||||
</fieldset> |
</fieldset> |
||||
{% include 'paginacao.html'%} |
{% include 'paginacao.html' %} |
||||
<br/> |
<br/> |
||||
{% endblock base_content %} |
{% endblock base_content %} |
||||
@ -1,22 +1,22 @@ |
|||||
{% extends "base.html" %} |
{% extends "base.html" %} |
||||
{% load common_tags %} |
{% load common_tags %} |
||||
{% block base_content %} |
{% block base_content %} |
||||
<fieldset> |
<fieldset> |
||||
<h1>Lista de Inconsistências</h1> |
<h1>Lista de Inconsistências</h1> |
||||
<br/> |
<br/> |
||||
<table class="table table-striped table-hover"> |
<table class="table table-striped table-hover"> |
||||
<tbody> |
<tbody> |
||||
{% for complemento_link, nome, valor in tabela_inconsistencias %} |
{% for complemento_link, nome, valor in tabela_inconsistencias %} |
||||
<tr> |
<tr> |
||||
<td> |
<td> |
||||
<a href="{% url 'sapl.base:lista_inconsistencias' %}{{ complemento_link }}">{{ nome }}</a> |
<a href="{% url 'sapl.base:lista_inconsistencias' %}{{ complemento_link }}">{{ nome }}</a> |
||||
</td> |
</td> |
||||
<td>{{ valor }}</td> |
<td>{{ valor }}</td> |
||||
</tr> |
</tr> |
||||
{% endfor %} |
{% endfor %} |
||||
</tbody> |
</tbody> |
||||
</table> |
</table> |
||||
</fieldset> |
</fieldset> |
||||
{% include 'paginacao.html'%} |
{% include 'paginacao.html' %} |
||||
<br/> |
<br/> |
||||
{% endblock base_content %} |
{% endblock base_content %} |
||||
@ -1,32 +1,32 @@ |
|||||
{% extends "base.html" %} |
{% extends "base.html" %} |
||||
{% load common_tags %} |
{% load common_tags %} |
||||
{% block base_content %} |
{% block base_content %} |
||||
<fieldset> |
<fieldset> |
||||
<h1>Lista de Mandatos sem Data Inicial</h1> |
<h1>Lista de Mandatos sem Data Inicial</h1> |
||||
<br/> |
<br/> |
||||
{% if not mandato_sem_data_inicio %} |
{% if not mandato_sem_data_inicio %} |
||||
<p>{{ NO_ENTRIES_MSG }}</p> |
<p>{{ NO_ENTRIES_MSG }}</p> |
||||
{% else %} |
{% else %} |
||||
<table class="table table-striped table-hover"> |
<table class="table table-striped table-hover"> |
||||
<thead> |
<thead> |
||||
<tr> |
<tr> |
||||
<th>Parlamentar do Mandato</th> |
<th>Parlamentar do Mandato</th> |
||||
<th>Legislatura do Mandato</th> |
<th>Legislatura do Mandato</th> |
||||
</tr> |
</tr> |
||||
</thead> |
</thead> |
||||
<tbody> |
<tbody> |
||||
{% for mandato in mandato_sem_data_inicio %} |
{% for mandato in mandato_sem_data_inicio %} |
||||
<tr> |
<tr> |
||||
<td> |
<td> |
||||
<a href="{% url 'sapl_index' %}parlamentar/mandato/{{ mandato.pk }}">{{ mandato.parlamentar }}</a> |
<a href="{% url 'sapl.parlamentares:mandato_detail' mandato.pk %}">{{ mandato.parlamentar }}</a> |
||||
</td> |
</td> |
||||
<td>{{ mandato.legislatura }}</td> |
<td>{{ mandato.legislatura }}</td> |
||||
</tr> |
</tr> |
||||
{% endfor %} |
{% endfor %} |
||||
</tbody> |
</tbody> |
||||
</table> |
</table> |
||||
{% endif %} |
{% endif %} |
||||
</fieldset> |
</fieldset> |
||||
{% include 'paginacao.html'%} |
{% include 'paginacao.html' %} |
||||
<br/> |
<br/> |
||||
{% endblock base_content %} |
{% endblock base_content %} |
||||
@ -1,34 +1,34 @@ |
|||||
{% extends "base.html" %} |
{% extends "base.html" %} |
||||
{% load common_tags %} |
{% load common_tags %} |
||||
{% block base_content %} |
{% block base_content %} |
||||
<fieldset> |
<fieldset> |
||||
<h1>Lista de Matérias Legislativas com Protocolo Inexistente</h1> |
<h1>Lista de Matérias Legislativas com Protocolo Inexistente</h1> |
||||
<br/> |
<br/> |
||||
{% if not materias_protocolo_inexistente %} |
{% if not materias_protocolo_inexistente %} |
||||
<p>{{ NO_ENTRIES_MSG }}</p> |
<p>{{ NO_ENTRIES_MSG }}</p> |
||||
{% else %} |
{% else %} |
||||
<table class="table table-striped table-hover"> |
<table class="table table-striped table-hover"> |
||||
<thead> |
<thead> |
||||
<tr> |
<tr> |
||||
<th>Matéria Legislativa</th> |
<th>Matéria Legislativa</th> |
||||
<th>Ano</th> |
<th>Ano</th> |
||||
<th>Número Protocolo</th> |
<th>Número Protocolo</th> |
||||
</tr> |
</tr> |
||||
</thead> |
</thead> |
||||
<tbody> |
<tbody> |
||||
{% for materia, ano, numero_protocolo in materias_protocolo_inexistente %} |
{% for materia, ano, numero_protocolo in materias_protocolo_inexistente %} |
||||
<tr> |
<tr> |
||||
<td> |
<td> |
||||
<a href="{% url 'sapl_index' %}materia/{{ materia.pk }}">{{ materia }}</a> |
<a href="{% url 'sapl.materia:materialegislativa_detail' materia.pk %}">{{ materia }}</a> |
||||
</td> |
</td> |
||||
<td>{{ ano }}</td> |
<td>{{ ano }}</td> |
||||
<td>{{ numero_protocolo }}</td> |
<td>{{ numero_protocolo }}</td> |
||||
</tr> |
</tr> |
||||
{% endfor %} |
{% endfor %} |
||||
</tbody> |
</tbody> |
||||
</table> |
</table> |
||||
{% endif %} |
{% endif %} |
||||
</fieldset> |
</fieldset> |
||||
{% include 'paginacao.html'%} |
{% include 'paginacao.html' %} |
||||
<br/> |
<br/> |
||||
{% endblock base_content %} |
{% endblock base_content %} |
||||
@ -1,32 +1,32 @@ |
|||||
{% extends "base.html" %} |
{% extends "base.html" %} |
||||
{% load common_tags %} |
{% load common_tags %} |
||||
{% block base_content %} |
{% block base_content %} |
||||
<fieldset> |
<fieldset> |
||||
<h1>Lista de Parlamentares Duplicados</h1> |
<h1>Lista de Parlamentares Duplicados</h1> |
||||
<br/> |
<br/> |
||||
{% if not parlamentares_duplicados %} |
{% if not parlamentares_duplicados %} |
||||
<p>{{ NO_ENTRIES_MSG }}</p> |
<p>{{ NO_ENTRIES_MSG }}</p> |
||||
{% else %} |
{% else %} |
||||
<table class="table table-striped table-hover"> |
<table class="table table-striped table-hover"> |
||||
<thead> |
<thead> |
||||
<tr> |
<tr> |
||||
<th>Nome do Parlamentar</th> |
<th>Nome do Parlamentar</th> |
||||
<th>Quantidade</th> |
<th>Quantidade</th> |
||||
</tr> |
</tr> |
||||
</thead> |
</thead> |
||||
<tbody> |
<tbody> |
||||
{% for parlamentar, quantidade in parlamentares_duplicados %} |
{% for quantidade, parlamentar in parlamentares_duplicados %} |
||||
<tr> |
<tr> |
||||
<td> |
<td> |
||||
<a href="{% url 'sapl.parlamentares:pesquisar_parlamentar' %}?nome_parlamentar={{parlamentar}}">{{ parlamentar }}</a> |
<a href="{% url 'sapl.parlamentares:pesquisar_parlamentar' %}?nome_parlamentar={{ parlamentar }}">{{ parlamentar }}</a> |
||||
</td> |
</td> |
||||
<td>{{ quantidade }}</td> |
<td>{{ quantidade }}</td> |
||||
</tr> |
</tr> |
||||
{% endfor %} |
{% endfor %} |
||||
</tbody> |
</tbody> |
||||
</table> |
</table> |
||||
{% endif %} |
{% endif %} |
||||
</fieldset> |
</fieldset> |
||||
{% include 'paginacao.html'%} |
{% include 'paginacao.html' %} |
||||
<br/> |
<br/> |
||||
{% endblock base_content %} |
{% endblock base_content %} |
||||
@ -1,34 +1,34 @@ |
|||||
{% extends "base.html" %} |
{% extends "base.html" %} |
||||
{% load common_tags %} |
{% load common_tags %} |
||||
{% block base_content %} |
{% block base_content %} |
||||
<fieldset> |
<fieldset> |
||||
<h1>Lista de Parlamentares com Filiações com Interseção</h1> |
<h1>Lista de Parlamentares com Filiações com Interseção</h1> |
||||
<br/> |
<br/> |
||||
{% if not parlamentares_filiacoes_intersecao %} |
{% if not parlamentares_filiacoes_intersecao %} |
||||
<p>{{ NO_ENTRIES_MSG }}</p> |
<p>{{ NO_ENTRIES_MSG }}</p> |
||||
{% else %} |
{% else %} |
||||
<table class="table table-striped table-hover"> |
<table class="table table-striped table-hover"> |
||||
<thead> |
<thead> |
||||
<tr> |
<tr> |
||||
<th>Parlamentar</th> |
<th>Parlamentar</th> |
||||
<th>Filiação 1</th> |
<th>Filiação 1</th> |
||||
<th>Filiação 2</th> |
<th>Filiação 2</th> |
||||
</tr> |
</tr> |
||||
</thead> |
</thead> |
||||
<tbody> |
<tbody> |
||||
{% for parlamentar, filiacao_a , filiacao_b in parlamentares_filiacoes_intersecao %} |
{% for parlamentar, filiacao_a , filiacao_b in parlamentares_filiacoes_intersecao %} |
||||
<tr> |
<tr> |
||||
<td> |
<td> |
||||
<a href="{% url 'sapl_index' %}parlamentar/{{ parlamentar.pk }}/filiacao">{{ parlamentar }}</a> |
<a href="{% url 'sapl.parlamentares:filiacao_list' parlamentar.pk %}">{{ parlamentar }}</a> |
||||
</td> |
</td> |
||||
<td>{{filiacao_a.data|date:"d/m/Y"}} - {{filiacao_a.data_desfiliacao|date:"d/m/Y"}}</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> |
<td>{{ filiacao_b.data|date:"d/m/Y" }} - {{ filiacao_b.data_desfiliacao|date:"d/m/Y" }}</td> |
||||
</tr> |
</tr> |
||||
{% endfor %} |
{% endfor %} |
||||
</tbody> |
</tbody> |
||||
</table> |
</table> |
||||
{% endif %} |
{% endif %} |
||||
</fieldset> |
</fieldset> |
||||
{% include 'paginacao.html'%} |
{% include 'paginacao.html' %} |
||||
<br/> |
<br/> |
||||
{% endblock base_content %} |
{% endblock base_content %} |
||||
@ -1,34 +1,34 @@ |
|||||
{% extends "base.html" %} |
{% extends "base.html" %} |
||||
{% load common_tags %} |
{% load common_tags %} |
||||
{% block base_content %} |
{% block base_content %} |
||||
<fieldset> |
<fieldset> |
||||
<h1>Lista de Parlamentares com Mandatos em Interseção</h1> |
<h1>Lista de Parlamentares com Mandatos em Interseção</h1> |
||||
<br/> |
<br/> |
||||
{% if not parlamentares_mandatos_intersecao %} |
{% if not parlamentares_mandatos_intersecao %} |
||||
<p>{{ NO_ENTRIES_MSG }}</p> |
<p>{{ NO_ENTRIES_MSG }}</p> |
||||
{% else %} |
{% else %} |
||||
<table class="table table-striped table-hover"> |
<table class="table table-striped table-hover"> |
||||
<thead> |
<thead> |
||||
<tr> |
<tr> |
||||
<th>Parlamentar</th> |
<th>Parlamentar</th> |
||||
<th>Mandato 1</th> |
<th>Mandato 1</th> |
||||
<th>Mandato 2</th> |
<th>Mandato 2</th> |
||||
</tr> |
</tr> |
||||
</thead> |
</thead> |
||||
<tbody> |
<tbody> |
||||
{% for parlamentar, mandato_a, mandato_b in parlamentares_mandatos_intersecao %} |
{% for parlamentar, mandato_a, mandato_b in parlamentares_mandatos_intersecao %} |
||||
<tr> |
<tr> |
||||
<td> |
<td> |
||||
<a href="{% url 'sapl_index' %}parlamentar/{{ parlamentar.pk }}/mandato">{{ parlamentar }}</a> |
<a href="{% url 'sapl.parlamentares:mandato_list' parlamentar.pk %}">{{ parlamentar }}</a> |
||||
</td> |
</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_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> |
<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> |
</tr> |
||||
{% endfor %} |
{% endfor %} |
||||
</tbody> |
</tbody> |
||||
</table> |
</table> |
||||
{% endif %} |
{% endif %} |
||||
</fieldset> |
</fieldset> |
||||
{% include 'paginacao.html'%} |
{% include 'paginacao.html' %} |
||||
<br/> |
<br/> |
||||
{% endblock base_content %} |
{% endblock base_content %} |
||||
@ -1,30 +1,30 @@ |
|||||
{% extends "base.html" %} |
{% extends "base.html" %} |
||||
{% load common_tags %} |
{% load common_tags %} |
||||
{% block base_content %} |
{% block base_content %} |
||||
<fieldset> |
<fieldset> |
||||
<h1>Lista de Protocolos que Excedem o Limite de Matérias Vinculadas</h1> |
<h1>Lista de Protocolos que Excedem o Limite de Matérias Vinculadas</h1> |
||||
<br/> |
<br/> |
||||
{% if not protocolos_com_materias %} |
{% if not protocolos_com_materias %} |
||||
<p>{{ NO_ENTRIES_MSG }}</p> |
<p>{{ NO_ENTRIES_MSG }}</p> |
||||
{% else %} |
{% else %} |
||||
<table class="table table-striped table-hover"> |
<table class="table table-striped table-hover"> |
||||
<thead> |
<thead> |
||||
<tr> |
<tr> |
||||
<th>Protocolo</th> |
<th>Protocolo</th> |
||||
<th>Quantidade de Matérias Vinculas</th> |
<th>Quantidade de Matérias Vinculas</th> |
||||
</tr> |
</tr> |
||||
</thead> |
</thead> |
||||
<tbody> |
<tbody> |
||||
{% for materia, quantidade in protocolos_com_materias %} |
{% for materia, quantidade in protocolos_com_materias %} |
||||
<tr> |
<tr> |
||||
<td>{{ materia.numero_protocolo }}/{{ materia.ano }}</td> |
<td>{{ materia.numero_protocolo }}/{{ materia.ano }}</td> |
||||
<td>{{ quantidade }}</td> |
<td>{{ quantidade }}</td> |
||||
</tr> |
</tr> |
||||
{% endfor %} |
{% endfor %} |
||||
</tbody> |
</tbody> |
||||
</table> |
</table> |
||||
{% endif %} |
{% endif %} |
||||
</fieldset> |
</fieldset> |
||||
{% include 'paginacao.html'%} |
{% include 'paginacao.html' %} |
||||
<br/> |
<br/> |
||||
{% endblock base_content %} |
{% endblock base_content %} |
||||
@ -1,32 +1,32 @@ |
|||||
{% extends "base.html" %} |
{% extends "base.html" %} |
||||
{% load common_tags %} |
{% load common_tags %} |
||||
{% block base_content %} |
{% block base_content %} |
||||
<fieldset> |
<fieldset> |
||||
<h1>Lista de Protocolos Duplicados</h1> |
<h1>Lista de Protocolos Duplicados</h1> |
||||
<br/> |
<br/> |
||||
{% if not protocolos_duplicados %} |
{% if not protocolos_duplicados %} |
||||
<p>{{ NO_ENTRIES_MSG }}</p> |
<p>{{ NO_ENTRIES_MSG }}</p> |
||||
{% else %} |
{% else %} |
||||
<table class="table table-striped table-hover"> |
<table class="table table-striped table-hover"> |
||||
<thead> |
<thead> |
||||
<tr> |
<tr> |
||||
<th>Protocolo</th> |
<th>Protocolo</th> |
||||
<th>Quantidade</th> |
<th>Quantidade</th> |
||||
</tr> |
</tr> |
||||
</thead> |
</thead> |
||||
<tbody> |
<tbody> |
||||
{% for protocolo, quantidade in protocolos_duplicados %} |
{% for protocolo, quantidade in protocolos_duplicados %} |
||||
<tr> |
<tr> |
||||
<td> |
<td> |
||||
<a href="{% url 'sapl.protocoloadm:protocolo' %}?numero={{protocolo.numero}}&ano={{protocolo.ano}}">{{ protocolo }}</a> |
<a href="{% url 'sapl.protocoloadm:protocolo' %}?numero={{ protocolo.numero }}&ano={{ protocolo.ano }}">{{ protocolo }}</a> |
||||
</td> |
</td> |
||||
<td>{{ quantidade }}</td> |
<td>{{ quantidade }}</td> |
||||
</tr> |
</tr> |
||||
{% endfor %} |
{% endfor %} |
||||
</tbody> |
</tbody> |
||||
</table> |
</table> |
||||
{% endif %} |
{% endif %} |
||||
</fieldset> |
</fieldset> |
||||
{% include 'paginacao.html'%} |
{% include 'paginacao.html' %} |
||||
<br/> |
<br/> |
||||
{% endblock base_content %} |
{% endblock base_content %} |
||||
@ -0,0 +1,7 @@ |
|||||
|
{% extends "crud/form.html" %} |
||||
|
{% load i18n %} |
||||
|
{% load crispy_forms_tags %} |
||||
|
{% load common_tags %} |
||||
|
|
||||
|
{% block extra_js %} |
||||
|
{% endblock %} |
||||
@ -0,0 +1,183 @@ |
|||||
|
{% load static %} |
||||
|
<!DOCTYPE html> |
||||
|
<meta charset="utf-8"> |
||||
|
</meta> |
||||
|
<html lang="pt-br"> |
||||
|
|
||||
|
<head> |
||||
|
<style> |
||||
|
@page{ |
||||
|
margin-top: 5cm; |
||||
|
size: A4 portrait; |
||||
|
|
||||
|
@bottom-right { |
||||
|
content: "Página" counter(page); |
||||
|
height: 3cm; |
||||
|
font-size: 8pt; |
||||
|
} |
||||
|
|
||||
|
@bottom-center { |
||||
|
border-top: 1px solid black; |
||||
|
font-size: 8pt; |
||||
|
height: 1cm; |
||||
|
content: "{{rodape|safe}}"; |
||||
|
font-style:italic; |
||||
|
} |
||||
|
@bottom-left { |
||||
|
content: "{{data}}"; |
||||
|
height: 3cm; |
||||
|
font-size: 8pt; |
||||
|
} |
||||
|
|
||||
|
@top-center { |
||||
|
content: string(title); |
||||
|
} |
||||
|
header { |
||||
|
width: 0; |
||||
|
height: 0; |
||||
|
visibility: hidden; |
||||
|
string-set: title content(); |
||||
|
} |
||||
|
} |
||||
|
</style> |
||||
|
<link rel="stylesheet" href="{% static '/sapl/css/relatorio.css'%}"> |
||||
|
</head> |
||||
|
|
||||
|
<body> |
||||
|
<div style="margin-bottom: 3cm"> |
||||
|
<h2 class="gray-title">Informações Básicas</h2> |
||||
|
<p><b>Tipo da Sessão:</b> {{inf_basicas_dic.nom_sessao}}</p> |
||||
|
<p><b>Abertura:</b> {{inf_basicas_dic.dat_inicio_sessao}} - {{inf_basicas_dic.hr_inicio_sessao}}</p> |
||||
|
<p><b>Encerramento:</b> {{inf_basicas_dic.dat_fim_sessao}} - {{inf_basicas_dic.hr_fim_sessao}}</p> |
||||
|
|
||||
|
<h2 class="gray-title">Mesa Diretora</h2> |
||||
|
{% for membro in lst_mesa%} |
||||
|
<p><b>{{membro.des_cargo}}:</b> {{membro.nom_parlamentar}}/{{membro.sgl_partido}}</p> |
||||
|
{% endfor%} |
||||
|
|
||||
|
<h2 class="gray-title">Lista de Presença da Sessão</h2> |
||||
|
{% for membro in lst_presenca_sessao%} |
||||
|
<p>{{membro.nom_parlamentar}}/{{membro.sgl_partido}}</p> |
||||
|
{% endfor%} |
||||
|
|
||||
|
<h2 class="gray-title">Justificativas de Ausência da Sessão</h2> |
||||
|
|
||||
|
<table class="grayTable"> |
||||
|
<thead> |
||||
|
<tr> |
||||
|
<th>Parlamentar</th> |
||||
|
<th>Justificativa</th> |
||||
|
<th>Ausente em</th> |
||||
|
</tr> |
||||
|
</thead> |
||||
|
<tbody> |
||||
|
{% for ausencia in lst_ausencia_sessao%} |
||||
|
<tr> |
||||
|
<td>{{ausencia.parlamentar}}</td> |
||||
|
<td>{{ausencia.justificativa}}</td> |
||||
|
<td>{{ausencia.tipo}}</td> |
||||
|
</tr> |
||||
|
{% endfor %} |
||||
|
|
||||
|
</tbody> |
||||
|
</table> |
||||
|
|
||||
|
<h2 class="gray-title">Expedientes</h2> |
||||
|
{% for expediente in lst_expedientes%} |
||||
|
<h3>{{expediente.nom_expediente}}</h3> |
||||
|
<p style="margin-bottom: 1cm">{{expediente.txt_expediente|safe}}</p> |
||||
|
{% endfor%} |
||||
|
|
||||
|
|
||||
|
<h2 class="gray-title">Matérias do Expediente</h2> |
||||
|
|
||||
|
<table class="grayTable"> |
||||
|
<thead> |
||||
|
<tr> |
||||
|
<th>Matéria</th> |
||||
|
<th>Ementa</th> |
||||
|
<th>Resultado da Votação</th> |
||||
|
</tr> |
||||
|
</thead> |
||||
|
<tbody> |
||||
|
{% for materia in lst_expediente_materia%} |
||||
|
<tr> |
||||
|
<td style="width:300px"> |
||||
|
<dl> |
||||
|
<dt><b>{{materia.num_ordem}} -</b> {{materia.id_materia}}</dt> |
||||
|
<dt><b>Turno:</b> {{materia.des_turno}}</dt> |
||||
|
<dt><b>{{materia.num_autores}}: </b>{{materia.nom_autor}}</dt> |
||||
|
</dl> |
||||
|
</td> |
||||
|
<td><div style="margin:10px">{{materia.txt_ementa}}</div></td> |
||||
|
<td style="width:10px"><b>{{materia.nom_resultado}}</b></td> |
||||
|
</tr> |
||||
|
{% endfor %} |
||||
|
|
||||
|
</tbody> |
||||
|
</table> |
||||
|
|
||||
|
<h2 class="gray-title">Oradores do Expediente</h2> |
||||
|
|
||||
|
{% for orador in lst_oradores_expediente%} |
||||
|
<tr> |
||||
|
<p> <b>{{orador.num_ordem}}</b> - {{orador.nom_parlamentar}}/{{orador.sgl_partido}}</p> |
||||
|
</tr> |
||||
|
{% endfor %} |
||||
|
|
||||
|
<h2 class="gray-title">Lista de Presença da Ordem do Dia</h2> |
||||
|
|
||||
|
{% for orador in lst_presenca_ordem_dia%} |
||||
|
<tr> |
||||
|
<p>{{orador.nom_parlamentar}}/{{orador.sgl_partido}}</p> |
||||
|
</tr> |
||||
|
{% endfor %} |
||||
|
|
||||
|
<h2 class="gray-title">Matérias da Ordem do Dia</h2> |
||||
|
|
||||
|
<table class="grayTable" style="height: 145px;" width="443"> |
||||
|
<thead> |
||||
|
<tr> |
||||
|
<th>Matéria</th> |
||||
|
<th>Ementa</th> |
||||
|
<th>Resultado da Votação</th> |
||||
|
</tr> |
||||
|
</thead> |
||||
|
<tbody> |
||||
|
{% for materia in lst_votacao%} |
||||
|
<tr> |
||||
|
<td style="width:300px"> |
||||
|
<dl> |
||||
|
<dt><b>{{materia.num_ordem}} -</b> {{materia.id_materia}}</dt> |
||||
|
<dt><b>Turno:</b> {{materia.des_turno}}</dt> |
||||
|
<dt><b>{{materia.num_autores}}: </b>{{materia.nom_autor}}</dt> |
||||
|
</dl> |
||||
|
</td> |
||||
|
<td><div style="margin:10px">{{materia.txt_ementa}}</div></td> |
||||
|
<td style="width:30px"><b>{{materia.nom_resultado}}</b></td> |
||||
|
</tr> |
||||
|
{% endfor %} |
||||
|
|
||||
|
</tbody> |
||||
|
</table> |
||||
|
|
||||
|
<div> |
||||
|
<h2 class="gray-title">Oradores das Explicações Pessoais</h2> |
||||
|
{% for orador in lst_oradores%} |
||||
|
<tr> |
||||
|
<p style="page-break-after: avoid;">{{orador.num_ordem}} - {{orador.nom_parlamentar}}/{{orador.sgl_partido}}</p> |
||||
|
</tr> |
||||
|
{% endfor %} |
||||
|
</div> |
||||
|
|
||||
|
|
||||
|
<h2 class="gray-title">Ocorrências da Sessão</h2> |
||||
|
{% for ocorrencia in lst_ocorrencias%} |
||||
|
<p>{{ocorrencia}}</p> |
||||
|
{% endfor %} |
||||
|
</div> |
||||
|
|
||||
|
</body> |
||||
|
|
||||
|
|
||||
|
</html> |
||||
@ -0,0 +1,34 @@ |
|||||
|
{% load i18n common_tags %} |
||||
|
|
||||
|
- title: {% trans 'Abertura' %} |
||||
|
children: |
||||
|
- title: {% trans 'Dados Básicos' %} |
||||
|
url: sessaoplenaria_detail |
||||
|
- title: {% trans 'Mesa' %} |
||||
|
url: mesa |
||||
|
- title: {% trans 'Presença' %} |
||||
|
url: presenca |
||||
|
- title: {% trans 'Explicações Pessoais' %} |
||||
|
url: orador_list |
||||
|
- title: {% trans 'Ocorrências da Sessão' %} |
||||
|
url: ocorrencia_sessao |
||||
|
|
||||
|
- title: {% trans 'Expedientes' %} |
||||
|
children: |
||||
|
- title: {% trans 'Expediente Diversos' %} |
||||
|
url: expediente |
||||
|
- title: {% trans 'Oradores do Expediente' %} |
||||
|
url: oradorexpediente_list |
||||
|
|
||||
|
- title: {% trans 'Painel Eletrônico' %} |
||||
|
url: painel |
||||
|
{% if not 'painel_aberto'|get_config_attr %}check_permission: painel.list_painel{%endif%} |
||||
|
check_permission: painel.list_painel |
||||
|
|
||||
|
- title: {% trans 'Resumo' %} |
||||
|
children: |
||||
|
- title: {% trans 'Resumo' %} |
||||
|
url: resumo |
||||
|
- title: {% trans 'Extrato' %} |
||||
|
url: resumo_ata |
||||
|
check_permission: sessao.add_sessaoplenaria |
||||
Binary file not shown.
@ -1,166 +0,0 @@ |
|||||
<?xml version="1.0" ?> |
|
||||
<!-- |
|
||||
Licensed to the Apache Software Foundation (ASF) under one or more |
|
||||
contributor license agreements. See the NOTICE file distributed with |
|
||||
this work for additional information regarding copyright ownership. |
|
||||
The ASF licenses this file to You under the Apache License, Version 2.0 |
|
||||
(the "License"); you may not use this file except in compliance with |
|
||||
the License. You may obtain a copy of the License at |
|
||||
|
|
||||
http://www.apache.org/licenses/LICENSE-2.0 |
|
||||
|
|
||||
Unless required by applicable law or agreed to in writing, software |
|
||||
distributed under the License is distributed on an "AS IS" BASIS, |
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|
||||
See the License for the specific language governing permissions and |
|
||||
limitations under the License. |
|
||||
--> |
|
||||
|
|
||||
<schema name="default" version="1.6"> |
|
||||
<types> |
|
||||
<fieldtype name="string" class="solr.StrField" sortMissingLast="true" omitNorms="true"/> |
|
||||
<fieldType name="boolean" class="solr.BoolField" sortMissingLast="true" omitNorms="true"/> |
|
||||
<fieldType name="booleans" class="solr.BoolField" sortMissingLast="true" multiValued="true"/> |
|
||||
<fieldtype name="binary" class="solr.BinaryField"/> |
|
||||
|
|
||||
<!-- Numeric field types that manipulate the value into |
|
||||
a string value that isn't human-readable in its internal form, |
|
||||
but with a lexicographic ordering the same as the numeric ordering, |
|
||||
so that range queries work correctly. --> |
|
||||
<fieldType name="pint" class="solr.IntPointField" docValues="true" /> |
|
||||
<fieldType name="pfloat" class="solr.FloatPointField" docValues="true" /> |
|
||||
<fieldType name="plong" class="solr.LongPointField" docValues="true" /> |
|
||||
<fieldType name="pdouble" class="solr.DoublePointField" docValues="true"/> |
|
||||
|
|
||||
|
|
||||
<fieldType name="pdate" class="solr.DatePointField" docValues="true" /> |
|
||||
<!-- A Trie based date field ifor faster date range queries and date faceting. --> |
|
||||
|
|
||||
<fieldType name="pints" class="solr.IntPointField" docValues="true" multiValued="true"/> |
|
||||
<fieldType name="pfloats" class="solr.FloatPointField" docValues="true" multiValued="true"/> |
|
||||
<fieldType name="plongs" class="solr.LongPointField" docValues="true" multiValued="true"/> |
|
||||
<fieldType name="pdoubles" class="solr.DoublePointField" docValues="true" multiValued="true"/> |
|
||||
<fieldType name="pdates" class="solr.DatePointField" docValues="true" multiValued="true"/> |
|
||||
|
|
||||
|
|
||||
<fieldType name="point" class="solr.PointType" dimension="2" subFieldSuffix="_d"/> |
|
||||
<fieldType name="location" class="solr.LatLonType" subFieldSuffix="_coordinate"/> |
|
||||
<fieldtype name="geohash" class="solr.GeoHashField"/> |
|
||||
|
|
||||
<fieldType name="text_general" class="solr.TextField" positionIncrementGap="100"> |
|
||||
<analyzer type="index"> |
|
||||
<tokenizer class="solr.StandardTokenizerFactory"/> |
|
||||
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" /> |
|
||||
<!-- in this example, we will only use synonyms at query time |
|
||||
<filter class="solr.SynonymFilterFactory" synonyms="index_synonyms.txt" ignoreCase="true" expand="false"/> |
|
||||
--> |
|
||||
<filter class="solr.LowerCaseFilterFactory"/> |
|
||||
</analyzer> |
|
||||
<analyzer type="query"> |
|
||||
<tokenizer class="solr.StandardTokenizerFactory"/> |
|
||||
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" /> |
|
||||
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/> |
|
||||
<filter class="solr.LowerCaseFilterFactory"/> |
|
||||
</analyzer> |
|
||||
</fieldType> |
|
||||
|
|
||||
<!-- Portuguese --> |
|
||||
<dynamicField name="*_txt_pt" type="text_pt" indexed="true" stored="true"/> |
|
||||
<fieldType name="text_pt" class="solr.TextField" positionIncrementGap="100"> |
|
||||
<analyzer> |
|
||||
<tokenizer class="solr.StandardTokenizerFactory"/> |
|
||||
<filter class="solr.LowerCaseFilterFactory"/> |
|
||||
<filter class="solr.StopFilterFactory" ignoreCase="true" words="lang/stopwords_pt.txt" format="snowball" /> |
|
||||
<filter class="solr.PortugueseLightStemFilterFactory"/> |
|
||||
<!-- less aggressive: <filter class="solr.PortugueseMinimalStemFilterFactory"/> --> |
|
||||
<!-- more aggressive: <filter class="solr.SnowballPorterFilterFactory" language="Portuguese"/> --> |
|
||||
<!-- most aggressive: <filter class="solr.PortugueseStemFilterFactory"/> --> |
|
||||
</analyzer> |
|
||||
</fieldType> |
|
||||
|
|
||||
|
|
||||
<fieldType name="text_en" class="solr.TextField" positionIncrementGap="100"> |
|
||||
<analyzer type="index"> |
|
||||
<tokenizer class="solr.StandardTokenizerFactory"/> |
|
||||
<filter class="solr.StopFilterFactory" |
|
||||
ignoreCase="true" |
|
||||
words="lang/stopwords_en.txt" |
|
||||
/> |
|
||||
<filter class="solr.LowerCaseFilterFactory"/> |
|
||||
<filter class="solr.EnglishPossessiveFilterFactory"/> |
|
||||
<filter class="solr.KeywordMarkerFilterFactory" protected="protwords.txt"/> |
|
||||
<!-- Optionally you may want to use this less aggressive stemmer instead of PorterStemFilterFactory: |
|
||||
<filter class="solr.EnglishMinimalStemFilterFactory"/> |
|
||||
--> |
|
||||
<filter class="solr.PorterStemFilterFactory"/> |
|
||||
</analyzer> |
|
||||
<analyzer type="query"> |
|
||||
<tokenizer class="solr.StandardTokenizerFactory"/> |
|
||||
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/> |
|
||||
<filter class="solr.StopFilterFactory" |
|
||||
ignoreCase="true" |
|
||||
words="lang/stopwords_en.txt" |
|
||||
/> |
|
||||
<filter class="solr.LowerCaseFilterFactory"/> |
|
||||
<filter class="solr.EnglishPossessiveFilterFactory"/> |
|
||||
<filter class="solr.KeywordMarkerFilterFactory" protected="protwords.txt"/> |
|
||||
<!-- Optionally you may want to use this less aggressive stemmer instead of PorterStemFilterFactory: |
|
||||
<filter class="solr.EnglishMinimalStemFilterFactory"/> |
|
||||
--> |
|
||||
<filter class="solr.PorterStemFilterFactory"/> |
|
||||
</analyzer> |
|
||||
</fieldType> |
|
||||
|
|
||||
<fieldType name="text_ws" class="solr.TextField" positionIncrementGap="100"> |
|
||||
<analyzer> |
|
||||
<tokenizer class="solr.WhitespaceTokenizerFactory"/> |
|
||||
</analyzer> |
|
||||
</fieldType> |
|
||||
|
|
||||
<fieldType name="ngram" class="solr.TextField" > |
|
||||
<analyzer type="index"> |
|
||||
<tokenizer class="solr.KeywordTokenizerFactory"/> |
|
||||
<filter class="solr.LowerCaseFilterFactory"/> |
|
||||
<filter class="solr.NGramFilterFactory" minGramSize="3" maxGramSize="15" /> |
|
||||
</analyzer> |
|
||||
<analyzer type="query"> |
|
||||
<tokenizer class="solr.KeywordTokenizerFactory"/> |
|
||||
<filter class="solr.LowerCaseFilterFactory"/> |
|
||||
</analyzer> |
|
||||
</fieldType> |
|
||||
|
|
||||
<fieldType name="edge_ngram" class="solr.TextField" positionIncrementGap="1"> |
|
||||
<analyzer type="index"> |
|
||||
<tokenizer class="solr.WhitespaceTokenizerFactory" /> |
|
||||
<filter class="solr.LowerCaseFilterFactory" /> |
|
||||
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="1"/> |
|
||||
<filter class="solr.EdgeNGramFilterFactory" minGramSize="2" maxGramSize="15" /> |
|
||||
</analyzer> |
|
||||
<analyzer type="query"> |
|
||||
<tokenizer class="solr.WhitespaceTokenizerFactory" /> |
|
||||
<filter class="solr.LowerCaseFilterFactory" /> |
|
||||
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="1"/> |
|
||||
</analyzer> |
|
||||
</fieldType> |
|
||||
</types> |
|
||||
|
|
||||
<fields> |
|
||||
<!-- general --> |
|
||||
<field name="id" type="string" indexed="true" stored="true" multiValued="false" required="true"/> |
|
||||
<field name="django_ct" type="string" indexed="true" stored="true" multiValued="false"/> |
|
||||
<field name="django_id" type="string" indexed="true" stored="true" multiValued="false"/> |
|
||||
<field name="_version_" type="plong" indexed="true" stored ="true"/> |
|
||||
<field name="text" type="text_pt" indexed="true" stored="true" multiValued="false" /> |
|
||||
<field name="last_update" type="pdate" indexed="true" stored="true" default="NOW" /> |
|
||||
|
|
||||
</fields> |
|
||||
|
|
||||
<!-- field to use to determine and enforce document uniqueness. --> |
|
||||
<uniqueKey>id</uniqueKey> |
|
||||
|
|
||||
<!-- field for the QueryParser to use when an explicit fieldname is absent --> |
|
||||
<df>text</df> |
|
||||
|
|
||||
<!-- SolrQueryParser configuration: defaultOperator="AND|OR" --> |
|
||||
<solrQueryParser q.op="AND"/> |
|
||||
</schema> |
|
||||
Loading…
Reference in new issue