Browse Source

Fix#3138 - Iniciando etiqueta de materia legislativa

pull/3162/head
ulysses 6 years ago
parent
commit
1b047bbe8f
  1. 11
      sapl/materia/forms.py
  2. 24
      sapl/materia/migrations/0068_configetiquetamaetrialegislativa.py
  3. 16
      sapl/materia/models.py
  4. 6
      sapl/materia/urls.py
  5. 9
      sapl/materia/views.py
  6. 4
      sapl/relatorios/urls.py
  7. 28
      sapl/relatorios/views.py
  8. 6
      sapl/templates/materia/layouts.yaml
  9. 1
      sapl/templates/relatorios/etiqueta_materia_legislativa.html

11
sapl/materia/forms.py

@ -34,7 +34,7 @@ from sapl.materia.models import (AssuntoMateria, Autoria, MateriaAssunto,
MateriaLegislativa, Orgao, MateriaLegislativa, Orgao,
RegimeTramitacao, StatusTramitacao, RegimeTramitacao, StatusTramitacao,
TipoDocumento, TipoProposicao, TipoDocumento, TipoProposicao,
UnidadeTramitacao) UnidadeTramitacao,ConfigEtiquetaMaetriaLegislativa)
from sapl.norma.models import (LegislacaoCitada, NormaJuridica, from sapl.norma.models import (LegislacaoCitada, NormaJuridica,
TipoNormaJuridica) TipoNormaJuridica)
from sapl.parlamentares.models import Legislatura, Partido, Parlamentar from sapl.parlamentares.models import Legislatura, Partido, Parlamentar
@ -2922,3 +2922,12 @@ class MateriaPesquisaSimplesForm(forms.Form):
_('A Data Final não pode ser menor que a Data Inicial')) _('A Data Final não pode ser menor que a Data Inicial'))
return cleaned_data return cleaned_data
class ConfigEtiquetaMaetriaLegislativaForms(ModelForm):
data = forms.DateField(required=True)
class Meta:
model = ConfigEtiquetaMaetriaLegislativa
fields = '__all__'

24
sapl/materia/migrations/0068_configetiquetamaetrialegislativa.py

@ -0,0 +1,24 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.11.29 on 2020-05-12 15:34
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('materia', '0067_auto_20200416_1538'),
]
operations = [
migrations.CreateModel(
name='ConfigEtiquetaMaetriaLegislativa',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('largura', models.FloatField()),
('altura', models.FloatField()),
('mostrar_em_arquivo', models.BooleanField(choices=[(True, 'Sim'), (False, 'Não')], default=False, verbose_name='Mostrar em arquivo ?')),
],
),
]

16
sapl/materia/models.py

@ -1116,3 +1116,19 @@ class MateriaEmTramitacao(models.Model):
def __str__(self): def __str__(self):
return '{}/{}'.format(self.materia, self.tramitacao) return '{}/{}'.format(self.materia, self.tramitacao)
class ConfigEtiquetaMaetriaLegislativa(models.Model):
largura = models.FloatField()
altura = models.FloatField()
mostrar_em_arquivo = models.BooleanField(verbose_name=_('Mostrar em arquivo ?'),
choices=YES_NO_CHOICES,
default=False)
@classmethod
def object(cls):
return cls._default_manager.all().first() # Since only one item
def save(self, *args, **kwargs):
self.id = 1
return super().save(*args, **kwargs)

6
sapl/materia/urls.py

@ -27,7 +27,8 @@ from sapl.materia.views import (AcompanhamentoConfirmarView,
proposicao_texto, recuperar_materia, proposicao_texto, recuperar_materia,
ExcluirTramitacaoEmLoteView, RetornarProposicao, ExcluirTramitacaoEmLoteView, RetornarProposicao,
MateriaPesquisaSimplesView, MateriaPesquisaSimplesView,
DespachoInicialMultiCreateView, get_zip_docacessorios, get_pdf_docacessorios) DespachoInicialMultiCreateView, get_zip_docacessorios,
get_pdf_docacessorios, ConfigEtiquetaMateriaLegislativaCrud)
from sapl.norma.views import NormaPesquisaSimplesView from sapl.norma.views import NormaPesquisaSimplesView
from sapl.protocoloadm.views import ( from sapl.protocoloadm.views import (
FichaPesquisaAdmView, FichaSelecionaAdmView) FichaPesquisaAdmView, FichaSelecionaAdmView)
@ -172,6 +173,9 @@ urlpatterns_sistema = [
url(r'^sistema/materia/status-tramitacao/', url(r'^sistema/materia/status-tramitacao/',
include(StatusTramitacaoCrud.get_urls())), include(StatusTramitacaoCrud.get_urls())),
url(r'^sistema/materia/orgao/', include(OrgaoCrud.get_urls())), url(r'^sistema/materia/orgao/', include(OrgaoCrud.get_urls())),
url(r'^sistema/materia/config-etiqueta-materia-legislativas/',
include(ConfigEtiquetaMateriaLegislativaCrud.get_urls())),
] ]
urlpatterns = urlpatterns_impressos + urlpatterns_materia + \ urlpatterns = urlpatterns_impressos + urlpatterns_materia + \

9
sapl/materia/views.py

