mirror of https://github.com/interlegis/sapl.git
Browse Source
* Cria página de pesquisa referente a ficha * Fix #1436 * Corrige choicefield para modelfield * Fix #1436 -Adiciona teste ao form de materia -Corrige alguns errospull/1478/head
Mariana Mendes
7 years ago
committed by
Edward
10 changed files with 470 additions and 15 deletions
@ -0,0 +1,66 @@ |
|||
import pytest |
|||
from django.utils.translation import ugettext as _ |
|||
from model_mommy import mommy |
|||
|
|||
from sapl.materia import forms |
|||
from sapl.materia.models import (MateriaLegislativa, TipoMateriaLegislativa) |
|||
|
|||
@pytest.mark.django_db(transaction=False) |
|||
def test_valida_campos_obrigatorios_ficha_pesquisa_form(): |
|||
form = forms.FichaPesquisaForm(data={}) |
|||
|
|||
assert not form.is_valid() |
|||
|
|||
errors = form.errors |
|||
|
|||
assert errors['tipo_materia'] == [_('Este campo é obrigatório.')] |
|||
assert errors['data_inicial'] == [_('Este campo é obrigatório.')] |
|||
assert errors['data_final'] == [_('Este campo é obrigatório.')] |
|||
|
|||
assert len(errors) == 3 |
|||
|
|||
@pytest.mark.django_db(transaction=False) |
|||
def test_ficha_pesquisa_form_datas_invalidas(): |
|||
tipo = mommy.make(TipoMateriaLegislativa) |
|||
|
|||
form = forms.FichaPesquisaForm(data={'tipo_materia': str(tipo.pk), |
|||
'data_inicial': '10/11/2017', |
|||
'data_final': '09/11/2017' |
|||
}) |
|||
assert not form.is_valid() |
|||
assert form.errors['__all__'] == [_('A Data Final não pode ser menor que ' |
|||
'a Data Inicial')] |
|||
|
|||
|
|||
@pytest.mark.django_db(transaction=False) |
|||
def test_ficha_pesquisa_form_invalido(): |
|||
tipo = mommy.make(TipoMateriaLegislativa) |
|||
|
|||
form = forms.FichaPesquisaForm(data={'tipo_materia': str(tipo.pk), |
|||
'data_inicial': '10/11/2017', |
|||
'data_final': '09/11/2017' |
|||
}) |
|||
|
|||
assert not form.is_valid() |
|||
|
|||
|
|||
@pytest.mark.django_db(transaction=False) |
|||
def test_valida_campos_obrigatorios_ficha_seleciona_form(): |
|||
form = forms.FichaSelecionaForm(data={}) |
|||
|
|||
assert not form.is_valid() |
|||
|
|||
errors = form.errors |
|||
|
|||
assert errors['materia'] == [_('Este campo é obrigatório.')] |
|||
|
|||
assert len(errors) == 1 |
|||
|
|||
|
|||
@pytest.mark.django_db(transaction=False) |
|||
def test_ficha_seleciona_form_valido(): |
|||
materia = mommy.make(MateriaLegislativa) |
|||
|
|||
form = forms.FichaSelecionaForm(data={'materia': str(materia.pk)}) |
|||
|
|||
assert form.is_valid() |
@ -0,0 +1,82 @@ |
|||
<!DOCTYPE html> |
|||
<html> |
|||
|
|||
<head> |
|||
<title>Impressos</title> |
|||
<meta charset="utf-8"> |
|||
</head> |
|||
|
|||
<style type="text/css"> |
|||
.text_pdf{ |
|||
font-family: verdana; |
|||
font-size: 77%; |
|||
} |
|||
.alert_message{ |
|||
font-family: verdana; |
|||
font-size: 77%; |
|||
color: red; |
|||
|
|||
@media print { |
|||
p {page-break-inside: avoid;} |
|||
} |
|||
} |
|||
</style> |
|||
|
|||
<body style="margin-left:80px;margin-right:80px; margin-top: -50px"> |
|||
|
|||
{% if quantidade > 30 %} |
|||
<b><p class="alert_message">Sua pesquisa retornou mais do que 20 impressos.</p><p class="alert_message">Por questões de performance, foram retornados apenas os 20 primeiros. Caso queira outros, tente fazer uma pesquisa mais específica</p></b> |
|||
</br></br></br> |
|||
{% endif %} |
|||
|
|||
{% for m in materias %} |
|||
<div style="page-break-inside: avoid;"> |
|||
<justify> |
|||
<!-- Informa o processo --> |
|||
{% if m.numeracao_set.first %} |
|||
<strong class="text_pdf">PROCESSO: {{ m.numeracao_set.first.numero_materia }}</strong> |
|||
|
|||
{% else %} |
|||
<strong class="text_pdf">PROCESSO: {{ m.numero }}</strong> |
|||
|
|||
{% endif %} |
|||
|
|||
<!-- Informa o tipo da matéria --> |
|||
<strong class="text_pdf">{{m.tipo.sigla}}:</strong> <span class="text_pdf"> {{m.numero}}/{{m.ano}} </span> |
|||
|
|||
<!-- Informa o campo Pref ??? #TODO --> |
|||
<strong class="text_pdf">Pref:</strong> |
|||
{% if m.numeracao_set.first %} |
|||
<span class="text_pdf">{{ m.numeracao_set.first.numero_materia }}</span> |
|||
{% endif %} </br |
|||
|
|||
<!-- Informa a Data de Entrada --> |
|||
<strong class="text_pdf">DATA DE ENTRADA:</strong> <span class="text_pdf"> {{m.data_apresentacao}}</span></br> |
|||
|
|||
<!-- Lista os autores --> |
|||
{% if m.autoria_set.all %} |
|||
<strong class="text_pdf">Autores:</strong> |
|||
{% for a in m.autoria_set.all %} |
|||
{% if not forloop.first %} |
|||
, <span class="text_pdf">{{a.autor}}</span> |
|||
{% else %} |
|||
<span class="text_pdf">{{a.autor}}</span> |
|||
{% endif %} |
|||
{% endfor %} |
|||
</br> |
|||
{% endif %} |
|||
|
|||
<!-- Ementa --> |
|||
<strong class="text_pdf">EMENTA:</strong> <span class="text_pdf">{{m.ementa}}</span> |
|||
|
|||
</div> |
|||
</justify> |
|||
</br> |
|||
</br> |
|||
</br> |
|||
</br> |
|||
</br> |
|||
|
|||
{% endfor %} |
|||
|
|||
</body> |
@ -0,0 +1,7 @@ |
|||
{% extends "crud/form.html" %} |
|||
{% load i18n crispy_forms_tags %} |
|||
|
|||
{% block base_content %} |
|||
<h1 class="page-header">Impressos</h1> |
|||
{% crispy form %} |
|||
{% endblock base_content %} |
@ -0,0 +1,144 @@ |
|||
<!DOCTYPE html> |
|||
<html><head> |
|||
|
|||
<link rel="stylesheet" href="basicsstyles.css" type="text/css" media="screen"> |
|||
<link rel="stylesheet" href="printstyles.css" type="text/css" media="print"> |
|||
|
|||
<style type="text/css" media="all"> |
|||
|
|||
body |
|||
{ |
|||
font-size: small; |
|||
font-family: Arial; |
|||
line-height: 175%; |
|||
background-color: transparent; |
|||
margin: 5pt 5pt 0pt 0pt; |
|||
} |
|||
|
|||
#voltar |
|||
{ |
|||
position: absolute; |
|||
top: 50pt; |
|||
left: 500pt; |
|||
} |
|||
|
|||
#ementa_texto |
|||
{ |
|||
font-family: Arial; |
|||
line-height: 175%; |
|||
border-style: none; |
|||
text-align: justify; |
|||
padding: 0pt 5pt 0pt 0pt; |
|||
line-height: 140%; |
|||
font-size: small; |
|||
} |
|||
|
|||
#ficha_menor |
|||
{ |
|||
background-color: transparent; |
|||
margin: -2pt 20pt 0pt 0pt; |
|||
position: relative; |
|||
width: 285pt; |
|||
height: 370pt; |
|||
} |
|||
|
|||
#titulo |
|||
{ |
|||
font-size: medium; |
|||
text-align: center; |
|||
} |
|||
|
|||
#ficha_maior |
|||
{ |
|||
background-color: #9eddee; |
|||
margin:0pt; |
|||
position: relative; |
|||
width: 285pt; |
|||
height: 370pt; |
|||
} |
|||
|
|||
#despacho_inicial |
|||
{ |
|||
font-family: Arial; |
|||
border-style: none; |
|||
text-align: justify; |
|||
font-size: small; |
|||
} |
|||
|
|||
@media print { |
|||
#voltar { display: none; } |
|||
} |
|||
|
|||
</style> |
|||
|
|||
<body style="margin-left:80px;margin-right:80px; margin-top: -50px"> |
|||
|
|||
<div style="page-break-inside: avoid;"> |
|||
<justify> |
|||
<div id="titulo"> |
|||
<!-- Informa o processo --> |
|||
{% if materia.numeracao_set.first %} |
|||
<strong class="text_pdf">PROCESSO Nº: {{ materia.numeracao_set.first.numero_materia }}</strong><br><br> |
|||
|
|||
{% else %} |
|||
<strong class="text_pdf">PROCESSO Nº: {{ materia.numero }}</strong><br><br> |
|||
|
|||
{% endif %} |
|||
</div> |
|||
|
|||
<!-- Informa o tipo da matéria --> |
|||
<strong class="text_pdf">{{materia.tipo}}:</strong> <span class="text_pdf"> {{materia.numero}}/{{materia.ano}} </span><br> |
|||
|
|||
<!-- Informa a Data de Entrada --> |
|||
<strong class="text_pdf">Data de entrada:</strong> <span class="text_pdf"> {{materia.data_apresentacao}}</span></br> |
|||
|
|||
<table border=0> |
|||
<td height="60pt" valign=top> |
|||
<div id="ementa_texto"> |
|||
<!-- Lista os autores --> |
|||
{% if materia.autoria_set.all %} |
|||
<strong class="text_pdf">Autor:</strong> |
|||
{% for a in materia.autoria_set.all %} |
|||
{% if not forloop.first %} |
|||
<span class="text_pdf">{{a.autor}}</span><br> |
|||
{% else %} |
|||
<span class="text_pdf">{{a.autor}}</span><br> |
|||
{% endif %} |
|||
{% endfor %} |
|||
</br> |
|||
{% endif %} |
|||
</div> |
|||
</td> |
|||
</table> |
|||
|
|||
|
|||
<br><br><br> |
|||
<!-- Ementa --> |
|||
<table border=0> |
|||
<td height="160pt"> |
|||
<div id="ementa_texto"> |
|||
<strong class="text_pdf">Ementa:</strong> <span class="text_pdf">{{materia.ementa}}</span> |
|||
</div> |
|||
</td> |
|||
</table> |
|||
|
|||
<br><br><br> |
|||
<table border=0> |
|||
<td height="100pt"> |
|||
<div id="despacho_inicial"> |
|||
<strong class="text_pdf">Despacho Inicial:</strong> |
|||
{% for despacho in despachos %} |
|||
<br> <span class="text_pdf">{{despacho}}</span> |
|||
{% endfor %} |
|||
</div> |
|||
</td> |
|||
</table> |
|||
<br> |
|||
<strong></strong><br> |
|||
<strong>________________NORMA JURIDICA_________________</strong><br><br> |
|||
<strong>_________________________________________________</strong> |
|||
|
|||
</div> |
|||
</justify> |
|||
|
|||
</body> |
@ -0,0 +1,6 @@ |
|||
{% extends "crud/form.html" %} |
|||
{% load i18n crispy_forms_tags %} |
|||
|
|||
{% block base_content %} |
|||
{% crispy form %} |
|||
{% endblock base_content %} |
Loading…
Reference in new issue