mirror of https://github.com/interlegis/sapl.git
Browse Source
* Gerar e aprimorar pdf de extrato Colocando nome completo nos extratos e acresentando cargos nas assinaturas. Fix #2514 Fix #2506 Refatorando classe ResumoView (extraindo metodos) Adicionando testes a refatoração feita na classe ResumoView Iniciando a geração do pdf de extrato da reunião Aprimorando relatorio do extrato da reunião; Fix #2514 Colocando numero de votos Arrumando header e tabelas do relatorio de extrato Colocando rodape no documento de extrato Melhorando formatação da documentação de extrato de reunião Melhorando assinaturas e removendo codigo morto Adicionando nome de parlaentares nos votos nominais Fix #2514 Fix #2502 Fix #2506 * Melhorando visualização do documento de extrato da reunião * Gerar e aprimorar pdf de extrato Colocando nome completo nos extratos e acresentando cargos nas assinaturas. Fix #2514 Fix #2506 Refatorando classe ResumoView (extraindo metodos) Adicionando testes a refatoração feita na classe ResumoView Iniciando a geração do pdf de extrato da reunião Aprimorando relatorio do extrato da reunião; Fix #2514 Colocando numero de votos Arrumando header e tabelas do relatorio de extrato Colocando rodape no documento de extrato Melhorando formatação da documentação de extrato de reunião Melhorando assinaturas e removendo codigo morto Adicionando nome de parlaentares nos votos nominais Fix #2514 Fix #2502 Fix #2506 * Melhorando visualização do documento de extrato da reunião * Arruma assinatura presentes * Colocando pagina de assinaturas em uma folha separadopull/2636/head
Ulysses Lara
6 years ago
committed by
Edward
16 changed files with 779 additions and 264 deletions
@ -0,0 +1,62 @@ |
|||
html body p { |
|||
border-top: 1px solid black; |
|||
text-align: center; |
|||
font-size: 11pt; |
|||
padding: 5px; |
|||
margin-top: -15px; |
|||
} |
|||
html body section { |
|||
box-sizing: border-box; |
|||
} |
|||
html body section dl { |
|||
display: flex; |
|||
flex-wrap: wrap; |
|||
rows: 2; |
|||
columns: 2; |
|||
} |
|||
html body section dt{ |
|||
width: 50px; |
|||
} |
|||
html body section dd { |
|||
max-width:550px; |
|||
text-align: center; |
|||
} |
|||
html body section dd ul li { |
|||
list-style-type: none; |
|||
margin-left: 90px; |
|||
margin-bottom: -15px; |
|||
|
|||
} |
|||
h2 { |
|||
font-size: 14pt; |
|||
} |
|||
h3 { |
|||
font-size: 10pt; |
|||
color: #6e6e6e; |
|||
} |
|||
ul { |
|||
padding: 0; |
|||
list-style: none; |
|||
margin-top:10px; |
|||
} |
|||
|
|||
html body section dt img { |
|||
max-width:80px; |
|||
margin-left: 20px; |
|||
margin-left: 50px; |
|||
|
|||
} |
|||
h3 { |
|||
font-size: 10pt; |
|||
color: #6e6e6e; |
|||
} |
|||
ul { |
|||
padding: 0; |
|||
list-style: none; |
|||
margin-top:10px; |
|||
} |
|||
|
|||
html body section dt img { |
|||
max-width:80px; |
|||
margin-left: 20px; |
|||
} |
@ -0,0 +1,56 @@ |
|||
@page{ |
|||
margin-top: 4.5cm; |
|||
size: A4 portrait; |
|||
} |
|||
|
|||
h2.gray-title{ |
|||
color: gray; |
|||
font-size: 14pt; |
|||
break-after: avoid-page; |
|||
page-break-after: avoid; |
|||
} |
|||
|
|||
h3 { |
|||
font-size: 10pt; |
|||
break-after: avoid-page; |
|||
page-break-after: avoid; |
|||
} |
|||
|
|||
p { |
|||
font-size: 10pt; |
|||
text-align: justify; |
|||
text-justify: inter-word; |
|||
} |
|||
|
|||
fieldset { |
|||
border: 0; |
|||
} |
|||
|
|||
html body section { |
|||
box-sizing: border-box; |
|||
} |
|||
|
|||
html body section dl { |
|||
display: flex; |
|||
flex-wrap: wrap; |
|||
columns: 5; |
|||
} |
|||
|
|||
html body section dt{ |
|||
width: 50px; |
|||
} |
|||
|
|||
html body section dd { |
|||
text-align: center; |
|||
} |
|||
|
|||
html body section dd ul li { |
|||
list-style-type: none; |
|||
margin-left: 50px; |
|||
} |
|||
|
|||
fieldset { |
|||
page-break-after: avoid; |
|||
margin:5px; |
|||
padding:0px; |
|||
} |
@ -0,0 +1,31 @@ |
|||
{% load common_tags %} |
|||
{% load render_bundle from webpack_loader %} |
|||
{% load webpack_static from webpack_loader %} |
|||
{% load static %} |
|||
<!DOCTYPE html> |
|||
<meta charset="utf-8"> |
|||
</meta> |
|||
<html lang="pt-br"> |
|||
|
|||
<head> |
|||
<link rel="stylesheet" href="{% static 'sapl/css/header-relatorio.css'%}"> |
|||
</head> |
|||
|
|||
<body> |
|||
<section id="informations"> |
|||
<dl> |
|||
<dt class="image-header"> |
|||
<img src="{% if logotipo %}{{ MEDIA_URL }}{{ logotipo }}{% else %}{% webpack_static 'img/logo.png' %}{% endif %}"> |
|||
</dt> |
|||
<dd class="title"> |
|||
<ul> |
|||
<li style="margin-top:10px"><h2>{{casa}}</h2></li> |
|||
<li><h3>Sistema de Apoio ao Processo Legislativo</h3></li> |
|||
</ul> |
|||
</dd> |
|||
</dl> |
|||
</section> |
|||
<p></p> |
|||
</body> |
|||
|
|||
</html> |
@ -0,0 +1,101 @@ |
|||
{% load common_tags %} |
|||
{% load static %} |
|||
<head> |
|||
<style> |
|||
@page{ |
|||
@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> |
|||
<h3 style="text-align:center;">Extrato Reunião</h3> |
|||
{% include 'sessao/blocos_ata/identificacao_basica.html' %} |
|||
{% include 'sessao/blocos_ata/mesa_diretora.html' %} |
|||
{% include 'sessao/blocos_ata/lista_presenca.html' %} |
|||
{% include 'sessao/blocos_ata/expedientes.html' %} |
|||
{% include 'sessao/blocos_ata/materias_expediente.html' %} |
|||
{% include 'sessao/blocos_ata/oradores_expediente.html' %} |
|||
{% include 'sessao/blocos_ata/lista_presenca_ordem_dia.html' %} |
|||
{% include 'sessao/blocos_ata/materias_ordem_dia.html' %} |
|||
{% include 'sessao/blocos_ata/oradores_explicacoes.html' %} |
|||
|
|||
{% if assinatura_mesa or assinatura_presentes %} |
|||
|
|||
<div style="page-break-before: always;padding:5px;margin-top:80px;border-top: 1px solid black;"> |
|||
<legend >{{texto_assinatura}}</legend> |
|||
|
|||
<table style="margin-top:80px"> |
|||
<colgroup> |
|||
<col> |
|||
</colgroup> |
|||
<tbody> |
|||
{% for p in assinatura_mesa %} |
|||
{% if forloop.counter0|divisibleby:2 %} |
|||
<tr style="margin-top:0px"> |
|||
<td> |
|||
<div style="float: left; position: relative; top: -80px; left: 8px; width: 120px">____________________ </br> |
|||
<p style="font-size:8pt"><b>{{p.cargo}}: </b> {{p.parlamentar.nome_completo}} / {{ p.parlamentar|filiacao_data_filter:object.data_inicio }}</p> |
|||
</br></br></br> |
|||
</div> |
|||
{% else %} |
|||
<div style="float: left; position: relative; top: -80px; left: 142px; width: 120px; margin-right:-220px;">____________________ </br> |
|||
<p style="font-size:8pt"><b>{{p.cargo}}: </b> {{p.parlamentar.nome_completo}} / {{ p.parlamentar|filiacao_data_filter:object.data_inicio }}</p> |
|||
</br></br></br> |
|||
</div> |
|||
</td> |
|||
</tr> |
|||
{% endif %} |
|||
{% endfor %} |
|||
|
|||
{% for p in assinatura_presentes %} |
|||
{% if forloop.counter0|divisibleby:2 %} |
|||
<tr style="margin-top:0px"> |
|||
<td> |
|||
<div style="float: left; position: relative;top: -80px; left: 8px; width: 120px;">_____________________</br> |
|||
<p style="font-size:8pt">{{p.nome_completo}} / {{ p|filiacao_data_filter:object.data_inicio }}</p> |
|||
</br></br></br> |
|||
</div> |
|||
{% else %} |
|||
<div style="float: left; position: relative; top: -80px;left: 142px; width: 120px; margin-right:-220px;">_____________________ </br> |
|||
<p style="font-size:8pt">{{p.nome_completo}} / {{ p|filiacao_data_filter:object.data_inicio }}</p> |
|||
</br></br></br> |
|||
</div> |
|||
</td> |
|||
</tr> |
|||
{% endif %} |
|||
{% endfor %} |
|||
</tbody> |
|||
</table> |
|||
{% endif%} |
|||
</div> |
|||
</body> |
|||
|
@ -1,24 +1,34 @@ |
|||
<fieldset> |
|||
|
|||
<p align="justify"> |
|||
{% if materias_ordem %} |
|||
<strong>Matérias da Ordem do Dia: </strong> |
|||
{% for m in materias_ordem %} |
|||
<b>{{m.numero}} - {{m.titulo}} </b> |
|||
{% if m.turno %} |
|||
Turno:{{m.turno}} |
|||
</br> |
|||
<strong>Matérias da Ordem do Dia: </strong> |
|||
</br></br> |
|||
{% for m in materias_ordem %} |
|||
<fieldset style="border-top: 1px solid black;"> |
|||
<b>{{m.numero}} - {{m.titulo}} </b></br> |
|||
<b>Turno:</b>{{m.turno}}</br> |
|||
<b>Autor: </b>{{ m.autor|length|pluralize:"es" }}: {{ m.autor|join:', ' }} |
|||
{% if m.numero_protocolo %} |
|||
<b>Número de Protocolo:</b> {{ m.numero_protocolo }} |
|||
{% endif %} |
|||
{% if m.numero_processo %} |
|||
<b>Processo:</b> {{ m.numero_processo }} |
|||
{% endif %} |
|||
<p><b>Descrição:</b> {{m.ementa|safe}}</p> |
|||
<b>Resultado:</b> {{m.resultado}} {{m.resultado_observacao}} |
|||
<dl> |
|||
<p><b>Tipo:</b> {{m.tipo_votacao}}</p> |
|||
<dt>Sim:{{m.voto_sim}}</dt> |
|||
<dt>Não:{{m.voto_nao}}</dd> |
|||
<dt>Abstenções:{{m.voto_abstencoes}}</dt> |
|||
</dl> |
|||
{% if m.voto_nominal%} |
|||
<b>Votos Nominais</b> |
|||
<ul> |
|||
{% for voto in m.voto_nominal %} |
|||
<li>{{voto.0}} - {{voto.1}}</li> |
|||
{% endfor %} |
|||
</ul> |
|||
{% endif %} |
|||
Autor{{ m.autor|length|pluralize:"es" }}: {{ m.autor|join:', ' }} |
|||
{% if m.numero_protocolo %} |
|||
Número de Protocolo: {{ m.numero_protocolo }} |
|||
{% endif %} |
|||
{% if m.numero_processo %} |
|||
Processo: {{ m.numero_processo }} |
|||
{% endif %} |
|||
{{m.ementa|safe}} |
|||
{{m.resultado}} {{m.resultado_observacao}} |
|||
{% endfor %} |
|||
{% endif %} |
|||
</p> |
|||
|
|||
</fieldset> |
|||
{% endfor %} |
|||
</fieldset> |
Loading…
Reference in new issue