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,
RegimeTramitacao, StatusTramitacao,
TipoDocumento, TipoProposicao,
UnidadeTramitacao)
UnidadeTramitacao,ConfigEtiquetaMaetriaLegislativa)
from sapl.norma.models import (LegislacaoCitada, NormaJuridica,
TipoNormaJuridica)
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'))
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):
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,
ExcluirTramitacaoEmLoteView, RetornarProposicao,
MateriaPesquisaSimplesView,
DespachoInicialMultiCreateView, get_zip_docacessorios, get_pdf_docacessorios)
DespachoInicialMultiCreateView, get_zip_docacessorios,
get_pdf_docacessorios, ConfigEtiquetaMateriaLegislativaCrud)
from sapl.norma.views import NormaPesquisaSimplesView
from sapl.protocoloadm.views import (
FichaPesquisaAdmView, FichaSelecionaAdmView)
@ -172,6 +173,9 @@ urlpatterns_sistema = [
url(r'^sistema/materia/status-tramitacao/',
include(StatusTramitacaoCrud.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 + \

9
sapl/materia/views.py

@ -48,7 +48,7 @@ from sapl.materia.forms import (AnexadaForm, AutoriaForm, AutoriaMultiCreateForm
ConfirmarProposicaoForm, DevolverProposicaoForm,
DespachoInicialCreateForm, LegislacaoCitadaForm,
MateriaPesquisaSimplesForm, OrgaoForm, ProposicaoForm,
TipoProposicaoForm, TramitacaoForm, TramitacaoUpdateForm)
TipoProposicaoForm, TramitacaoForm, TramitacaoUpdateForm,ConfigEtiquetaMaetriaLegislativaForms)
from sapl.norma.models import LegislacaoCitada
from sapl.parlamentares.models import Legislatura
from sapl.protocoloadm.models import Protocolo
@ -72,7 +72,7 @@ from .models import (AcompanhamentoMateria, Anexada, AssuntoMateria, Autoria, De
DocumentoAcessorio, MateriaAssunto, MateriaLegislativa, Numeracao, Orgao,
Origem, Proposicao, RegimeTramitacao, Relatoria, StatusTramitacao,
TipoDocumento, TipoFimRelatoria, TipoMateriaLegislativa, TipoProposicao,
Tramitacao, UnidadeTramitacao)
Tramitacao, UnidadeTramitacao,ConfigEtiquetaMaetriaLegislativa)
AssuntoMateriaCrud = CrudAux.build(AssuntoMateria, 'assunto_materia')
@ -2853,3 +2853,8 @@ def get_pdf_docacessorios(request, pk):
% external_name)
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_ordem_dia, relatorio_pauta_sessao,
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
@ -33,4 +33,6 @@ urlpatterns = [
resumo_ata_pdf, name='resumo_ata_pdf'),
url(r'^relatorios/(?P<pk>\d+)/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)
m = MateriaLegislativa.objects.filter(numero_protocolo=nro,ano=ano)
protocolo_data = get_etiqueta_protocolos(protocolo)
pdf = pdf_etiqueta_protocolo_gerar.principal(imagem,
@ -1560,3 +1562,29 @@ def relatorio_sessao_plenaria_pdf(request, pk):
response.write(pdf_file)
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
- indexacao
- 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