Browse Source

fix #2344

pull/2417/head
Victor Fabre 7 years ago
parent
commit
c995b9d44d
  1. 5
      sapl/materia/urls.py
  2. 6
      sapl/protocoloadm/forms.py
  3. 40
      sapl/protocoloadm/views.py
  4. 107
      sapl/templates/materia/impressos/ficha_adm_pdf.html

5
sapl/materia/urls.py

@ -26,7 +26,7 @@ from sapl.materia.views import (AcompanhamentoConfirmarView,
proposicao_texto, recuperar_materia,
ExcluirTramitacaoEmLoteView, RetornarProposicao)
from sapl.norma.views import NormaPesquisaSimplesView
from sapl.protocoloadm.views import FichaPesquisaAdmView
from sapl.protocoloadm.views import (FichaPesquisaAdmView, FichaSelecionaAdmView)
from .apps import AppConfig
@ -51,6 +51,9 @@ urlpatterns_impressos = [
url(r'^materia/impressos/ficha-pesquisa-adm/$',
FichaPesquisaAdmView.as_view(),
name= 'impressos_ficha_pesquisa_adm'),
url(r'^materia/impressos/ficha-seleciona-adm/$',
FichaSelecionaAdmView.as_view(),
name= 'impressos_ficha_seleciona_adm'),
]
urlpatterns_materia = [

6
sapl/protocoloadm/forms.py

@ -1058,16 +1058,16 @@ class FichaPesquisaAdmForm(forms.Form):
class FichaSelecionaAdmForm(forms.Form):
materia = forms.ModelChoiceField(
documento = forms.ModelChoiceField(
widget=forms.RadioSelect,
queryset=DocumentoAcessorioAdministrativo.objects.all(),
queryset=DocumentoAdministrativo.objects.all(),
label='')
def __init__(self, *args, **kwargs):
super(FichaSelecionaAdmForm, self).__init__(*args, **kwargs)
row1 = to_row(
[('materia', 12)])
[('documento', 12)])
self.helper = FormHelper()
self.helper.layout = Layout(

40
sapl/protocoloadm/views.py

@ -1091,14 +1091,14 @@ class FichaPesquisaAdmView(PermissionRequiredMixin, FormView):
data_inicial = form.data['data_inicial']
data_final = form.data['data_final']
url = reverse('sapl.materia:impressos_ficha_seleciona')
url = reverse('sapl.materia:impressos_ficha_seleciona_adm')
url = url + '?tipo=%s&data_inicial=%s&data_final=%s' % (
tipo_documento, data_inicial, data_final)
return HttpResponseRedirect(url)
class FichaSelecionaView(PermissionRequiredMixin, FormView):
class FichaSelecionaAdmView(PermissionRequiredMixin, FormView):
logger = logging.getLogger(__name__)
form_class = FichaSelecionaAdmForm
template_name = 'materia/impressos/ficha_seleciona.html'
@ -1109,9 +1109,9 @@ class FichaSelecionaView(PermissionRequiredMixin, FormView):
'data_inicial' not in self.request.GET or
'data_final' not in self.request.GET):
return HttpResponseRedirect(reverse(
'sapl.materia:impressos_ficha_pesquisa'))
'sapl.materia:impressos_ficha_pesquisa_adm'))
context = super(FichaSelecionaView, self).get_context_data(
context = super(FichaSelecionaAdmView, self).get_context_data(
**kwargs)
tipo = self.request.GET['tipo']
@ -1120,14 +1120,14 @@ class FichaSelecionaView(PermissionRequiredMixin, FormView):
data_final = datetime.strptime(
self.request.GET['data_final'], "%d/%m/%Y").date()
materia_list = MateriaLegislativa.objects.filter(
documento_list = DocumentoAdministrativo.objects.filter(
tipo=tipo,
data_apresentacao__range=(data_inicial, data_final))
context['quantidade'] = len(materia_list)
materia_list = materia_list[:100]
data__range=(data_inicial, data_final))
context['quantidade'] = len(documento_list)
documento_list = documento_list[:100]
context['form'].fields['materia'].choices = [
(m.id, str(m)) for m in materia_list]
context['form'].fields['documento'].choices = [
(d.id, str(d)) for d in documento_list]
username = self.request.user.username
@ -1153,21 +1153,19 @@ class FichaSelecionaView(PermissionRequiredMixin, FormView):
try:
self.logger.debug(
"user=" + username + ". Tentando obter objeto MateriaLegislativa com id={}".format(form.data['materia']))
materia = MateriaLegislativa.objects.get(
id=form.data['materia'])
"user=" + username + ". Tentando obter objeto DocumentoAdministrativo com id={}".format(form.data['documento']))
documento = DocumentoAdministrativo.objects.get(
id=form.data['documento'])
except ObjectDoesNotExist:
self.logger.error(
"user=" + username + ". Esta MáteriaLegislativa não existe (id={}).".format(form.data['materia']))
mensagem = _('Esta Máteria não existe!')
"user=" + username + ". Este DocumentoAdministrativo não existe (id={}).".format(form.data['documento']))
mensagem = _('Este Documento Administrativo não existe.')
self.messages.add_message(self.request, messages.INFO, mensagem)
return self.render_to_response(context)
if len(materia.ementa) > 301:
materia.ementa = materia.ementa[0:300] + '[...]'
context['materia'] = materia
context['despachos'] = materia.despachoinicial_set.all().values_list(
'comissao__nome', flat=True)
if len(documento.assunto) > 301:
documento.assunto = documento.assunto[0:300] + '[...]'
context['documento'] = documento
return gerar_pdf_impressos(self.request, context,
'materia/impressos/ficha_pdf.html')
'materia/impressos/ficha_adm_pdf.html')