@ -48,7 +48,7 @@ from sapl.materia.forms import (AnexadaForm, AutoriaForm, AutoriaMultiCreateForm
ConfirmarProposicaoForm, DevolverProposicaoForm, ConfirmarProposicaoForm, DevolverProposicaoForm,
DespachoInicialCreateForm, LegislacaoCitadaForm, DespachoInicialCreateForm, LegislacaoCitadaForm,
MateriaPesquisaSimplesForm, OrgaoForm, ProposicaoForm, MateriaPesquisaSimplesForm, OrgaoForm, ProposicaoForm,
TipoProposicaoForm, TramitacaoForm, TramitacaoUpdateForm) TipoProposicaoForm, TramitacaoForm, TramitacaoUpdateForm,ConfigEtiquetaMaetriaLegislativaForms)
from sapl.norma.models import LegislacaoCitada from sapl.norma.models import LegislacaoCitada
from sapl.parlamentares.models import Legislatura from sapl.parlamentares.models import Legislatura
from sapl.protocoloadm.models import Protocolo from sapl.protocoloadm.models import Protocolo
@ -72,7 +72,7 @@ from .models import (AcompanhamentoMateria, Anexada, AssuntoMateria, Autoria, De
DocumentoAcessorio, MateriaAssunto, MateriaLegislativa, Numeracao, Orgao, DocumentoAcessorio, MateriaAssunto, MateriaLegislativa, Numeracao, Orgao,
Origem, Proposicao, RegimeTramitacao, Relatoria, StatusTramitacao, Origem, Proposicao, RegimeTramitacao, Relatoria, StatusTramitacao,
TipoDocumento, TipoFimRelatoria, TipoMateriaLegislativa, TipoProposicao, TipoDocumento, TipoFimRelatoria, TipoMateriaLegislativa, TipoProposicao,
Tramitacao, UnidadeTramitacao) Tramitacao, UnidadeTramitacao,ConfigEtiquetaMaetriaLegislativa)
AssuntoMateriaCrud = CrudAux.build(AssuntoMateria, 'assunto_materia') AssuntoMateriaCrud = CrudAux.build(AssuntoMateria, 'assunto_materia')
@ -2853,3 +2853,8 @@ def get_pdf_docacessorios(request, pk):
% external_name) % external_name)
return response return response
class ConfigEtiquetaMateriaLegislativaCrud(CrudAux):
model = ConfigEtiquetaMaetriaLegislativa
class UpdateView(CrudAux.UpdateView):
form_class = ConfigEtiquetaMaetriaLegislativaForms

4
sapl/relatorios/urls.py

@ -6,7 +6,7 @@ from .views import (relatorio_capa_processo,
relatorio_etiqueta_protocolo, relatorio_materia, relatorio_etiqueta_protocolo, relatorio_materia,
relatorio_ordem_dia, relatorio_pauta_sessao, relatorio_ordem_dia, relatorio_pauta_sessao,
relatorio_protocolo, relatorio_sessao_plenaria, relatorio_protocolo, relatorio_sessao_plenaria,
resumo_ata_pdf, relatorio_sessao_plenaria_pdf) resumo_ata_pdf, relatorio_sessao_plenaria_pdf, etiqueta_materia_legislativa)
app_name = AppConfig.name app_name = AppConfig.name
@ -33,4 +33,6 @@ urlpatterns = [
resumo_ata_pdf, name='resumo_ata_pdf'), resumo_ata_pdf, name='resumo_ata_pdf'),
url(r'^relatorios/(?P<pk>\d+)/sessao-plenaria-pdf$', url(r'^relatorios/(?P<pk>\d+)/sessao-plenaria-pdf$',
relatorio_sessao_plenaria_pdf, name='relatorio_sessao_plenaria_pdf'), relatorio_sessao_plenaria_pdf, name='relatorio_sessao_plenaria_pdf'),
url(r'^relatorios/(?P<pk>\d+)/etiqueta-materia-legislativa$',
etiqueta_materia_legislativa, name='etiqueta_materia_legislativa'),
] ]

28
sapl/relatorios/views.py

@ -1065,6 +1065,8 @@ def relatorio_etiqueta_protocolo(request, nro, ano):
protocolo = Protocolo.objects.filter(numero=nro, ano=ano) protocolo = Protocolo.objects.filter(numero=nro, ano=ano)
m = MateriaLegislativa.objects.filter(numero_protocolo=nro,ano=ano)
protocolo_data = get_etiqueta_protocolos(protocolo) protocolo_data = get_etiqueta_protocolos(protocolo)
pdf = pdf_etiqueta_protocolo_gerar.principal(imagem, pdf = pdf_etiqueta_protocolo_gerar.principal(imagem,
@ -1560,3 +1562,29 @@ def relatorio_sessao_plenaria_pdf(request, pk):
response.write(pdf_file) response.write(pdf_file)
return response return response
def etiqueta_materia_legislativa(request, pk):
base_url = request.build_absolute_uri()
materia_legislativa = MateriaLegislativa.objects.get(pk=pk)
context = {
'tipo': materia_legislativa.tipo,
'data_apresentacao':materia_legislativa.data_apresentacao,
'autores': materia_legislativa.autores,
'ementa':materia_legislativa.ementa,
}
main_template = render_to_string('relatorios/etiqueta_materia_legislativa.html', context)
html = HTML(base_url=base_url, string=main_template)
main_doc = html.render(stylesheets=[CSS(string='@page {size: 4cm 6cm;}')])
pdf_file = main_doc.write_pdf()
response = HttpResponse(content_type='application/pdf;')
response['Content-Disposition'] = 'inline; filename=relatorio.pdf'
response['Content-Transfer-Encoding'] = 'binary'
response.write(pdf_file)
return response

6
sapl/templates/materia/layouts.yaml

@ -157,3 +157,9 @@ MateriaLegislativaDetail:
- ementa - ementa
- indexacao - indexacao
- observacao - observacao
ConfigEtiquetaMaetriaLegislativa:
{% trans 'Configurações de Etiqueta' %}:
- largura
- altura
- mostrar_em_arquivo

1
sapl/templates/relatorios/etiqueta_materia_legislativa.html

@ -0,0 +1 @@
asdasd
Loading…
Cancel
Save