From 39d7ab243dab43cc38908307f3e6b3872badb0be Mon Sep 17 00:00:00 2001 From: ulysses Date: Wed, 13 May 2020 15:59:40 -0300 Subject: [PATCH] =?UTF-8?q?Gerando=20pdf=20com=20codigo=20de=20barra=20e?= =?UTF-8?q?=20op=C3=A7=C3=A3o=20largura/altura?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sapl/materia/forms.py | 8 ++--- ... 0068_configetiquetamaterialegislativa.py} | 4 +-- sapl/materia/models.py | 6 +--- sapl/materia/urls.py | 1 - sapl/materia/views.py | 8 ++--- sapl/relatorios/views.py | 14 ++++++-- sapl/templates/materia/layouts.yaml | 2 +- .../etiqueta_materia_legislativa.html | 32 ++++++++++++++++++- 8 files changed, 54 insertions(+), 21 deletions(-) rename sapl/materia/migrations/{0068_configetiquetamaetrialegislativa.py => 0068_configetiquetamaterialegislativa.py} (87%) diff --git a/sapl/materia/forms.py b/sapl/materia/forms.py index e65d3cd48..d94dde2ee 100644 --- a/sapl/materia/forms.py +++ b/sapl/materia/forms.py @@ -34,7 +34,7 @@ from sapl.materia.models import (AssuntoMateria, Autoria, MateriaAssunto, MateriaLegislativa, Orgao, RegimeTramitacao, StatusTramitacao, TipoDocumento, TipoProposicao, - UnidadeTramitacao,ConfigEtiquetaMaetriaLegislativa) + UnidadeTramitacao,ConfigEtiquetaMateriaLegislativa) from sapl.norma.models import (LegislacaoCitada, NormaJuridica, TipoNormaJuridica) from sapl.parlamentares.models import Legislatura, Partido, Parlamentar @@ -2923,11 +2923,9 @@ class MateriaPesquisaSimplesForm(forms.Form): return cleaned_data -class ConfigEtiquetaMaetriaLegislativaForms(ModelForm): - data = forms.DateField(required=True) - +class ConfigEtiquetaMateriaLegislativaForms(ModelForm): class Meta: - model = ConfigEtiquetaMaetriaLegislativa + model = ConfigEtiquetaMateriaLegislativa fields = '__all__' \ No newline at end of file diff --git a/sapl/materia/migrations/0068_configetiquetamaetrialegislativa.py b/sapl/materia/migrations/0068_configetiquetamaterialegislativa.py similarity index 87% rename from sapl/materia/migrations/0068_configetiquetamaetrialegislativa.py rename to sapl/materia/migrations/0068_configetiquetamaterialegislativa.py index cec49735d..bcabc1537 100644 --- a/sapl/materia/migrations/0068_configetiquetamaetrialegislativa.py +++ b/sapl/materia/migrations/0068_configetiquetamaterialegislativa.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Generated by Django 1.11.29 on 2020-05-12 15:34 +# Generated by Django 1.11.29 on 2020-05-13 14:15 from __future__ import unicode_literals from django.db import migrations, models @@ -13,7 +13,7 @@ class Migration(migrations.Migration): operations = [ migrations.CreateModel( - name='ConfigEtiquetaMaetriaLegislativa', + name='ConfigEtiquetaMateriaLegislativa', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('largura', models.FloatField()), diff --git a/sapl/materia/models.py b/sapl/materia/models.py index db32dfaa1..7c930ae80 100644 --- a/sapl/materia/models.py +++ b/sapl/materia/models.py @@ -1117,7 +1117,7 @@ class MateriaEmTramitacao(models.Model): def __str__(self): return '{}/{}'.format(self.materia, self.tramitacao) -class ConfigEtiquetaMaetriaLegislativa(models.Model): +class ConfigEtiquetaMateriaLegislativa(models.Model): largura = models.FloatField() altura = models.FloatField() @@ -1125,10 +1125,6 @@ class ConfigEtiquetaMaetriaLegislativa(models.Model): 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) \ No newline at end of file diff --git a/sapl/materia/urls.py b/sapl/materia/urls.py index 4ddb17ade..490862214 100644 --- a/sapl/materia/urls.py +++ b/sapl/materia/urls.py @@ -173,7 +173,6 @@ 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())), ] diff --git a/sapl/materia/views.py b/sapl/materia/views.py index a79dcbc02..6c0559e11 100644 --- a/sapl/materia/views.py +++ b/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,ConfigEtiquetaMaetriaLegislativaForms) + TipoProposicaoForm, TramitacaoForm, TramitacaoUpdateForm,ConfigEtiquetaMateriaLegislativaForms) 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,ConfigEtiquetaMaetriaLegislativa) + Tramitacao, UnidadeTramitacao,ConfigEtiquetaMateriaLegislativa) AssuntoMateriaCrud = CrudAux.build(AssuntoMateria, 'assunto_materia') @@ -2854,7 +2854,7 @@ def get_pdf_docacessorios(request, pk): return response class ConfigEtiquetaMateriaLegislativaCrud(CrudAux): - model = ConfigEtiquetaMaetriaLegislativa + model = ConfigEtiquetaMateriaLegislativa class UpdateView(CrudAux.UpdateView): - form_class = ConfigEtiquetaMaetriaLegislativaForms + form_class = ConfigEtiquetaMateriaLegislativaForms diff --git a/sapl/relatorios/views.py b/sapl/relatorios/views.py index 51e3ce52e..e2308ece6 100755 --- a/sapl/relatorios/views.py +++ b/sapl/relatorios/views.py @@ -15,7 +15,7 @@ from sapl.settings import MEDIA_URL from sapl.base.models import Autor, CasaLegislativa from sapl.comissoes.models import Comissao from sapl.materia.models import (Autoria, MateriaLegislativa, Numeracao, - Tramitacao, UnidadeTramitacao) + Tramitacao, UnidadeTramitacao, ConfigEtiquetaMateriaLegislativa) from sapl.parlamentares.models import CargoMesa, Filiacao, Parlamentar from sapl.protocoloadm.models import (DocumentoAdministrativo, Protocolo, TramitacaoAdministrativo) @@ -1568,17 +1568,27 @@ def relatorio_sessao_plenaria_pdf(request, pk): def etiqueta_materia_legislativa(request, pk): base_url = request.build_absolute_uri() materia_legislativa = MateriaLegislativa.objects.get(pk=pk) + confg = ConfigEtiquetaMateriaLegislativa.objects.first() + + from sapl.utils import create_barcode + base64_data = create_barcode(str(materia_legislativa.numero)+"/"+str(materia_legislativa.ano)+"-"+str(materia_legislativa.tipo), 100, 500) + barcode = 'data:image/png;base64,{0}'.format(base64_data) + + context = { 'tipo': materia_legislativa.tipo, 'data_apresentacao':materia_legislativa.data_apresentacao, 'autores': materia_legislativa.autores, 'ementa':materia_legislativa.ementa, + 'largura': confg.largura, + 'altura':confg.largura, + 'barcode': barcode } 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;}')]) + main_doc = html.render(stylesheets=[CSS(string="@page {{size: {}cm {}cm;}}".format(confg.largura,confg.altura))]) pdf_file = main_doc.write_pdf() diff --git a/sapl/templates/materia/layouts.yaml b/sapl/templates/materia/layouts.yaml index 0e97bb46b..142dcdf91 100644 --- a/sapl/templates/materia/layouts.yaml +++ b/sapl/templates/materia/layouts.yaml @@ -158,7 +158,7 @@ MateriaLegislativaDetail: - indexacao - observacao -ConfigEtiquetaMaetriaLegislativa: +ConfigEtiquetaMateriaLegislativa: {% trans 'Configurações de Etiqueta' %}: - largura - altura diff --git a/sapl/templates/relatorios/etiqueta_materia_legislativa.html b/sapl/templates/relatorios/etiqueta_materia_legislativa.html index 9118d6c90..d0be0e05e 100644 --- a/sapl/templates/relatorios/etiqueta_materia_legislativa.html +++ b/sapl/templates/relatorios/etiqueta_materia_legislativa.html @@ -1 +1,31 @@ -asdasd \ No newline at end of file + +{% load i18n %} +{% load crispy_forms_tags %} +{% load common_tags %} +{% load static %} + + + + + + + +
+

Etiqueta Materia Legislativa

+

{{tipo}}

+

{{data_apresentacao}}

+

{{autores}}

+

{{ementa}}

+ {{barcode}} + +
+