107
sapl/templates/materia/impressos/ficha_adm_pdf.html

@ -0,0 +1,107 @@
<!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: 150%;
border-style: none;
text-align: justify;
padding: 0pt 5pt 0pt 0pt;
margin-right:100px;
font-size: small;
height:130px;
}
#titulo
{
font-size: medium;
margin-right:100px;
text-align: center;
}
#despacho_inicial
{
font-family: Arial;
line-height: 150%;
border-style: none;
text-align: justify;
font-size: small;
height:130px;
padding: 0pt 5pt 0pt 0pt;
margin-right:100px;
}
@media print {
#voltar { display: none; }
}
</style>
<body style="margin-left:-50px;margin-right:180px; margin-top: -50px">
<div style="page-break-inside: avoid;">
<justify>
<div id="titulo">
<!-- Informa o processo -->
<strong class="text_pdf">PROCESSO Nº: {{ documento.numero }} / {{documento.ano}}</strong><br>
</div>
<table border=0>
<td height="60pt" valign=top>
<!-- Informa o tipo da matéria -->
<strong class="text_pdf">{{documento.tipo}}:</strong> <span class="text_pdf"> {{documento.numero}} / {{documento.ano}} </span><br>
</td>
</table>
<table border=0>
<td height="60pt" valign=top>
<!-- Informa a Data de Entrada -->
<strong class="text_pdf">Data de entrada:</strong> <span class="text_pdf"> {{documento.data}}</span></br>
</td>
</table>
{% if documento.protocolo%}
<table border=0>
<td height="60pt" valign=top>
<div>
<strong class="text_pdf">Protocolo: </strong><span class="text_pdf">{{materia.protocolo}}</span><br>
</td>
</table>
{% endif %}
<!-- Ementa -->
<table border=0>
<td>
<div id="ementa_texto">
<strong class="text_pdf">Ementa:</strong> <span class="text_pdf">{{documento.assunto}}</span>
</div>
</td>
</table>
</div>
</justify>
</body>
Loading…
Cancel
Save