mirror of https://github.com/interlegis/sapl.git
Rogério Frá
7 years ago
committed by
GitHub
152 changed files with 4888 additions and 2980 deletions
@ -0,0 +1,26 @@ |
|||
#!/bin/bash |
|||
|
|||
# TODO: Após migrar para Django 1.10 usar |
|||
# |
|||
# ./manage.py makemigrations --check --dry-run |
|||
# |
|||
# ATENÇÃO: a chamada atual termina com exit 1 se NÃO HÁ migração a ser aplicada |
|||
# ou seja, termina com "erro" se está tudo bem! |
|||
# A chamada do django 1.10 INVERTE ISSO. |
|||
# |
|||
# https://docs.djangoproject.com/en/1.10/ref/django-admin/#cmdoption-makemigrations-check |
|||
|
|||
python manage.py makemigrations --dry-run --exit |
|||
|
|||
MIGRATIONS=$? |
|||
|
|||
NC='\033[0m' |
|||
|
|||
if [ $MIGRATIONS -eq 0 ]; then |
|||
RED='\033[0;31m' |
|||
echo |
|||
echo -e "${RED}ALGUMAS ALTERAÇÕES EXIGEM MIGRAÇÃO.${NC}" |
|||
echo -e "${RED}RODE 'python manage.py makemigrations' ANTES DE SUBMETER SEU CÓDIGO...${NC}" |
|||
echo |
|||
exit 1 |
|||
fi |
@ -0,0 +1,20 @@ |
|||
# -*- coding: utf-8 -*- |
|||
# Generated by Django 1.9.13 on 2017-08-14 14:09 |
|||
from __future__ import unicode_literals |
|||
|
|||
from django.db import migrations, models |
|||
|
|||
|
|||
class Migration(migrations.Migration): |
|||
|
|||
dependencies = [ |
|||
('base', '0007_auto_20170808_0850'), |
|||
] |
|||
|
|||
operations = [ |
|||
migrations.AlterField( |
|||
model_name='appconfig', |
|||
name='sequencia_numeracao', |
|||
field=models.CharField(choices=[('A', 'Sequencial por ano'), ('L', 'Sequencial por legislatura'), ('U', 'Sequencial único')], default='A', max_length=1, verbose_name='Sequência de numeração'), |
|||
), |
|||
] |
@ -0,0 +1,20 @@ |
|||
# -*- coding: utf-8 -*- |
|||
# Generated by Django 1.9.12 on 2017-08-09 12:36 |
|||
from __future__ import unicode_literals |
|||
|
|||
from django.db import migrations, models |
|||
|
|||
|
|||
class Migration(migrations.Migration): |
|||
|
|||
dependencies = [ |
|||
('comissoes', '0001_initial'), |
|||
] |
|||
|
|||
operations = [ |
|||
migrations.AlterField( |
|||
model_name='comissao', |
|||
name='nome', |
|||
field=models.CharField(max_length=100, verbose_name='Nome'), |
|||
), |
|||
] |
@ -0,0 +1,21 @@ |
|||
# -*- coding: utf-8 -*- |
|||
# Generated by Django 1.9.13 on 2017-08-25 11:08 |
|||
from __future__ import unicode_literals |
|||
|
|||
from django.db import migrations, models |
|||
import django.db.models.deletion |
|||
|
|||
|
|||
class Migration(migrations.Migration): |
|||
|
|||
dependencies = [ |
|||
('compilacao', '0001_initial'), |
|||
] |
|||
|
|||
operations = [ |
|||
migrations.AlterField( |
|||
model_name='tipotextoarticulado', |
|||
name='content_type', |
|||
field=models.OneToOneField(null=True, on_delete=django.db.models.deletion.SET_NULL, to='contenttypes.ContentType', verbose_name='Modelo Integrado'), |
|||
), |
|||
] |
@ -0,0 +1,33 @@ |
|||
# -*- coding: utf-8 -*- |
|||
# Generated by Django 1.9.13 on 2017-08-25 11:36 |
|||
from __future__ import unicode_literals |
|||
|
|||
from django.db import migrations, models |
|||
import django.db.models.deletion |
|||
|
|||
|
|||
class Migration(migrations.Migration): |
|||
|
|||
dependencies = [ |
|||
('compilacao', '0002_auto_20170825_1108'), |
|||
] |
|||
|
|||
operations = [ |
|||
migrations.AlterField( |
|||
model_name='tipotextoarticulado', |
|||
name='content_type', |
|||
field=models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='contenttypes.ContentType', verbose_name='Modelo Integrado'), |
|||
), |
|||
migrations.AlterField( |
|||
model_name='tipotextoarticulado', |
|||
name='participacao_social', |
|||
field=models.BooleanField(choices=[(True, 'Sim'), (False, 'Não')], default=False, verbose_name='Participação Social'), |
|||
preserve_default=False, |
|||
), |
|||
migrations.AlterField( |
|||
model_name='tipotextoarticulado', |
|||
name='publicacao_func', |
|||
field=models.BooleanField(choices=[(True, 'Sim'), (False, 'Não')], default=False, verbose_name='Histórico de Publicação'), |
|||
preserve_default=False, |
|||
), |
|||
] |
@ -0,0 +1,41 @@ |
|||
from django.utils.translation import ugettext_lazy as _ |
|||
from model_mommy import mommy |
|||
import pytest |
|||
|
|||
from sapl.compilacao import forms |
|||
from sapl.compilacao.models import PerfilEstruturalTextoArticulado |
|||
from sapl.compilacao.views import choice_models_in_extenal_views |
|||
|
|||
|
|||
def test_valida_campos_obrigatorios_tipo_texto_articulado_form(): |
|||
form = forms.TipoTaForm(data={}) |
|||
|
|||
assert not form.is_valid() |
|||
|
|||
errors = form.errors |
|||
|
|||
assert errors['sigla'] == [_('Este campo é obrigatório.')] |
|||
assert errors['descricao'] == [_('Este campo é obrigatório.')] |
|||
assert errors['participacao_social'] == [_('Este campo é obrigatório.')] |
|||
assert errors['publicacao_func'] == [_('Este campo é obrigatório.')] |
|||
|
|||
assert len(errors) == 4 |
|||
|
|||
|
|||
_content_types = choice_models_in_extenal_views() |
|||
|
|||
|
|||
@pytest.mark.parametrize('content_type', _content_types) |
|||
@pytest.mark.django_db(transaction=False) |
|||
def test_tipo_texto_articulado_form_valid(content_type): |
|||
perfil = mommy.make(PerfilEstruturalTextoArticulado) |
|||
|
|||
form = forms.TipoTaForm(data={'sigla': 'si', |
|||
'descricao': 'teste', |
|||
'content_type': content_type[0], |
|||
'participacao_social': True, |
|||
'publicacao_func': True, |
|||
'perfis': [perfil.pk, ] |
|||
}) |
|||
|
|||
assert form.is_valid(), form.errors |
@ -0,0 +1,40 @@ |
|||
from datetime import date |
|||
from functools import wraps |
|||
|
|||
|
|||
def vigencia_atual(decorated_method): |
|||
""" |
|||
concatena a string ' (Atual)' caso a model instancia estiver |
|||
em vigência na data atual do servidor |
|||
|
|||
Premissas: |
|||
* A classe precisa conter os atributos 'data_inicio' e 'data_fim'. |
|||
* 'data_inicio' e 'data_fim' precisam ser do tipo models.DateField |
|||
""" |
|||
@wraps(decorated_method) |
|||
def display_atual(self): |
|||
try: |
|||
string_displayed = decorated_method(self) |
|||
except TypeError: |
|||
string_displayed = "" |
|||
|
|||
if hasattr(self, 'data_inicio') and hasattr(self, 'data_fim'): |
|||
today = date.today() |
|||
e_atual = self.data_inicio <= today <= self.data_fim |
|||
string_displayed = "{} {}".format( |
|||
string_displayed, "(Atual)" if e_atual else "") |
|||
else: |
|||
print('{} {}'.format( |
|||
"Instance does not have the attributes [{}, {}].".format( |
|||
'data_inicio', |
|||
'data_fim' |
|||
), |
|||
"Decorator @{} has been disabled.".format( |
|||
vigencia_atual.__name__() |
|||
) |
|||
) |
|||
) |
|||
|
|||
return string_displayed |
|||
|
|||
return display_atual |
@ -0,0 +1,19 @@ |
|||
# -*- coding: utf-8 -*- |
|||
# Generated by Django 1.9.3 on 2017-08-29 13:21 |
|||
from __future__ import unicode_literals |
|||
|
|||
from django.db import migrations |
|||
|
|||
|
|||
class Migration(migrations.Migration): |
|||
|
|||
dependencies = [ |
|||
('materia', '0011_auto_20170808_1034'), |
|||
] |
|||
|
|||
operations = [ |
|||
migrations.AlterModelOptions( |
|||
name='materialegislativa', |
|||
options={'permissions': (('can_access_impressos', 'Can access impressos'),), 'verbose_name': 'Matéria Legislativa', 'verbose_name_plural': 'Matérias Legislativas'}, |
|||
), |
|||
] |
@ -1,8 +1,3 @@ |
|||
from django.db.models.signals import post_delete, post_save |
|||
|
|||
import django.dispatch |
|||
|
|||
from .models import DocumentoAcessorio, MateriaLegislativa |
|||
|
|||
|
|||
tramitacao_signal = django.dispatch.Signal(providing_args=['post', 'request']) |
|||
|
@ -1,3 +0,0 @@ |
|||
from django.db.models.signals import post_delete, post_save |
|||
|
|||
from .models import NormaJuridica |
@ -0,0 +1,19 @@ |
|||
# -*- coding: utf-8 -*- |
|||
# Generated by Django 1.9.11 on 2017-08-14 16:15 |
|||
from __future__ import unicode_literals |
|||
|
|||
from django.db import migrations |
|||
|
|||
|
|||
class Migration(migrations.Migration): |
|||
|
|||
dependencies = [ |
|||
('parlamentares', '0004_auto_20170711_1305'), |
|||
] |
|||
|
|||
operations = [ |
|||
migrations.AlterModelOptions( |
|||
name='frente', |
|||
options={'verbose_name': 'Frente Parlamentar', 'verbose_name_plural': 'Frentes Parlamentares'}, |
|||
), |
|||
] |
@ -1,138 +1,149 @@ |
|||
import os |
|||
|
|||
request=context.REQUEST |
|||
response=request.RESPONSE |
|||
session= request.SESSION |
|||
request = context.REQUEST |
|||
response = request.RESPONSE |
|||
session = request.SESSION |
|||
|
|||
data=DateTime().strftime('%d/%m/%Y') |
|||
data = DateTime().strftime('%d/%m/%Y') |
|||
|
|||
#Abaixo é gerada a string para o rodapé da página |
|||
casa={} |
|||
aux=context.sapl_documentos.props_sapl.propertyItems() |
|||
# Abaixo é gerada a string para o rodapé da página |
|||
casa = {} |
|||
aux = context.sapl_documentos.props_sapl.propertyItems() |
|||
for item in aux: |
|||
casa[item[0]]=item[1] |
|||
localidade=context.zsql.localidade_obter_zsql(cod_localidade=casa["cod_localidade"]) |
|||
if len(casa["num_cep"])==8: |
|||
cep=casa["num_cep"][:4]+"-"+casa["num_cep"][5:] |
|||
casa[item[0]] = item[1] |
|||
localidade = context.zsql.localidade_obter_zsql( |
|||
cod_localidade=casa["cod_localidade"]) |
|||
if len(casa["num_cep"]) == 8: |
|||
cep = casa["num_cep"][:4] + "-" + casa["num_cep"][5:] |
|||
else: |
|||
cep="" |
|||
|
|||
linha1=casa["end_casa"] |
|||
if cep!="": |
|||
if casa["end_casa"]!="" and casa["end_casa"]!=None: |
|||
linha1 = linha1 + " - " |
|||
linha1 = linha1 + "CEP "+cep |
|||
if localidade[0].nom_localidade!="" and localidade[0].nom_localidade!=None: |
|||
linha1 = linha1 + " - "+localidade[0].nom_localidade+" "+localidade[0].sgl_uf |
|||
if casa["num_tel"]!="" and casa["num_tel"]!=None: |
|||
linha1 = linha1 + " Tel.: "+ casa["num_tel"] |
|||
|
|||
linha2=casa["end_web_casa"] |
|||
if casa["end_email_casa"]!="" and casa["end_email_casa"]!=None: |
|||
if casa["end_web_casa"]!="" and casa["end_web_casa"]!=None: |
|||
linha2 = linha2 + " - " |
|||
linha2 = linha2 + "E-mail: "+casa["end_email_casa"] |
|||
|
|||
data_emissao=DateTime().strftime("%d/%m/%Y") |
|||
rodape=[linha1,linha2,data_emissao] |
|||
|
|||
#Por fim, gera-se as entradas para o cabeçalho |
|||
estados=context.zsql.localidade_obter_zsql(tip_localidade="u") |
|||
cep = "" |
|||
|
|||
linha1 = casa["end_casa"] |
|||
if cep != "": |
|||
if casa["end_casa"] != "" and casa["end_casa"] != None: |
|||
linha1 = linha1 + " - " |
|||
linha1 = linha1 + "CEP " + cep |
|||
if localidade[0].nom_localidade != "" and localidade[0].nom_localidade != None: |
|||
linha1 = linha1 + " - " + \ |
|||
localidade[0].nom_localidade + " " + localidade[0].sgl_uf |
|||
if casa["num_tel"] != "" and casa["num_tel"] != None: |
|||
linha1 = linha1 + " Tel.: " + casa["num_tel"] |
|||
|
|||
linha2 = casa["end_web_casa"] |
|||
if casa["end_email_casa"] != "" and casa["end_email_casa"] != None: |
|||
if casa["end_web_casa"] != "" and casa["end_web_casa"] != None: |
|||
linha2 = linha2 + " - " |
|||
linha2 = linha2 + "E-mail: " + casa["end_email_casa"] |
|||
|
|||
data_emissao = DateTime().strftime("%d/%m/%Y") |
|||
rodape = [linha1, linha2, data_emissao] |
|||
|
|||
# Por fim, gera-se as entradas para o cabeçalho |
|||
estados = context.zsql.localidade_obter_zsql(tip_localidade="u") |
|||
for uf in estados: |
|||
if localidade[0].sgl_uf==uf.sgl_uf: |
|||
nom_estado=uf.nom_localidade |
|||
break |
|||
cabecalho={} |
|||
cabecalho["nom_casa"]=casa["nom_casa"] |
|||
cabecalho["nom_estado"]="Estado de "+nom_estado |
|||
if localidade[0].sgl_uf == uf.sgl_uf: |
|||
nom_estado = uf.nom_localidade |
|||
break |
|||
cabecalho = {} |
|||
cabecalho["nom_casa"] = casa["nom_casa"] |
|||
cabecalho["nom_estado"] = "Estado de " + nom_estado |
|||
|
|||
# tenta buscar o logotipo da casa LOGO_CASA |
|||
if hasattr(context.sapl_documentos.props_sapl,'logo_casa.gif'): |
|||
imagem = context.sapl_documentos.props_sapl['logo_casa.gif'].absolute_url() |
|||
if hasattr(context.sapl_documentos.props_sapl, 'logo_casa.gif'): |
|||
imagem = context.sapl_documentos.props_sapl['logo_casa.gif'].absolute_url() |
|||
else: |
|||
imagem = context.imagens.absolute_url() + "/brasao_transp.gif" |
|||
imagem = context.imagens.absolute_url() + "/brasao_transp.gif" |
|||
|
|||
#Por fim, utiliza o PythonScript para pesquisar os protocolos e gerar os dados |
|||
# Por fim, utiliza o PythonScript para pesquisar os protocolos e gerar os dados |
|||
|
|||
protocolos=[] |
|||
REQUEST=context.REQUEST |
|||
protocolos = [] |
|||
REQUEST = context.REQUEST |
|||
for protocolo in context.zsql.protocolo_pesquisar_zsql(tip_protocolo=REQUEST['rad_tip_protocolo'], |
|||
cod_protocolo=REQUEST['txt_num_protocolo'], ano_protocolo=REQUEST['txt_ano_protocolo'], |
|||
tip_documento=REQUEST['lst_tip_documento'], tip_processo=REQUEST['rad_tip_processo'], |
|||
tip_materia=REQUEST['lst_tip_materia'], des_assunto=REQUEST['txt_assunto'], |
|||
cod_autor=REQUEST['hdn_cod_autor'], des_interessado=REQUEST['txa_txt_interessado'], |
|||
dat_apres=REQUEST['dt_apres'], dat_apres2=REQUEST['dt_apres2']): |
|||
dic={} |
|||
|
|||
dic['titulo']=str(protocolo.cod_protocolo) |
|||
|
|||
dic['ano']=str(protocolo.ano_protocolo) |
|||
|
|||
dic['data']=context.pysc.iso_to_port_pysc(protocolo.dat_protocolo)+' - '+protocolo.hor_protocolo |
|||
|
|||
dic['txt_assunto']=protocolo.txt_assunto_ementa |
|||
|
|||
dic['txt_interessado']=protocolo.txt_interessado |
|||
|
|||
dic['nom_autor'] = " " |
|||
if protocolo.cod_autor!=None: |
|||
for autor in context.zsql.autor_obter_zsql(cod_autor=protocolo.cod_autor): |
|||
if autor.des_tipo_autor=='Parlamentar': |
|||
for parlamentar in context.zsql.parlamentar_obter_zsql(cod_parlamentar=autor.cod_parlamentar): |
|||
dic['nom_autor']=parlamentar.nom_completo |
|||
elif autor.des_tipo_autor=='Comissao': |
|||
for comissao in context.zsql.comissao_obter_zsql(cod_comissao=autor.cod_comissao): |
|||
dic['nom_autor']=comissao.nom_comissao |
|||
else: |
|||
dic['nom_autor']=autor.nom_autor |
|||
else: |
|||
dic['nom_autor']=protocolo.txt_interessado |
|||
|
|||
dic['natureza']='' |
|||
if protocolo.tip_processo==0: |
|||
dic['natureza']='Administrativo' |
|||
if protocolo.tip_processo==1: |
|||
dic['natureza']='Legislativo' |
|||
|
|||
dic['ident_processo']=protocolo.des_tipo_materia or protocolo.des_tipo_documento |
|||
|
|||
dic['sgl_processo']=protocolo.sgl_tipo_materia or protocolo.sgl_tipo_documento |
|||
|
|||
dic['num_materia']='' |
|||
for materia in context.zsql.materia_obter_zsql(num_protocolo=protocolo.cod_protocolo,ano_ident_basica=protocolo.ano_protocolo): |
|||
dic['num_materia']=str(materia.num_ident_basica)+'/'+ str(materia.ano_ident_basica) |
|||
|
|||
dic['num_documento']='' |
|||
for documento in context.zsql.documento_administrativo_obter_zsql(num_protocolo=protocolo.cod_protocolo): |
|||
dic['num_documento']=str(documento.num_documento)+'/'+ str(documento.ano_documento) |
|||
|
|||
dic['num_processo']=dic['num_materia'] or dic['num_documento'] |
|||
|
|||
dic['numeracao']='' |
|||
for materia_num in context.zsql.materia_obter_zsql(num_protocolo=protocolo.cod_protocolo,ano_ident_basica=protocolo.ano_protocolo): |
|||
for numera in context.zsql.numeracao_obter_zsql(cod_materia=materia_num.cod_materia,ind_excluido=0): |
|||
dic['numeracao']='PROCESSO N° ' +str(numera.num_materia)+'/'+ str(numera.ano_materia) |
|||
|
|||
dic['anulado']='' |
|||
if protocolo.ind_anulado==1: |
|||
dic['anulado']='Nulo' |
|||
|
|||
protocolos.append(dic) |
|||
|
|||
filtro={} # Dicionário que conterá os dados do filtro |
|||
cod_protocolo=REQUEST['txt_num_protocolo'], ano_protocolo=REQUEST[ |
|||
'txt_ano_protocolo'], |
|||
tip_documento=REQUEST['lst_tip_documento'], tip_processo=REQUEST[ |
|||
'rad_tip_processo'], |
|||
tip_materia=REQUEST[ |
|||
'lst_tip_materia'], des_assunto=REQUEST['txt_assunto'], |
|||
cod_autor=REQUEST['hdn_cod_autor'], des_interessado=REQUEST[ |
|||
'txa_txt_interessado'], |
|||
dat_apres=REQUEST['dt_apres'], dat_apres2=REQUEST['dt_apres2']): |
|||
dic = {} |
|||
|
|||
dic['titulo'] = str(protocolo.cod_protocolo) |
|||
|
|||
dic['ano'] = str(protocolo.ano_protocolo) |
|||
|
|||
dic['data'] = context.pysc.iso_to_port_pysc( |
|||
protocolo.dat_protocolo) + ' - ' + protocolo.hor_protocolo |
|||
|
|||
dic['txt_assunto'] = protocolo.txt_assunto_ementa |
|||
|
|||
dic['txt_interessado'] = protocolo.txt_interessado |
|||
|
|||
dic['nom_autor'] = " " |
|||
if protocolo.cod_autor != None: |
|||
for autor in context.zsql.autor_obter_zsql(cod_autor=protocolo.cod_autor): |
|||
if autor.des_tipo_autor == 'Parlamentar': |
|||
for parlamentar in context.zsql.parlamentar_obter_zsql(cod_parlamentar=autor.cod_parlamentar): |
|||
dic['nom_autor'] = parlamentar.nom_completo |
|||
elif autor.des_tipo_autor == 'Comissao': |
|||
for comissao in context.zsql.comissao_obter_zsql(cod_comissao=autor.cod_comissao): |
|||
dic['nom_autor'] = comissao.nom_comissao |
|||
else: |
|||
dic['nom_autor'] = autor.nom_autor |
|||
else: |
|||
dic['nom_autor'] = protocolo.txt_interessado |
|||
|
|||
dic['natureza'] = '' |
|||
if protocolo.tip_processo == 0: |
|||
dic['natureza'] = 'Administrativo' |
|||
if protocolo.tip_processo == 1: |
|||
dic['natureza'] = 'Legislativo' |
|||
|
|||
dic['ident_processo'] = protocolo.des_tipo_materia or protocolo.des_tipo_documento |
|||
|
|||
dic['sgl_processo'] = protocolo.sgl_tipo_materia or protocolo.sgl_tipo_documento |
|||
|
|||
dic['num_materia'] = '' |
|||
for materia in context.zsql.materia_obter_zsql(num_protocolo=protocolo.cod_protocolo, ano_ident_basica=protocolo.ano_protocolo): |
|||
dic['num_materia'] = str(materia.num_ident_basica) + \ |
|||
'/' + str(materia.ano_ident_basica) |
|||
|
|||
dic['num_documento'] = '' |
|||
for documento in context.zsql.documento_administrativo_obter_zsql(num_protocolo=protocolo.cod_protocolo): |
|||
dic['num_documento'] = str( |
|||
documento.num_documento) + '/' + str(documento.ano_documento) |
|||
|
|||
dic['num_processo'] = dic['num_materia'] or dic['num_documento'] |
|||
|
|||
dic['numeracao'] = '' |
|||
for materia_num in context.zsql.materia_obter_zsql(num_protocolo=protocolo.cod_protocolo, ano_ident_basica=protocolo.ano_protocolo): |
|||
for numera in context.zsql.numeracao_obter_zsql(cod_materia=materia_num.cod_materia, ind_excluido=0): |
|||
dic['numeracao'] = 'PROCESSO N° ' + \ |
|||
str(numera.num_materia) + '/' + str(numera.ano_materia) |
|||
|
|||
dic['anulado'] = '' |
|||
if protocolo.ind_anulado == 1: |
|||
dic['anulado'] = 'Nulo' |
|||
|
|||
protocolos.append(dic) |
|||
|
|||
filtro = {} # Dicionário que conterá os dados do filtro |
|||
|
|||
# Atribuições diretas do REQUEST |
|||
filtro['numero']=REQUEST.txt_num_protocolo |
|||
filtro['ano']=REQUEST.txt_ano_protocolo |
|||
filtro['tipo_protocolo']=REQUEST.rad_tip_protocolo |
|||
filtro['tipo_processo']=REQUEST.rad_tip_processo |
|||
filtro['assunto']=REQUEST.txt_assunto |
|||
filtro['autor']=REQUEST.hdn_cod_autor |
|||
filtro['interessado']=REQUEST.txa_txt_interessado |
|||
|
|||
sessao=session.id |
|||
caminho = context.pdf_capa_processo_gerar(sessao,imagem,data,protocolos,cabecalho,rodape,filtro) |
|||
if caminho=='aviso': |
|||
return response.redirect('mensagem_emitir_proc') |
|||
filtro['numero'] = REQUEST.txt_num_protocolo |
|||
filtro['ano'] = REQUEST.txt_ano_protocolo |
|||
filtro['tipo_protocolo'] = REQUEST.rad_tip_protocolo |
|||
filtro['tipo_processo'] = REQUEST.rad_tip_processo |
|||
filtro['assunto'] = REQUEST.txt_assunto |
|||
filtro['autor'] = REQUEST.hdn_cod_autor |
|||
filtro['interessado'] = REQUEST.txa_txt_interessado |
|||
|
|||
sessao = session.id |
|||
caminho = context.pdf_capa_processo_gerar( |
|||
sessao, imagem, data, protocolos, cabecalho, rodape, filtro) |
|||
if caminho == 'aviso': |
|||
return response.redirect('mensagem_emitir_proc') |
|||
else: |
|||
response.redirect(caminho) |
|||
response.redirect(caminho) |
|||
|
@ -1,124 +1,135 @@ |
|||
import os |
|||
|
|||
request=context.REQUEST |
|||
response=request.RESPONSE |
|||
session= request.SESSION |
|||
request = context.REQUEST |
|||
response = request.RESPONSE |
|||
session = request.SESSION |
|||
|
|||
data=DateTime().strftime('%d/%m/%Y') |
|||
data = DateTime().strftime('%d/%m/%Y') |
|||
|
|||
#Abaixo é gerada a string para o rodapé da página |
|||
casa={} |
|||
aux=context.sapl_documentos.props_sapl.propertyItems() |
|||
# Abaixo é gerada a string para o rodapé da página |
|||
casa = {} |
|||
aux = context.sapl_documentos.props_sapl.propertyItems() |
|||
for item in aux: |
|||
casa[item[0]]=item[1] |
|||
localidade=context.zsql.localidade_obter_zsql(cod_localidade=casa["cod_localidade"]) |
|||
if len(casa["num_cep"])==8: |
|||
cep=casa["num_cep"][:4]+"-"+casa["num_cep"][5:] |
|||
casa[item[0]] = item[1] |
|||
localidade = context.zsql.localidade_obter_zsql( |
|||
cod_localidade=casa["cod_localidade"]) |
|||
if len(casa["num_cep"]) == 8: |
|||
cep = casa["num_cep"][:4] + "-" + casa["num_cep"][5:] |
|||
else: |
|||
cep="" |
|||
|
|||
linha1=casa["end_casa"] |
|||
if cep!="": |
|||
if casa["end_casa"]!="" and casa["end_casa"]!=None: |
|||
linha1 = linha1 + " - " |
|||
linha1 = linha1 + "CEP "+cep |
|||
if localidade[0].nom_localidade!="" and localidade[0].nom_localidade!=None: |
|||
linha1 = linha1 + " - "+localidade[0].nom_localidade+" "+localidade[0].sgl_uf |
|||
if casa["num_tel"]!="" and casa["num_tel"]!=None: |
|||
linha1 = linha1 + " Tel.: "+ casa["num_tel"] |
|||
|
|||
linha2=casa["end_web_casa"] |
|||
if casa["end_email_casa"]!="" and casa["end_email_casa"]!=None: |
|||
if casa["end_web_casa"]!="" and casa["end_web_casa"]!=None: |
|||
linha2 = linha2 + " - " |
|||
linha2 = linha2 + "E-mail: "+casa["end_email_casa"] |
|||
|
|||
data_emissao=DateTime().strftime("%d/%m/%Y") |
|||
rodape=[linha1,linha2,data_emissao] |
|||
|
|||
#Por fim, gera-se as entradas para o cabeçalho |
|||
estados=context.zsql.localidade_obter_zsql(tip_localidade="u") |
|||
cep = "" |
|||
|
|||
linha1 = casa["end_casa"] |
|||
if cep != "": |
|||
if casa["end_casa"] != "" and casa["end_casa"] != None: |
|||
linha1 = linha1 + " - " |
|||
linha1 = linha1 + "CEP " + cep |
|||
if localidade[0].nom_localidade != "" and localidade[0].nom_localidade != None: |
|||
linha1 = linha1 + " - " + \ |
|||
localidade[0].nom_localidade + " " + localidade[0].sgl_uf |
|||
if casa["num_tel"] != "" and casa["num_tel"] != None: |
|||
linha1 = linha1 + " Tel.: " + casa["num_tel"] |
|||
|
|||
linha2 = casa["end_web_casa"] |
|||
if casa["end_email_casa"] != "" and casa["end_email_casa"] != None: |
|||
if casa["end_web_casa"] != "" and casa["end_web_casa"] != None: |
|||
linha2 = linha2 + " - " |
|||
linha2 = linha2 + "E-mail: " + casa["end_email_casa"] |
|||
|
|||
data_emissao = DateTime().strftime("%d/%m/%Y") |
|||
rodape = [linha1, linha2, data_emissao] |
|||
|
|||
# Por fim, gera-se as entradas para o cabeçalho |
|||
estados = context.zsql.localidade_obter_zsql(tip_localidade="u") |
|||
for uf in estados: |
|||
if localidade[0].sgl_uf==uf.sgl_uf: |
|||
nom_estado=uf.nom_localidade |
|||
break |
|||
cabecalho={} |
|||
cabecalho["nom_casa"]=casa["nom_casa"] |
|||
cabecalho["nom_estado"]="Estado de "+nom_estado |
|||
if localidade[0].sgl_uf == uf.sgl_uf: |
|||
nom_estado = uf.nom_localidade |
|||
break |
|||
cabecalho = {} |
|||
cabecalho["nom_casa"] = casa["nom_casa"] |
|||
cabecalho["nom_estado"] = "Estado de " + nom_estado |
|||
|
|||
# tenta buscar o logotipo da casa LOGO_CASA |
|||
if hasattr(context.sapl_documentos.props_sapl,'logo_casa.gif'): |
|||
imagem = context.sapl_documentos.props_sapl['logo_casa.gif'].absolute_url() |
|||
if hasattr(context.sapl_documentos.props_sapl, 'logo_casa.gif'): |
|||
imagem = context.sapl_documentos.props_sapl['logo_casa.gif'].absolute_url() |
|||
else: |
|||
imagem = context.imagens.absolute_url() + "/brasao_transp.gif" |
|||
imagem = context.imagens.absolute_url() + "/brasao_transp.gif" |
|||
|
|||
#Por fim, utiliza o PythonScript para pesquisar os documentos e gerar os dados |
|||
# Por fim, utiliza o PythonScript para pesquisar os documentos e gerar os dados |
|||
|
|||
documentos=[] |
|||
REQUEST=context.REQUEST |
|||
documentos = [] |
|||
REQUEST = context.REQUEST |
|||
for documento in context.zsql.documento_administrativo_pesquisar_zsql(tip_documento=REQUEST['lst_tip_documento'], |
|||
num_documento=REQUEST['txt_num_documento'], ano_documento=REQUEST['txt_ano_documento'], |
|||
num_protocolo=REQUEST['txt_num_protocolo'], ind_tramitacao=REQUEST['rad_tramitando'], |
|||
des_assunto=REQUEST['txa_txt_assunto'], cod_status=REQUEST['lst_status'], |
|||
txt_interessado=REQUEST['txa_txt_interessado'], dat_apres1=REQUEST['dt_apres1'], |
|||
dat_apres2=REQUEST['dt_apres2'], rd_ordem=REQUEST['rd_ordenacao']): |
|||
dic={} |
|||
|
|||
dic['titulo']=documento.sgl_tipo_documento+" "+str(documento.num_documento)+" "+str(documento.ano_documento)+" - "+documento.des_tipo_documento |
|||
dic['txt_assunto']=documento.txt_assunto |
|||
dic['txt_interessado']=documento.txt_interessado |
|||
|
|||
des_status = '' |
|||
txt_tramitacao='' |
|||
|
|||
dic['localizacao_atual']=" " |
|||
for tramitacao in context.zsql.tramitacao_administrativo_obter_zsql(cod_documento=documento.cod_documento,ind_ult_tramitacao=1): |
|||
if tramitacao.cod_unid_tram_dest: |
|||
cod_unid_tram = tramitacao.cod_unid_tram_dest |
|||
num_documento=REQUEST['txt_num_documento'], ano_documento=REQUEST[ |
|||
'txt_ano_documento'], |
|||
num_protocolo=REQUEST[ |
|||
'txt_num_protocolo'], ind_tramitacao=REQUEST['rad_tramitando'], |
|||
des_assunto=REQUEST[ |
|||
'txa_txt_assunto'], cod_status=REQUEST['lst_status'], |
|||
txt_interessado=REQUEST[ |
|||
'txa_txt_interessado'], dat_apres1=REQUEST['dt_apres1'], |
|||
dat_apres2=REQUEST['dt_apres2'], rd_ordem=REQUEST['rd_ordenacao']): |
|||
dic = {} |
|||
|
|||
dic['titulo'] = documento.sgl_tipo_documento + " " + \ |
|||
str(documento.num_documento) + " " + \ |
|||
str(documento.ano_documento) + " - " + documento.des_tipo_documento |
|||
dic['txt_assunto'] = documento.txt_assunto |
|||
dic['txt_interessado'] = documento.txt_interessado |
|||
|
|||
des_status = '' |
|||
txt_tramitacao = '' |
|||
|
|||
dic['localizacao_atual'] = " " |
|||
for tramitacao in context.zsql.tramitacao_administrativo_obter_zsql(cod_documento=documento.cod_documento, ind_ult_tramitacao=1): |
|||
if tramitacao.cod_unid_tram_dest: |
|||
cod_unid_tram = tramitacao.cod_unid_tram_dest |
|||
else: |
|||
cod_unid_tram = tramitacao.cod_unid_tram_local |
|||
|
|||
for unidade_tramitacao in context.zsql.unidade_tramitacao_obter_zsql(cod_unid_tramitacao=cod_unid_tram): |
|||
if unidade_tramitacao.cod_orgao: |
|||
dic['localizacao_atual'] = unidade_tramitacao.nom_orgao |
|||
else: |
|||
cod_unid_tram = tramitacao.cod_unid_tram_local |
|||
dic['localizacao_atual'] = unidade_tramitacao.nom_comissao |
|||
|
|||
for unidade_tramitacao in context.zsql.unidade_tramitacao_obter_zsql(cod_unid_tramitacao = cod_unid_tram): |
|||
if unidade_tramitacao.cod_orgao: |
|||
dic['localizacao_atual']=unidade_tramitacao.nom_orgao |
|||
else: |
|||
dic['localizacao_atual']=unidade_tramitacao.nom_comissao |
|||
des_status = tramitacao.des_status |
|||
txt_tramitacao = tramitacao.txt_tramitacao |
|||
|
|||
des_status=tramitacao.des_status |
|||
txt_tramitacao=tramitacao.txt_tramitacao |
|||
dic['des_situacao'] = des_status |
|||
dic['ultima_acao'] = txt_tramitacao |
|||
|
|||
dic['des_situacao']=des_status |
|||
dic['ultima_acao']=txt_tramitacao |
|||
documentos.append(dic) |
|||
|
|||
documentos.append(dic) |
|||
|
|||
filtro={} # Dicionário que conterá os dados do filtro |
|||
filtro = {} # Dicionário que conterá os dados do filtro |
|||
|
|||
# Atribuições diretas do REQUEST |
|||
filtro['numero']=REQUEST.txt_num_documento |
|||
filtro['ano']=REQUEST.txt_ano_documento |
|||
filtro['interessado']=REQUEST.txa_txt_interessado |
|||
filtro['assunto']=REQUEST.txa_txt_assunto |
|||
filtro['numero'] = REQUEST.txt_num_documento |
|||
filtro['ano'] = REQUEST.txt_ano_documento |
|||
filtro['interessado'] = REQUEST.txa_txt_interessado |
|||
filtro['assunto'] = REQUEST.txa_txt_assunto |
|||
|
|||
filtro['tipo_documento']='' |
|||
if REQUEST.lst_tip_documento!='': |
|||
filtro['tipo_documento'] = '' |
|||
if REQUEST.lst_tip_documento != '': |
|||
for tipo_documento in context.zsql.tipo_documento_administrativo_obter_zsql(ind_excluido=0, tip_documento=REQUEST.lst_tip_documento): |
|||
filtro['tipo_documento']= tipo_documento.sgl_tipo_documento + ' - ' + tipo_documento.des_tipo_documento |
|||
|
|||
filtro['tramitando']='' |
|||
if REQUEST.rad_tramitando=='1': |
|||
filtro['tramitacao']='Sim' |
|||
elif REQUEST['rad_tramitando']=='0': |
|||
filtro['tramitacao']='Não' |
|||
|
|||
filtro['situacao_atual']='' |
|||
if REQUEST.lst_status!='': |
|||
for status in context.zsql.status_tramitacao_administrativo_obter_zsql(ind_exluido=0,cod_status=REQUEST.lst_status): |
|||
filtro['situacao_atual']=status.sgl_status + ' - ' + status.des_status |
|||
|
|||
sessao=session.id |
|||
caminho = context.pdf_documento_administrativo_gerar(sessao,imagem,data,documentos,cabecalho,rodape,filtro) |
|||
if caminho=='aviso': |
|||
return response.redirect('mensagem_emitir_proc') |
|||
filtro['tipo_documento'] = tipo_documento.sgl_tipo_documento + \ |
|||
' - ' + tipo_documento.des_tipo_documento |
|||
|
|||
filtro['tramitando'] = '' |
|||
if REQUEST.rad_tramitando == '1': |
|||
filtro['tramitacao'] = 'Sim' |
|||
elif REQUEST['rad_tramitando'] == '0': |
|||
filtro['tramitacao'] = 'Não' |
|||
|
|||
filtro['situacao_atual'] = '' |
|||
if REQUEST.lst_status != '': |
|||
for status in context.zsql.status_tramitacao_administrativo_obter_zsql(ind_exluido=0, cod_status=REQUEST.lst_status): |
|||
filtro['situacao_atual'] = status.sgl_status + \ |
|||
' - ' + status.des_status |
|||
|
|||
sessao = session.id |
|||
caminho = context.pdf_documento_administrativo_gerar( |
|||
sessao, imagem, data, documentos, cabecalho, rodape, filtro) |
|||
if caminho == 'aviso': |
|||
return response.redirect('mensagem_emitir_proc') |
|||
else: |
|||
response.redirect(caminho) |
|||
response.redirect(caminho) |
|||
|
@ -1,200 +1,210 @@ |
|||
import os |
|||
|
|||
request=context.REQUEST |
|||
response=request.RESPONSE |
|||
session= request.SESSION |
|||
request = context.REQUEST |
|||
response = request.RESPONSE |
|||
session = request.SESSION |
|||
|
|||
data=DateTime().strftime('%d/%m/%Y') |
|||
data = DateTime().strftime('%d/%m/%Y') |
|||
|
|||
#Abaixo é gerada a string para o rodapé da página |
|||
casa={} |
|||
aux=context.sapl_documentos.props_sapl.propertyItems() |
|||
# Abaixo é gerada a string para o rodapé da página |
|||
casa = {} |
|||
aux = context.sapl_documentos.props_sapl.propertyItems() |
|||
for item in aux: |
|||
casa[item[0]]=item[1] |
|||
localidade=context.zsql.localidade_obter_zsql(cod_localidade=casa["cod_localidade"]) |
|||
if len(casa["num_cep"])==8: |
|||
cep=casa["num_cep"][:4]+"-"+casa["num_cep"][5:] |
|||
casa[item[0]] = item[1] |
|||
localidade = context.zsql.localidade_obter_zsql( |
|||
cod_localidade=casa["cod_localidade"]) |
|||
if len(casa["num_cep"]) == 8: |
|||
cep = casa["num_cep"][:4] + "-" + casa["num_cep"][5:] |
|||
else: |
|||
cep="" |
|||
|
|||
linha1=casa["end_casa"] |
|||
if cep!="": |
|||
if casa["end_casa"]!="" and casa["end_casa"]!=None: |
|||
linha1 = linha1 + " - " |
|||
linha1 = linha1 + "CEP "+cep |
|||
if localidade[0].nom_localidade!="" and localidade[0].nom_localidade!=None: |
|||
linha1 = linha1 + " - "+localidade[0].nom_localidade+" "+localidade[0].sgl_uf |
|||
if casa["num_tel"]!="" and casa["num_tel"]!=None: |
|||
linha1 = linha1 + " Tel.: "+ casa["num_tel"] |
|||
|
|||
linha2=casa["end_web_casa"] |
|||
if casa["end_email_casa"]!="" and casa["end_email_casa"]!=None: |
|||
if casa["end_web_casa"]!="" and casa["end_web_casa"]!=None: |
|||
linha2 = linha2 + " - " |
|||
linha2 = linha2 + "E-mail: "+casa["end_email_casa"] |
|||
|
|||
data_emissao=DateTime().strftime("%d/%m/%Y") |
|||
rodape=[linha1,linha2,data_emissao] |
|||
|
|||
#Por fim, gera-se as entradas para o cabeçalho |
|||
estados=context.zsql.localidade_obter_zsql(tip_localidade="u") |
|||
cep = "" |
|||
|
|||
linha1 = casa["end_casa"] |
|||
if cep != "": |
|||
if casa["end_casa"] != "" and casa["end_casa"] != None: |
|||
linha1 = linha1 + " - " |
|||
linha1 = linha1 + "CEP " + cep |
|||
if localidade[0].nom_localidade != "" and localidade[0].nom_localidade != None: |
|||
linha1 = linha1 + " - " + \ |
|||
localidade[0].nom_localidade + " " + localidade[0].sgl_uf |
|||
if casa["num_tel"] != "" and casa["num_tel"] != None: |
|||
linha1 = linha1 + " Tel.: " + casa["num_tel"] |
|||
|
|||
linha2 = casa["end_web_casa"] |
|||
if casa["end_email_casa"] != "" and casa["end_email_casa"] != None: |
|||
if casa["end_web_casa"] != "" and casa["end_web_casa"] != None: |
|||
linha2 = linha2 + " - " |
|||
linha2 = linha2 + "E-mail: " + casa["end_email_casa"] |
|||
|
|||
data_emissao = DateTime().strftime("%d/%m/%Y") |
|||
rodape = [linha1, linha2, data_emissao] |
|||
|
|||
# Por fim, gera-se as entradas para o cabeçalho |
|||
estados = context.zsql.localidade_obter_zsql(tip_localidade="u") |
|||
for uf in estados: |
|||
if localidade[0].sgl_uf==uf.sgl_uf: |
|||
nom_estado=uf.nom_localidade |
|||
break |
|||
cabecalho={} |
|||
cabecalho["nom_casa"]=casa["nom_casa"] |
|||
cabecalho["nom_estado"]="Estado de "+nom_estado |
|||
if localidade[0].sgl_uf == uf.sgl_uf: |
|||
nom_estado = uf.nom_localidade |
|||
break |
|||
cabecalho = {} |
|||
cabecalho["nom_casa"] = casa["nom_casa"] |
|||
cabecalho["nom_estado"] = "Estado de " + nom_estado |
|||
|
|||
# tenta buscar o logotipo da casa LOGO_CASA |
|||
if hasattr(context.sapl_documentos.props_sapl,'logo_casa.gif'): |
|||
imagem = context.sapl_documentos.props_sapl['logo_casa.gif'].absolute_url() |
|||
if hasattr(context.sapl_documentos.props_sapl, 'logo_casa.gif'): |
|||
imagem = context.sapl_documentos.props_sapl['logo_casa.gif'].absolute_url() |
|||
else: |
|||
imagem = context.sapl_site.sapl_skin.imagens.absolute_url() + "/brasao_transp.gif" |
|||
|
|||
#Verifica o tamanho da lista das materias selecionadas vindas do form |
|||
REQUEST=context.REQUEST |
|||
if REQUEST.txt_check=='1': |
|||
cod_mat = REQUEST['check_ind'] |
|||
materias=[] |
|||
REQUEST=context.REQUEST |
|||
for materia in context.zsql.materia_obter_zsql(cod_materia=cod_mat): |
|||
dic={} |
|||
dic['titulo']="INDICAÇÃO: "+str(materia.num_ident_basica)+" "+str(materia.ano_ident_basica) |
|||
dic['materia']=str(materia.num_ident_basica)+"/"+str(materia.ano_ident_basica) |
|||
dic['dat_apresentacao']=materia.dat_apresentacao |
|||
dic['txt_ementa']=materia.txt_ementa |
|||
imagem = context.sapl_site.sapl_skin.imagens.absolute_url() + "/brasao_transp.gif" |
|||
|
|||
# Verifica o tamanho da lista das materias selecionadas vindas do form |
|||
REQUEST = context.REQUEST |
|||
if REQUEST.txt_check == '1': |
|||
cod_mat = REQUEST['check_ind'] |
|||
materias = [] |
|||
REQUEST = context.REQUEST |
|||
for materia in context.zsql.materia_obter_zsql(cod_materia=cod_mat): |
|||
dic = {} |
|||
dic['titulo'] = "INDICAÇÃO: " + \ |
|||
str(materia.num_ident_basica) + " " + str(materia.ano_ident_basica) |
|||
dic['materia'] = str(materia.num_ident_basica) + \ |
|||
"/" + str(materia.ano_ident_basica) |
|||
dic['dat_apresentacao'] = materia.dat_apresentacao |
|||
dic['txt_ementa'] = materia.txt_ementa |
|||
|
|||
dic['nom_autor'] = " " |
|||
for autoria in context.zsql.autoria_obter_zsql(cod_materia=materia.cod_materia, ind_primeiro_autor=1): |
|||
for autor in context.zsql.autor_obter_zsql(cod_autor=autoria.cod_autor): |
|||
if autor.des_tipo_autor=='Parlamentar': |
|||
if autor.des_tipo_autor == 'Parlamentar': |
|||
for parlamentar in context.zsql.parlamentar_obter_zsql(cod_parlamentar=autor.cod_parlamentar): |
|||
dic['nom_autor']=parlamentar.nom_completo |
|||
elif autor.des_tipo_autor=='Comissao': |
|||
dic['nom_autor'] = parlamentar.nom_completo |
|||
elif autor.des_tipo_autor == 'Comissao': |
|||
for comissao in context.zsql.comissao_obter_zsql(cod_comissao=autor.cod_comissao): |
|||
dic['nom_autor']=comissao.nom_comissao |
|||
dic['nom_autor'] = comissao.nom_comissao |
|||
else: |
|||
dic['nom_autor']=autor.nom_autor |
|||
dic['nom_autor'] = autor.nom_autor |
|||
|
|||
des_status = '' |
|||
txt_tramitacao='' |
|||
txt_tramitacao = '' |
|||
data_ultima_acao = '' |
|||
|
|||
dic['localizacao_atual']=" " |
|||
for tramitacao in context.zsql.tramitacao_obter_zsql(cod_materia=materia.cod_materia,ind_ult_tramitacao=1): |
|||
dic['localizacao_atual'] = " " |
|||
for tramitacao in context.zsql.tramitacao_obter_zsql(cod_materia=materia.cod_materia, ind_ult_tramitacao=1): |
|||
if tramitacao.cod_unid_tram_dest: |
|||
cod_unid_tram = tramitacao.cod_unid_tram_dest |
|||
else: |
|||
cod_unid_tram = tramitacao.cod_unid_tram_local |
|||
|
|||
for unidade_tramitacao in context.zsql.unidade_tramitacao_obter_zsql(cod_unid_tramitacao = cod_unid_tram): |
|||
for unidade_tramitacao in context.zsql.unidade_tramitacao_obter_zsql(cod_unid_tramitacao=cod_unid_tram): |
|||
if unidade_tramitacao.cod_orgao: |
|||
dic['localizacao_atual']=unidade_tramitacao.nom_orgao |
|||
dic['localizacao_atual'] = unidade_tramitacao.nom_orgao |
|||
elif unidade_tramitacao.cod_parlamentar: |
|||
dic['localizacao_atual']=unidade_tramitacao.nom_parlamentar |
|||
dic['localizacao_atual'] = unidade_tramitacao.nom_parlamentar |
|||
else: |
|||
dic['localizacao_atual']=unidade_tramitacao.nom_comissao |
|||
dic['localizacao_atual'] = unidade_tramitacao.nom_comissao |
|||
|
|||
des_status=tramitacao.des_status |
|||
txt_tramitacao=tramitacao.txt_tramitacao |
|||
des_status = tramitacao.des_status |
|||
txt_tramitacao = tramitacao.txt_tramitacao |
|||
data_ultima_acao = tramitacao.dat_tramitacao |
|||
|
|||
dic['des_situacao']=des_status |
|||
dic['ultima_acao']=txt_tramitacao |
|||
dic['data_ultima_acao']=data_ultima_acao |
|||
dic['des_situacao'] = des_status |
|||
dic['ultima_acao'] = txt_tramitacao |
|||
dic['data_ultima_acao'] = data_ultima_acao |
|||
|
|||
dic['norma_juridica_vinculada'] = "Não há nenhuma norma jurídica vinculada" |
|||
for norma in context.zsql.materia_buscar_norma_juridica_zsql(cod_materia=materia.cod_materia): |
|||
dic['norma_juridica_vinculada']=norma.des_norma+" "+str(norma.num_norma)+"/"+str(norma.ano_norma) |
|||
dic['norma_juridica_vinculada'] = norma.des_norma + " " + \ |
|||
str(norma.num_norma) + "/" + str(norma.ano_norma) |
|||
|
|||
materias.append(dic) |
|||
|
|||
else: |
|||
codigo = REQUEST.check_ind |
|||
materias=[] |
|||
REQUEST=context.REQUEST |
|||
for cod_mat in codigo: |
|||
for materia in context.zsql.materia_obter_zsql(cod_materia=cod_mat): |
|||
dic={} |
|||
dic['titulo']="INDICAÃÃO: "+str(materia.num_ident_basica)+" "+str(materia.ano_ident_basica) |
|||
dic['materia']=str(materia.num_ident_basica)+"/"+str(materia.ano_ident_basica) |
|||
dic['dat_apresentacao']=materia.dat_apresentacao |
|||
dic['txt_ementa']=materia.txt_ementa |
|||
|
|||
dic['nom_autor'] = " " |
|||
for autoria in context.zsql.autoria_obter_zsql(cod_materia=materia.cod_materia, ind_primeiro_autor=1): |
|||
for autor in context.zsql.autor_obter_zsql(cod_autor=autoria.cod_autor): |
|||
if autor.des_tipo_autor=='Parlamentar': |
|||
for parlamentar in context.zsql.parlamentar_obter_zsql(cod_parlamentar=autor.cod_parlamentar): |
|||
dic['nom_autor']=parlamentar.nom_completo |
|||
elif autor.des_tipo_autor=='Comissao': |
|||
for comissao in context.zsql.comissao_obter_zsql(cod_comissao=autor.cod_comissao): |
|||
dic['nom_autor']=comissao.nom_comissao |
|||
codigo = REQUEST.check_ind |
|||
materias = [] |
|||
REQUEST = context.REQUEST |
|||
for cod_mat in codigo: |
|||
for materia in context.zsql.materia_obter_zsql(cod_materia=cod_mat): |
|||
dic = {} |
|||
dic['titulo'] = "INDICAÃÃO: " + \ |
|||
str(materia.num_ident_basica) + " " + \ |
|||
str(materia.ano_ident_basica) |
|||
dic['materia'] = str(materia.num_ident_basica) + \ |
|||
"/" + str(materia.ano_ident_basica) |
|||
dic['dat_apresentacao'] = materia.dat_apresentacao |
|||
dic['txt_ementa'] = materia.txt_ementa |
|||
|
|||
dic['nom_autor'] = " " |
|||
for autoria in context.zsql.autoria_obter_zsql(cod_materia=materia.cod_materia, ind_primeiro_autor=1): |
|||
for autor in context.zsql.autor_obter_zsql(cod_autor=autoria.cod_autor): |
|||
if autor.des_tipo_autor == 'Parlamentar': |
|||
for parlamentar in context.zsql.parlamentar_obter_zsql(cod_parlamentar=autor.cod_parlamentar): |
|||
dic['nom_autor'] = parlamentar.nom_completo |
|||
elif autor.des_tipo_autor == 'Comissao': |
|||
for comissao in context.zsql.comissao_obter_zsql(cod_comissao=autor.cod_comissao): |
|||
dic['nom_autor'] = comissao.nom_comissao |
|||
else: |
|||
dic['nom_autor'] = autor.nom_autor |
|||
|
|||
des_status = '' |
|||
txt_tramitacao = '' |
|||
data_ultima_acao = '' |
|||
|
|||
dic['localizacao_atual'] = " " |
|||
for tramitacao in context.zsql.tramitacao_obter_zsql(cod_materia=materia.cod_materia, ind_ult_tramitacao=1): |
|||
if tramitacao.cod_unid_tram_dest: |
|||
cod_unid_tram = tramitacao.cod_unid_tram_dest |
|||
else: |
|||
dic['nom_autor']=autor.nom_autor |
|||
cod_unid_tram = tramitacao.cod_unid_tram_local |
|||
|
|||
des_status = '' |
|||
txt_tramitacao='' |
|||
data_ultima_acao = '' |
|||
for unidade_tramitacao in context.zsql.unidade_tramitacao_obter_zsql(cod_unid_tramitacao=cod_unid_tram): |
|||
if unidade_tramitacao.cod_orgao: |
|||
dic['localizacao_atual'] = unidade_tramitacao.nom_orgao |
|||
elif unidade_tramitacao.cod_parlamentar: |
|||
dic['localizacao_atual'] = unidade_tramitacao.nom_parlamentar |
|||
else: |
|||
dic['localizacao_atual'] = unidade_tramitacao.nom_comissao |
|||
|
|||
dic['localizacao_atual']=" " |
|||
for tramitacao in context.zsql.tramitacao_obter_zsql(cod_materia=materia.cod_materia,ind_ult_tramitacao=1): |
|||
if tramitacao.cod_unid_tram_dest: |
|||
cod_unid_tram = tramitacao.cod_unid_tram_dest |
|||
else: |
|||
cod_unid_tram = tramitacao.cod_unid_tram_local |
|||
des_status = tramitacao.des_status |
|||
txt_tramitacao = tramitacao.txt_tramitacao |
|||
data_ultima_acao = tramitacao.dat_tramitacao |
|||
|
|||
for unidade_tramitacao in context.zsql.unidade_tramitacao_obter_zsql(cod_unid_tramitacao = cod_unid_tram): |
|||
if unidade_tramitacao.cod_orgao: |
|||
dic['localizacao_atual']=unidade_tramitacao.nom_orgao |
|||
elif unidade_tramitacao.cod_parlamentar: |
|||
dic['localizacao_atual']=unidade_tramitacao.nom_parlamentar |
|||
else: |
|||
dic['localizacao_atual']=unidade_tramitacao.nom_comissao |
|||
dic['des_situacao'] = des_status |
|||
dic['ultima_acao'] = txt_tramitacao |
|||
dic['data_ultima_acao'] = data_ultima_acao |
|||
|
|||
des_status=tramitacao.des_status |
|||
txt_tramitacao=tramitacao.txt_tramitacao |
|||
data_ultima_acao = tramitacao.dat_tramitacao |
|||
dic['norma_juridica_vinculada'] = "Não há nenhuma norma jurídica vinculada" |
|||
for norma in context.zsql.materia_buscar_norma_juridica_zsql(cod_materia=materia.cod_materia): |
|||
dic['norma_juridica_vinculada'] = norma.des_norma + " " + \ |
|||
str(norma.num_norma) + "/" + str(norma.ano_norma) |
|||
|
|||
dic['des_situacao']=des_status |
|||
dic['ultima_acao']=txt_tramitacao |
|||
dic['data_ultima_acao']=data_ultima_acao |
|||
|
|||
dic['norma_juridica_vinculada'] = "Não há nenhuma norma jurídica vinculada" |
|||
for norma in context.zsql.materia_buscar_norma_juridica_zsql(cod_materia=materia.cod_materia): |
|||
dic['norma_juridica_vinculada']=norma.des_norma+" "+str(norma.num_norma)+"/"+str(norma.ano_norma) |
|||
|
|||
materias.append(dic) |
|||
materias.append(dic) |
|||
|
|||
filtro={} # Dicionário que conterá os dados do filtro |
|||
filtro = {} # Dicionário que conterá os dados do filtro |
|||
|
|||
# Atribuições diretas do REQUEST |
|||
#filtro['data_apres']=REQUEST.data |
|||
# filtro['data_apres']=REQUEST.data |
|||
|
|||
#filtro['tipo_materia']='' |
|||
#for tipo_materia in context.zsql.tipo_materia_legislativa_obter_zsql(ind_excluido=0, tip_materia=9): |
|||
# filtro['tipo_materia']='' |
|||
# for tipo_materia in context.zsql.tipo_materia_legislativa_obter_zsql(ind_excluido=0, tip_materia=9): |
|||
# filtro['tipo_materia']= tipo_materia.sgl_tipo_materia + ' - ' + tipo_materia.des_tipo_materia |
|||
|
|||
#filtro['partido']='' |
|||
#if REQUEST.lst_cod_partido!='': |
|||
# filtro['partido']='' |
|||
# if REQUEST.lst_cod_partido!='': |
|||
# for partido in context.zsql.partido_obter_zsql(ind_excluido=0,cod_partido=REQUEST.lst_cod_partido): |
|||
# filtro['partido']=partido.sgl_partido + ' - ' + partido.nom_partido |
|||
|
|||
#filtro['tramitando']='' |
|||
#if REQUEST.rad_tramitando=='1': |
|||
# filtro['tramitando']='' |
|||
# if REQUEST.rad_tramitando=='1': |
|||
# filtro['tramitacao']='Sim' |
|||
#elif REQUEST['rad_tramitando']=='0': |
|||
# elif REQUEST['rad_tramitando']=='0': |
|||
# filtro['tramitacao']='Não' |
|||
|
|||
#filtro['situacao_atual']='' |
|||
#if REQUEST.lst_status!='': |
|||
# filtro['situacao_atual']='' |
|||
# if REQUEST.lst_status!='': |
|||
# for status in context.zsql.status_tramitacao_obter_zsql(ind_exluido=0,cod_status=REQUEST.lst_status): |
|||
# filtro['situacao_atual']=status.sgl_status + ' - ' + status.des_status |
|||
|
|||
sessao=session.id |
|||
caminho = context.pdf_espelho_gerar(sessao,imagem,data,materias,cabecalho,rodape,filtro) |
|||
if caminho=='aviso': |
|||
return response.redirect('mensagem_emitir_proc') |
|||
sessao = session.id |
|||
caminho = context.pdf_espelho_gerar( |
|||
sessao, imagem, data, materias, cabecalho, rodape, filtro) |
|||
if caminho == 'aviso': |
|||
return response.redirect('mensagem_emitir_proc') |
|||
else: |
|||
response.redirect(caminho) |
|||
response.redirect(caminho) |
|||
|
@ -1,127 +1,137 @@ |
|||
import os |
|||
|
|||
request=context.REQUEST |
|||
response=request.RESPONSE |
|||
session= request.SESSION |
|||
request = context.REQUEST |
|||
response = request.RESPONSE |
|||
session = request.SESSION |
|||
|
|||
data=DateTime().strftime('%d/%m/%Y') |
|||
data = DateTime().strftime('%d/%m/%Y') |
|||
|
|||
#Abaixo é gerada a string para o rodapé da página |
|||
casa={} |
|||
aux=context.sapl_documentos.props_sapl.propertyItems() |
|||
# Abaixo é gerada a string para o rodapé da página |
|||
casa = {} |
|||
aux = context.sapl_documentos.props_sapl.propertyItems() |
|||
for item in aux: |
|||
casa[item[0]]=item[1] |
|||
localidade=context.zsql.localidade_obter_zsql(cod_localidade=casa["cod_localidade"]) |
|||
if len(casa["num_cep"])==8: |
|||
cep=casa["num_cep"][:4]+"-"+casa["num_cep"][5:] |
|||
casa[item[0]] = item[1] |
|||
localidade = context.zsql.localidade_obter_zsql( |
|||
cod_localidade=casa["cod_localidade"]) |
|||
if len(casa["num_cep"]) == 8: |
|||
cep = casa["num_cep"][:4] + "-" + casa["num_cep"][5:] |
|||
else: |
|||
cep="" |
|||
|
|||
linha1=casa["end_casa"] |
|||
if cep!="": |
|||
if casa["end_casa"]!="" and casa["end_casa"]!=None: |
|||
linha1 = linha1 + " - " |
|||
linha1 = linha1 + "CEP "+cep |
|||
if localidade[0].nom_localidade!="" and localidade[0].nom_localidade!=None: |
|||
linha1 = linha1 + " - "+localidade[0].nom_localidade+" "+localidade[0].sgl_uf |
|||
if casa["num_tel"]!="" and casa["num_tel"]!=None: |
|||
linha1 = linha1 + " Tel.: "+ casa["num_tel"] |
|||
|
|||
linha2=casa["end_web_casa"] |
|||
if casa["end_email_casa"]!="" and casa["end_email_casa"]!=None: |
|||
if casa["end_web_casa"]!="" and casa["end_web_casa"]!=None: |
|||
linha2 = linha2 + " - " |
|||
linha2 = linha2 + "E-mail: "+casa["end_email_casa"] |
|||
|
|||
data_emissao=DateTime().strftime("%d/%m/%Y") |
|||
rodape=[linha1,linha2,data_emissao] |
|||
|
|||
#Por fim, gera-se as entradas para o cabeçalho |
|||
estados=context.zsql.localidade_obter_zsql(tip_localidade="u") |
|||
cep = "" |
|||
|
|||
linha1 = casa["end_casa"] |
|||
if cep != "": |
|||
if casa["end_casa"] != "" and casa["end_casa"] != None: |
|||
linha1 = linha1 + " - " |
|||
linha1 = linha1 + "CEP " + cep |
|||
if localidade[0].nom_localidade != "" and localidade[0].nom_localidade != None: |
|||
linha1 = linha1 + " - " + \ |
|||
localidade[0].nom_localidade + " " + localidade[0].sgl_uf |
|||
if casa["num_tel"] != "" and casa["num_tel"] != None: |
|||
linha1 = linha1 + " Tel.: " + casa["num_tel"] |
|||
|
|||
linha2 = casa["end_web_casa"] |
|||
if casa["end_email_casa"] != "" and casa["end_email_casa"] != None: |
|||
if casa["end_web_casa"] != "" and casa["end_web_casa"] != None: |
|||
linha2 = linha2 + " - " |
|||
linha2 = linha2 + "E-mail: " + casa["end_email_casa"] |
|||
|
|||
data_emissao = DateTime().strftime("%d/%m/%Y") |
|||
rodape = [linha1, linha2, data_emissao] |
|||
|
|||
# Por fim, gera-se as entradas para o cabeçalho |
|||
estados = context.zsql.localidade_obter_zsql(tip_localidade="u") |
|||
for uf in estados: |
|||
if localidade[0].sgl_uf==uf.sgl_uf: |
|||
nom_estado=uf.nom_localidade |
|||
break |
|||
cabecalho={} |
|||
cabecalho["nom_casa"]=casa["nom_casa"] |
|||
cabecalho["nom_estado"]="Estado de "+nom_estado |
|||
if localidade[0].sgl_uf == uf.sgl_uf: |
|||
nom_estado = uf.nom_localidade |
|||
break |
|||
cabecalho = {} |
|||
cabecalho["nom_casa"] = casa["nom_casa"] |
|||
cabecalho["nom_estado"] = "Estado de " + nom_estado |
|||
|
|||
# tenta buscar o logotipo da casa LOGO_CASA |
|||
if hasattr(context.sapl_documentos.props_sapl,'logo_casa.gif'): |
|||
imagem = context.sapl_documentos.props_sapl['logo_casa.gif'].absolute_url() |
|||
if hasattr(context.sapl_documentos.props_sapl, 'logo_casa.gif'): |
|||
imagem = context.sapl_documentos.props_sapl['logo_casa.gif'].absolute_url() |
|||
else: |
|||
imagem = context.imagens.absolute_url() + "/brasao_transp.gif" |
|||
imagem = context.imagens.absolute_url() + "/brasao_transp.gif" |
|||
|
|||
#Por fim, utiliza o PythonScript para pesquisar os protocolos e gerar os dados |
|||
# Por fim, utiliza o PythonScript para pesquisar os protocolos e gerar os dados |
|||
|
|||
protocolos=[] |
|||
REQUEST=context.REQUEST |
|||
protocolos = [] |
|||
REQUEST = context.REQUEST |
|||
for protocolo in context.zsql.protocolo_pesquisar_zsql(tip_protocolo=REQUEST['rad_tip_protocolo'], |
|||
cod_protocolo=REQUEST['txt_num_protocolo'], ano_protocolo=REQUEST['txt_ano_protocolo'], |
|||
tip_documento=REQUEST['lst_tip_documento'], tip_processo=REQUEST['rad_tip_processo'], |
|||
tip_materia=REQUEST['lst_tip_materia'], des_assunto=REQUEST['txt_assunto'], |
|||
cod_autor=REQUEST['hdn_cod_autor'], des_interessado=REQUEST['txa_txt_interessado'], |
|||
dat_apres=REQUEST['dt_apres'], dat_apres2=REQUEST['dt_apres2']): |
|||
dic={} |
|||
|
|||
dic['titulo']=str(protocolo.cod_protocolo) |
|||
|
|||
dic['data']='Data: '+context.pysc.iso_to_port_pysc(protocolo.dat_protocolo)+' Horário: '+protocolo.hor_protocolo[0:2]+':'+protocolo.hor_protocolo[3:5] |
|||
|
|||
dic['txt_assunto']=protocolo.txt_assunto_ementa |
|||
|
|||
dic['txt_interessado']=protocolo.txt_interessado |
|||
|
|||
dic['nom_autor'] = " " |
|||
if protocolo.cod_autor!=None: |
|||
for autor in context.zsql.autor_obter_zsql(cod_autor=protocolo.cod_autor): |
|||
if autor.des_tipo_autor=='Parlamentar': |
|||
for parlamentar in context.zsql.parlamentar_obter_zsql(cod_parlamentar=autor.cod_parlamentar): |
|||
dic['nom_autor']=parlamentar.nom_completo |
|||
elif autor.des_tipo_autor=='Comissao': |
|||
for comissao in context.zsql.comissao_obter_zsql(cod_comissao=autor.cod_comissao): |
|||
dic['nom_autor']=comissao.nom_comissao |
|||
else: |
|||
dic['nom_autor']=autor.nom_autor |
|||
|
|||
dic['natureza']='' |
|||
if protocolo.tip_processo==0: |
|||
dic['natureza']='Administrativo' |
|||
if protocolo.tip_processo==1: |
|||
dic['natureza']='Legislativo' |
|||
|
|||
dic['num_materia']='' |
|||
for materia in context.zsql.materia_obter_zsql(num_protocolo=protocolo.cod_protocolo,ano_ident_basica=protocolo.ano_protocolo): |
|||
dic['num_materia']=materia.sgl_tipo_materia+' '+str(materia.num_ident_basica)+'/'+str(materia.ano_ident_basica) |
|||
|
|||
dic['num_documento']='' |
|||
for documento in context.zsql.documento_administrativo_obter_zsql(num_protocolo=protocolo.cod_protocolo): |
|||
dic['num_documento']=documento.sgl_tipo_documento+' '+str(documento.num_documento)+'/'+ str(documento.ano_documento) |
|||
|
|||
dic['ident_processo']=dic['num_materia'] or dic['num_documento'] |
|||
|
|||
dic['processo']=protocolo.des_tipo_materia or protocolo.des_tipo_documento |
|||
|
|||
dic['anulado']='' |
|||
if protocolo.ind_anulado==1: |
|||
dic['anulado']='Nulo' |
|||
|
|||
protocolos.append(dic) |
|||
|
|||
filtro={} # Dicionário que conterá os dados do filtro |
|||
cod_protocolo=REQUEST['txt_num_protocolo'], ano_protocolo=REQUEST[ |
|||
'txt_ano_protocolo'], |
|||
tip_documento=REQUEST['lst_tip_documento'], tip_processo=REQUEST[ |
|||
'rad_tip_processo'], |
|||
tip_materia=REQUEST[ |
|||
'lst_tip_materia'], des_assunto=REQUEST['txt_assunto'], |
|||
cod_autor=REQUEST['hdn_cod_autor'], des_interessado=REQUEST[ |
|||
'txa_txt_interessado'], |
|||
dat_apres=REQUEST['dt_apres'], dat_apres2=REQUEST['dt_apres2']): |
|||
dic = {} |
|||
|
|||
dic['titulo'] = str(protocolo.cod_protocolo) |
|||
|
|||
dic['data'] = 'Data: ' + context.pysc.iso_to_port_pysc( |
|||
protocolo.dat_protocolo) + ' Horário: ' + protocolo.hor_protocolo[0:2] + ':' + protocolo.hor_protocolo[3:5] |
|||
|
|||
dic['txt_assunto'] = protocolo.txt_assunto_ementa |
|||
|
|||
dic['txt_interessado'] = protocolo.txt_interessado |
|||
|
|||
dic['nom_autor'] = " " |
|||
if protocolo.cod_autor != None: |
|||
for autor in context.zsql.autor_obter_zsql(cod_autor=protocolo.cod_autor): |
|||
if autor.des_tipo_autor == 'Parlamentar': |
|||
for parlamentar in context.zsql.parlamentar_obter_zsql(cod_parlamentar=autor.cod_parlamentar): |
|||
dic['nom_autor'] = parlamentar.nom_completo |
|||
elif autor.des_tipo_autor == 'Comissao': |
|||
for comissao in context.zsql.comissao_obter_zsql(cod_comissao=autor.cod_comissao): |
|||
dic['nom_autor'] = comissao.nom_comissao |
|||
else: |
|||
dic['nom_autor'] = autor.nom_autor |
|||
|
|||
dic['natureza'] = '' |
|||
if protocolo.tip_processo == 0: |
|||
dic['natureza'] = 'Administrativo' |
|||
if protocolo.tip_processo == 1: |
|||
dic['natureza'] = 'Legislativo' |
|||
|
|||
dic['num_materia'] = '' |
|||
for materia in context.zsql.materia_obter_zsql(num_protocolo=protocolo.cod_protocolo, ano_ident_basica=protocolo.ano_protocolo): |
|||
dic['num_materia'] = materia.sgl_tipo_materia + ' ' + \ |
|||
str(materia.num_ident_basica) + '/' + str(materia.ano_ident_basica) |
|||
|
|||
dic['num_documento'] = '' |
|||
for documento in context.zsql.documento_administrativo_obter_zsql(num_protocolo=protocolo.cod_protocolo): |
|||
dic['num_documento'] = documento.sgl_tipo_documento + ' ' + \ |
|||
str(documento.num_documento) + '/' + str(documento.ano_documento) |
|||
|
|||
dic['ident_processo'] = dic['num_materia'] or dic['num_documento'] |
|||
|
|||
dic['processo'] = protocolo.des_tipo_materia or protocolo.des_tipo_documento |
|||
|
|||
dic['anulado'] = '' |
|||
if protocolo.ind_anulado == 1: |
|||
dic['anulado'] = 'Nulo' |
|||
|
|||
protocolos.append(dic) |
|||
|
|||
filtro = {} # Dicionário que conterá os dados do filtro |
|||
|
|||
# Atribuições diretas do REQUEST |
|||
filtro['numero']=REQUEST.txt_num_protocolo |
|||
filtro['ano']=REQUEST.txt_ano_protocolo |
|||
filtro['tipo_protocolo']=REQUEST.rad_tip_protocolo |
|||
filtro['tipo_processo']=REQUEST.rad_tip_processo |
|||
filtro['assunto']=REQUEST.txt_assunto |
|||
filtro['autor']=REQUEST.hdn_cod_autor |
|||
filtro['interessado']=REQUEST.txa_txt_interessado |
|||
|
|||
sessao=session.id |
|||
caminho = context.pdf_etiqueta_protocolo_gerar(sessao,imagem,data,protocolos,cabecalho,rodape,filtro) |
|||
if caminho=='aviso': |
|||
return response.redirect('mensagem_emitir_proc') |
|||
filtro['numero'] = REQUEST.txt_num_protocolo |
|||
filtro['ano'] = REQUEST.txt_ano_protocolo |
|||
filtro['tipo_protocolo'] = REQUEST.rad_tip_protocolo |
|||
filtro['tipo_processo'] = REQUEST.rad_tip_processo |
|||
filtro['assunto'] = REQUEST.txt_assunto |
|||
filtro['autor'] = REQUEST.hdn_cod_autor |
|||
filtro['interessado'] = REQUEST.txa_txt_interessado |
|||
|
|||
sessao = session.id |
|||
caminho = context.pdf_etiqueta_protocolo_gerar( |
|||
sessao, imagem, data, protocolos, cabecalho, rodape, filtro) |
|||
if caminho == 'aviso': |
|||
return response.redirect('mensagem_emitir_proc') |
|||
else: |
|||
response.redirect(caminho) |
|||
response.redirect(caminho) |
|||
|
@ -1,155 +1,169 @@ |
|||
import os |
|||
|
|||
request=context.REQUEST |
|||
#print request |
|||
#return printed |
|||
response=request.RESPONSE |
|||
session= request.SESSION |
|||
request = context.REQUEST |
|||
# print request |
|||
# return printed |
|||
response = request.RESPONSE |
|||
session = request.SESSION |
|||
|
|||
data=DateTime().strftime('%d/%m/%Y') |
|||
data = DateTime().strftime('%d/%m/%Y') |
|||
|
|||
#Abaixo é gerada a string para o rodapé da página |
|||
casa={} |
|||
aux=context.sapl_documentos.props_sapl.propertyItems() |
|||
# Abaixo é gerada a string para o rodapé da página |
|||
casa = {} |
|||
aux = context.sapl_documentos.props_sapl.propertyItems() |
|||
for item in aux: |
|||
casa[item[0]]=item[1] |
|||
localidade=context.zsql.localidade_obter_zsql(cod_localidade=casa["cod_localidade"]) |
|||
if len(casa["num_cep"])==8: |
|||
cep=casa["num_cep"][:4]+"-"+casa["num_cep"][5:] |
|||
casa[item[0]] = item[1] |
|||
localidade = context.zsql.localidade_obter_zsql( |
|||
cod_localidade=casa["cod_localidade"]) |
|||
if len(casa["num_cep"]) == 8: |
|||
cep = casa["num_cep"][:4] + "-" + casa["num_cep"][5:] |
|||
else: |
|||
cep="" |
|||
|
|||
linha1=casa["end_casa"] |
|||
if cep!="": |
|||
if casa["end_casa"]!="" and casa["end_casa"]!=None: |
|||
linha1 = linha1 + " - " |
|||
linha1 = linha1 + "CEP "+cep |
|||
if localidade[0].nom_localidade!="" and localidade[0].nom_localidade!=None: |
|||
linha1 = linha1 + " - "+localidade[0].nom_localidade+" "+localidade[0].sgl_uf |
|||
if casa["num_tel"]!="" and casa["num_tel"]!=None: |
|||
linha1 = linha1 + " Tel.: "+ casa["num_tel"] |
|||
|
|||
linha2=casa["end_web_casa"] |
|||
if casa["end_email_casa"]!="" and casa["end_email_casa"]!=None: |
|||
if casa["end_web_casa"]!="" and casa["end_web_casa"]!=None: |
|||
linha2 = linha2 + " - " |
|||
linha2 = linha2 + "E-mail: "+casa["end_email_casa"] |
|||
|
|||
data_emissao=DateTime().strftime("%d/%m/%Y") |
|||
rodape=[linha1,linha2,data_emissao] |
|||
|
|||
#Por fim, gera-se as entradas para o cabeçalho |
|||
estados=context.zsql.localidade_obter_zsql(tip_localidade="u") |
|||
cep = "" |
|||
|
|||
linha1 = casa["end_casa"] |
|||
if cep != "": |
|||
if casa["end_casa"] != "" and casa["end_casa"] != None: |
|||
linha1 = linha1 + " - " |
|||
linha1 = linha1 + "CEP " + cep |
|||
if localidade[0].nom_localidade != "" and localidade[0].nom_localidade != None: |
|||
linha1 = linha1 + " - " + \ |
|||
localidade[0].nom_localidade + " " + localidade[0].sgl_uf |
|||
if casa["num_tel"] != "" and casa["num_tel"] != None: |
|||
linha1 = linha1 + " Tel.: " + casa["num_tel"] |
|||
|
|||
linha2 = casa["end_web_casa"] |
|||
if casa["end_email_casa"] != "" and casa["end_email_casa"] != None: |
|||
if casa["end_web_casa"] != "" and casa["end_web_casa"] != None: |
|||
linha2 = linha2 + " - " |
|||
linha2 = linha2 + "E-mail: " + casa["end_email_casa"] |
|||
|
|||
data_emissao = DateTime().strftime("%d/%m/%Y") |
|||
rodape = [linha1, linha2, data_emissao] |
|||
|
|||
# Por fim, gera-se as entradas para o cabeçalho |
|||
estados = context.zsql.localidade_obter_zsql(tip_localidade="u") |
|||
for uf in estados: |
|||
if localidade[0].sgl_uf==uf.sgl_uf: |
|||
nom_estado=uf.nom_localidade |
|||
break |
|||
cabecalho={} |
|||
cabecalho["nom_casa"]=casa["nom_casa"] |
|||
cabecalho["nom_estado"]="Estado de "+nom_estado |
|||
if localidade[0].sgl_uf == uf.sgl_uf: |
|||
nom_estado = uf.nom_localidade |
|||
break |
|||
cabecalho = {} |
|||
cabecalho["nom_casa"] = casa["nom_casa"] |
|||
cabecalho["nom_estado"] = "Estado de " + nom_estado |
|||
|
|||
# tenta buscar o logotipo da casa LOGO_CASA |
|||
if hasattr(context.sapl_documentos.props_sapl,'logo_casa.gif'): |
|||
imagem = context.sapl_documentos.props_sapl['logo_casa.gif'].absolute_url() |
|||
if hasattr(context.sapl_documentos.props_sapl, 'logo_casa.gif'): |
|||
imagem = context.sapl_documentos.props_sapl['logo_casa.gif'].absolute_url() |
|||
else: |
|||
imagem = context.imagens.absolute_url() + "/brasao_transp.gif" |
|||
imagem = context.imagens.absolute_url() + "/brasao_transp.gif" |
|||
|
|||
#Por fim, utiliza o PythonScript para pesquisar as matérias e gerar os dados |
|||
# Por fim, utiliza o PythonScript para pesquisar as matérias e gerar os dados |
|||
|
|||
materias=[] |
|||
REQUEST=context.REQUEST |
|||
materias = [] |
|||
REQUEST = context.REQUEST |
|||
for materia in context.zsql.materia_pesquisar_zsql(tip_id_basica=REQUEST['lst_tip_materia'], num_ident_basica=REQUEST['txt_numero'], |
|||
ano_ident_basica=REQUEST['txt_ano'], ind_tramitacao=REQUEST['rad_tramitando'], |
|||
des_assunto=REQUEST['txt_assunto'], nom_relator=REQUEST['txt_relator'], |
|||
cod_status=REQUEST['lst_status'], des_tipo_autor=REQUEST['lst_tip_autor'], |
|||
dat_apresentacao=REQUEST['dt_apres'], dat_apresentacao2=REQUEST['dt_apres2'], |
|||
dat_publicacao=REQUEST['dt_public'], dat_publicacao2=REQUEST['dt_public2'], |
|||
cod_partido=REQUEST['lst_cod_partido'],cod_autor=REQUEST['hdn_cod_autor'], |
|||
rd_ordem=REQUEST['rd_ordenacao'],rd_ordem_td=REQUEST['rd_ordem_td']): |
|||
|
|||
dic={} |
|||
|
|||
dic['titulo']=materia.sgl_tipo_materia+" "+materia.des_tipo_materia+" "+str(materia.num_ident_basica)+"/"+str(materia.ano_ident_basica) |
|||
dic['txt_ementa']=materia.txt_ementa |
|||
dic['nom_autor'] = " " |
|||
for autoria in context.zsql.autoria_obter_zsql(cod_materia=materia.cod_materia): |
|||
for autor in context.zsql.autor_obter_zsql(cod_autor=autoria.cod_autor): |
|||
if autor.des_tipo_autor=='Parlamentar': |
|||
for parlamentar in context.zsql.parlamentar_obter_zsql(cod_parlamentar=autor.cod_parlamentar): |
|||
dic['nom_autor']=parlamentar.nom_completo |
|||
elif autor.des_tipo_autor=='Comissao': |
|||
for comissao in context.zsql.comissao_obter_zsql(cod_comissao=autor.cod_comissao): |
|||
dic['nom_autor']=comissao.nom_comissao |
|||
else: |
|||
dic['nom_autor']=autor.nom_autor |
|||
|
|||
des_status = '' |
|||
txt_tramitacao='' |
|||
|
|||
dic['localizacao_atual']=" " |
|||
for tramitacao in context.zsql.tramitacao_obter_zsql(cod_materia=materia.cod_materia,ind_ult_tramitacao=1): |
|||
if tramitacao.cod_unid_tram_dest: |
|||
cod_unid_tram = tramitacao.cod_unid_tram_dest |
|||
ano_ident_basica=REQUEST[ |
|||
'txt_ano'], ind_tramitacao=REQUEST['rad_tramitando'], |
|||
des_assunto=REQUEST[ |
|||
'txt_assunto'], nom_relator=REQUEST['txt_relator'], |
|||
cod_status=REQUEST['lst_status'], des_tipo_autor=REQUEST[ |
|||
'lst_tip_autor'], |
|||
dat_apresentacao=REQUEST[ |
|||
'dt_apres'], dat_apresentacao2=REQUEST['dt_apres2'], |
|||
dat_publicacao=REQUEST[ |
|||
'dt_public'], dat_publicacao2=REQUEST['dt_public2'], |
|||
cod_partido=REQUEST['lst_cod_partido'], cod_autor=REQUEST[ |
|||
'hdn_cod_autor'], |
|||
rd_ordem=REQUEST['rd_ordenacao'], rd_ordem_td=REQUEST['rd_ordem_td']): |
|||
|
|||
dic = {} |
|||
|
|||
dic['titulo'] = materia.sgl_tipo_materia + " " + materia.des_tipo_materia + \ |
|||
" " + str(materia.num_ident_basica) + "/" + \ |
|||
str(materia.ano_ident_basica) |
|||
dic['txt_ementa'] = materia.txt_ementa |
|||
dic['nom_autor'] = " " |
|||
for autoria in context.zsql.autoria_obter_zsql(cod_materia=materia.cod_materia): |
|||
for autor in context.zsql.autor_obter_zsql(cod_autor=autoria.cod_autor): |
|||
if autor.des_tipo_autor == 'Parlamentar': |
|||
for parlamentar in context.zsql.parlamentar_obter_zsql(cod_parlamentar=autor.cod_parlamentar): |
|||
dic['nom_autor'] = parlamentar.nom_completo |
|||
elif autor.des_tipo_autor == 'Comissao': |
|||
for comissao in context.zsql.comissao_obter_zsql(cod_comissao=autor.cod_comissao): |
|||
dic['nom_autor'] = comissao.nom_comissao |
|||
else: |
|||
cod_unid_tram = tramitacao.cod_unid_tram_local |
|||
dic['nom_autor'] = autor.nom_autor |
|||
|
|||
for unidade_tramitacao in context.zsql.unidade_tramitacao_obter_zsql(cod_unid_tramitacao = cod_unid_tram): |
|||
if unidade_tramitacao.cod_orgao: |
|||
dic['localizacao_atual']=unidade_tramitacao.nom_orgao |
|||
else: |
|||
dic['localizacao_atual']=unidade_tramitacao.nom_comissao |
|||
des_status = '' |
|||
txt_tramitacao = '' |
|||
|
|||
des_status=tramitacao.des_status |
|||
txt_tramitacao=tramitacao.txt_tramitacao |
|||
dic['localizacao_atual'] = " " |
|||
for tramitacao in context.zsql.tramitacao_obter_zsql(cod_materia=materia.cod_materia, ind_ult_tramitacao=1): |
|||
if tramitacao.cod_unid_tram_dest: |
|||
cod_unid_tram = tramitacao.cod_unid_tram_dest |
|||
else: |
|||
cod_unid_tram = tramitacao.cod_unid_tram_local |
|||
|
|||
dic['des_situacao']=des_status |
|||
dic['ultima_acao']=txt_tramitacao |
|||
for unidade_tramitacao in context.zsql.unidade_tramitacao_obter_zsql(cod_unid_tramitacao=cod_unid_tram): |
|||
if unidade_tramitacao.cod_orgao: |
|||
dic['localizacao_atual'] = unidade_tramitacao.nom_orgao |
|||
else: |
|||
dic['localizacao_atual'] = unidade_tramitacao.nom_comissao |
|||
|
|||
des_status = tramitacao.des_status |
|||
txt_tramitacao = tramitacao.txt_tramitacao |
|||
|
|||
dic['des_situacao'] = des_status |
|||
dic['ultima_acao'] = txt_tramitacao |
|||
|
|||
dic['norma_vinculada']=" " |
|||
for norma_vinculada in context.zsql.materia_buscar_norma_juridica_zsql(cod_materia=materia.cod_materia): |
|||
dic['norma_vinculada']=norma_vinculada.des_norma+" "+str(norma_vinculada.num_norma)+"/"+str(norma_vinculada.ano_norma) |
|||
dic['norma_vinculada'] = " " |
|||
for norma_vinculada in context.zsql.materia_buscar_norma_juridica_zsql(cod_materia=materia.cod_materia): |
|||
dic['norma_vinculada'] = norma_vinculada.des_norma + " " + \ |
|||
str(norma_vinculada.num_norma) + "/" + \ |
|||
str(norma_vinculada.ano_norma) |
|||
|
|||
materias.append(dic) |
|||
materias.append(dic) |
|||
|
|||
filtro={} # Dicionário que conterá os dados do filtro |
|||
filtro = {} # Dicionário que conterá os dados do filtro |
|||
|
|||
# Atribuições diretas do REQUEST |
|||
filtro['numero']=REQUEST.txt_numero |
|||
filtro['ano']=REQUEST.txt_ano |
|||
filtro['autor']=REQUEST.hdn_txt_autor |
|||
filtro['tipo_autor']=REQUEST.lst_tip_autor |
|||
filtro['relator']=REQUEST.txt_relator |
|||
filtro['assunto']=REQUEST.txt_assunto |
|||
filtro['numero'] = REQUEST.txt_numero |
|||
filtro['ano'] = REQUEST.txt_ano |
|||
filtro['autor'] = REQUEST.hdn_txt_autor |
|||
filtro['tipo_autor'] = REQUEST.lst_tip_autor |
|||
filtro['relator'] = REQUEST.txt_relator |
|||
filtro['assunto'] = REQUEST.txt_assunto |
|||
|
|||
# Atribuição do restante dos dados que precisam de processamento |
|||
if REQUEST.hdn_txt_autor==' ': # Corrige bug do Netscape |
|||
filtro['autor']='' |
|||
if REQUEST.hdn_txt_autor == ' ': # Corrige bug do Netscape |
|||
filtro['autor'] = '' |
|||
|
|||
filtro['tipo_materia']='' |
|||
if REQUEST.lst_tip_materia!='': |
|||
filtro['tipo_materia'] = '' |
|||
if REQUEST.lst_tip_materia != '': |
|||
for tipo_materia in context.zsql.tipo_materia_legislativa_obter_zsql(ind_excluido=0, tip_materia=REQUEST.lst_tip_materia): |
|||
filtro['tipo_materia']= tipo_materia.sgl_tipo_materia + ' - ' + tipo_materia.des_tipo_materia |
|||
|
|||
filtro['partido']='' |
|||
if REQUEST.lst_cod_partido!='': |
|||
for partido in context.zsql.partido_obter_zsql(ind_excluido=0,cod_partido=REQUEST.lst_cod_partido): |
|||
filtro['partido']=partido.sgl_partido + ' - ' + partido.nom_partido |
|||
|
|||
filtro['tramitando']='' |
|||
if REQUEST.rad_tramitando=='1': |
|||
filtro['tramitacao']='Sim' |
|||
elif REQUEST['rad_tramitando']=='0': |
|||
filtro['tramitacao']='Não' |
|||
|
|||
filtro['situacao_atual']='' |
|||
if REQUEST.lst_status!='': |
|||
for status in context.zsql.status_tramitacao_obter_zsql(ind_excluido=0,cod_status=REQUEST.lst_status): |
|||
filtro['situacao_atual']=status.sgl_status + ' - ' + status.des_status |
|||
|
|||
sessao=session.id |
|||
caminho = context.pdf_materia_gerar(sessao,imagem,data,materias,cabecalho,rodape,filtro) |
|||
if caminho=='aviso': |
|||
return response.redirect('mensagem_emitir_proc') |
|||
filtro['tipo_materia'] = tipo_materia.sgl_tipo_materia + \ |
|||
' - ' + tipo_materia.des_tipo_materia |
|||
|
|||
filtro['partido'] = '' |
|||
if REQUEST.lst_cod_partido != '': |
|||
for partido in context.zsql.partido_obter_zsql(ind_excluido=0, cod_partido=REQUEST.lst_cod_partido): |
|||
filtro['partido'] = partido.sgl_partido + ' - ' + partido.nom_partido |
|||
|
|||
filtro['tramitando'] = '' |
|||
if REQUEST.rad_tramitando == '1': |
|||
filtro['tramitacao'] = 'Sim' |
|||
elif REQUEST['rad_tramitando'] == '0': |
|||
filtro['tramitacao'] = 'Não' |
|||
|
|||
filtro['situacao_atual'] = '' |
|||
if REQUEST.lst_status != '': |
|||
for status in context.zsql.status_tramitacao_obter_zsql(ind_excluido=0, cod_status=REQUEST.lst_status): |
|||
filtro['situacao_atual'] = status.sgl_status + \ |
|||
' - ' + status.des_status |
|||
|
|||
sessao = session.id |
|||
caminho = context.pdf_materia_gerar( |
|||
sessao, imagem, data, materias, cabecalho, rodape, filtro) |
|||
if caminho == 'aviso': |
|||
return response.redirect('mensagem_emitir_proc') |
|||
else: |
|||
response.redirect(caminho) |
|||
response.redirect(caminho) |
|||
|
@ -1,94 +1,105 @@ |
|||
import os |
|||
|
|||
request=context.REQUEST |
|||
response=request.RESPONSE |
|||
session= request.SESSION |
|||
request = context.REQUEST |
|||
response = request.RESPONSE |
|||
session = request.SESSION |
|||
|
|||
data=DateTime().strftime('%d/%m/%Y') |
|||
data = DateTime().strftime('%d/%m/%Y') |
|||
|
|||
#Abaixo é gerada a string para o rodapé da página |
|||
casa={} |
|||
aux=context.sapl_documentos.props_sapl.propertyItems() |
|||
# Abaixo é gerada a string para o rodapé da página |
|||
casa = {} |
|||
aux = context.sapl_documentos.props_sapl.propertyItems() |
|||
for item in aux: |
|||
casa[item[0]]=item[1] |
|||
localidade=context.zsql.localidade_obter_zsql(cod_localidade=casa["cod_localidade"]) |
|||
if len(casa["num_cep"])==8: |
|||
cep=casa["num_cep"][:4]+"-"+casa["num_cep"][5:] |
|||
casa[item[0]] = item[1] |
|||
localidade = context.zsql.localidade_obter_zsql( |
|||
cod_localidade=casa["cod_localidade"]) |
|||
if len(casa["num_cep"]) == 8: |
|||
cep = casa["num_cep"][:4] + "-" + casa["num_cep"][5:] |
|||
else: |
|||
cep="" |
|||
|
|||
linha1=casa["end_casa"] |
|||
if cep!="": |
|||
if casa["end_casa"]!="" and casa["end_casa"]!=None: |
|||
linha1 = linha1 + " - " |
|||
linha1 = linha1 + "CEP "+cep |
|||
if localidade[0].nom_localidade!="" and localidade[0].nom_localidade!=None: |
|||
linha1 = linha1 + " - "+localidade[0].nom_localidade+" "+localidade[0].sgl_uf |
|||
if casa["num_tel"]!="" and casa["num_tel"]!=None: |
|||
linha1 = linha1 + " Tel.: "+ casa["num_tel"] |
|||
|
|||
linha2=casa["end_web_casa"] |
|||
if casa["end_email_casa"]!="" and casa["end_email_casa"]!=None: |
|||
if casa["end_web_casa"]!="" and casa["end_web_casa"]!=None: |
|||
linha2 = linha2 + " - " |
|||
linha2 = linha2 + "E-mail: "+casa["end_email_casa"] |
|||
|
|||
data_emissao=DateTime().strftime("%d/%m/%Y") |
|||
rodape=[linha1,linha2,data_emissao] |
|||
|
|||
#Por fim, gera-se as entradas para o cabeçalho |
|||
estados=context.zsql.localidade_obter_zsql(tip_localidade="u") |
|||
cep = "" |
|||
|
|||
linha1 = casa["end_casa"] |
|||
if cep != "": |
|||
if casa["end_casa"] != "" and casa["end_casa"] != None: |
|||
linha1 = linha1 + " - " |
|||
linha1 = linha1 + "CEP " + cep |
|||
if localidade[0].nom_localidade != "" and localidade[0].nom_localidade != None: |
|||
linha1 = linha1 + " - " + \ |
|||
localidade[0].nom_localidade + " " + localidade[0].sgl_uf |
|||
if casa["num_tel"] != "" and casa["num_tel"] != None: |
|||
linha1 = linha1 + " Tel.: " + casa["num_tel"] |
|||
|
|||
linha2 = casa["end_web_casa"] |
|||
if casa["end_email_casa"] != "" and casa["end_email_casa"] != None: |
|||
if casa["end_web_casa"] != "" and casa["end_web_casa"] != None: |
|||
linha2 = linha2 + " - " |
|||
linha2 = linha2 + "E-mail: " + casa["end_email_casa"] |
|||
|
|||
data_emissao = DateTime().strftime("%d/%m/%Y") |
|||
rodape = [linha1, linha2, data_emissao] |
|||
|
|||
# Por fim, gera-se as entradas para o cabeçalho |
|||
estados = context.zsql.localidade_obter_zsql(tip_localidade="u") |
|||
for uf in estados: |
|||
if localidade[0].sgl_uf==uf.sgl_uf: |
|||
nom_estado=uf.nom_localidade |
|||
break |
|||
cabecalho={} |
|||
cabecalho["nom_casa"]=casa["nom_casa"] |
|||
cabecalho["nom_estado"]="Estado de "+nom_estado |
|||
if localidade[0].sgl_uf == uf.sgl_uf: |
|||
nom_estado = uf.nom_localidade |
|||
break |
|||
cabecalho = {} |
|||
cabecalho["nom_casa"] = casa["nom_casa"] |
|||
cabecalho["nom_estado"] = "Estado de " + nom_estado |
|||
|
|||
# tenta buscar o logotipo da casa LOGO_CASA |
|||
if hasattr(context.sapl_documentos.props_sapl,'logo_casa.gif'): |
|||
imagem = context.sapl_documentos.props_sapl['logo_casa.gif'].absolute_url() |
|||
if hasattr(context.sapl_documentos.props_sapl, 'logo_casa.gif'): |
|||
imagem = context.sapl_documentos.props_sapl['logo_casa.gif'].absolute_url() |
|||
else: |
|||
imagem = context.imagens.absolute_url() + "/brasao_transp.gif" |
|||
imagem = context.imagens.absolute_url() + "/brasao_transp.gif" |
|||
|
|||
#Por fim, utiliza o PythonScript para pesquisar as normas e gerar os dados |
|||
# Por fim, utiliza o PythonScript para pesquisar as normas e gerar os dados |
|||
|
|||
normas=[] |
|||
REQUEST=context.REQUEST |
|||
normas = [] |
|||
REQUEST = context.REQUEST |
|||
for norma in context.zsql.norma_juridica_obter_zsql(tip_norma=REQUEST['lst_tip_norma'], num_norma=REQUEST['txt_numero'], |
|||
ano_norma=REQUEST['txt_ano'], des_assunto=REQUEST['txt_assunto'], |
|||
cod_assunto=REQUEST['lst_assunto_norma'], dat_norma=REQUEST['dt_norma'], |
|||
dat_norma2=REQUEST['dt_norma2'], dat_publicacao=REQUEST['dt_public'], |
|||
dat_publicacao2=REQUEST['dt_public2'],rd_ordem=REQUEST['rd_ordenacao']): |
|||
ano_norma=REQUEST['txt_ano'], des_assunto=REQUEST[ |
|||
'txt_assunto'], |
|||
cod_assunto=REQUEST[ |
|||
'lst_assunto_norma'], dat_norma=REQUEST['dt_norma'], |
|||
dat_norma2=REQUEST[ |
|||
'dt_norma2'], dat_publicacao=REQUEST['dt_public'], |
|||
dat_publicacao2=REQUEST['dt_public2'], rd_ordem=REQUEST['rd_ordenacao']): |
|||
|
|||
dic={} |
|||
dic = {} |
|||
|
|||
dic['titulo']=norma.sgl_tipo_norma+" Nº "+str(norma.num_norma)+" de "+str(norma.dat_norma)+" - "+norma.des_tipo_norma |
|||
dic['txt_ementa']=norma.txt_ementa |
|||
dic['titulo'] = norma.sgl_tipo_norma + " Nº " + \ |
|||
str(norma.num_norma) + " de " + \ |
|||
str(norma.dat_norma) + " - " + norma.des_tipo_norma |
|||
dic['txt_ementa'] = norma.txt_ementa |
|||
|
|||
dic['materia_vinculada']=" " |
|||
if norma.cod_materia!=None: |
|||
for materia_vinculada in context.zsql.materia_obter_zsql(cod_materia=str(norma.cod_materia)): |
|||
dic['materia_vinculada']=materia_vinculada.sgl_tipo_materia+" "+str(materia_vinculada.num_ident_basica)+"/"+str(materia_vinculada.ano_ident_basica) |
|||
dic['materia_vinculada'] = " " |
|||
if norma.cod_materia != None: |
|||
for materia_vinculada in context.zsql.materia_obter_zsql(cod_materia=str(norma.cod_materia)): |
|||
dic['materia_vinculada'] = materia_vinculada.sgl_tipo_materia + " " + \ |
|||
str(materia_vinculada.num_ident_basica) + "/" + \ |
|||
str(materia_vinculada.ano_ident_basica) |
|||
|
|||
normas.append(dic) |
|||
normas.append(dic) |
|||
|
|||
filtro={} # Dicionário que conterá os dados do filtro |
|||
filtro = {} # Dicionário que conterá os dados do filtro |
|||
|
|||
# Atribuições diretas do REQUEST |
|||
filtro['numero']=REQUEST.txt_numero |
|||
filtro['ano']=REQUEST.txt_ano |
|||
filtro['assunto']=REQUEST.txt_assunto |
|||
filtro['numero'] = REQUEST.txt_numero |
|||
filtro['ano'] = REQUEST.txt_ano |
|||
filtro['assunto'] = REQUEST.txt_assunto |
|||
|
|||
filtro['tipo_norma']='' |
|||
if REQUEST.lst_tip_norma!='': |
|||
filtro['tipo_norma'] = '' |
|||
if REQUEST.lst_tip_norma != '': |
|||
for tipo_norma in context.zsql.tipo_norma_juridica_obter_zsql(ind_excluido=0, tip_norma=REQUEST.lst_tip_norma): |
|||
filtro['tipo_norma']= tipo_norma.sgl_tipo_norma + ' - ' + tipo_norma.des_tipo_norma |
|||
|
|||
sessao=session.id |
|||
caminho = context.pdf_norma_gerar(sessao,imagem,data,normas,cabecalho,rodape,filtro) |
|||
if caminho=='aviso': |
|||
return response.redirect('mensagem_emitir_proc') |
|||
filtro['tipo_norma'] = tipo_norma.sgl_tipo_norma + \ |
|||
' - ' + tipo_norma.des_tipo_norma |
|||
|
|||
sessao = session.id |
|||
caminho = context.pdf_norma_gerar( |
|||
sessao, imagem, data, normas, cabecalho, rodape, filtro) |
|||
if caminho == 'aviso': |
|||
return response.redirect('mensagem_emitir_proc') |
|||
else: |
|||
response.redirect(caminho) |
|||
response.redirect(caminho) |
|||
|
@ -1,117 +1,126 @@ |
|||
import os |
|||
|
|||
request=context.REQUEST |
|||
response=request.RESPONSE |
|||
session= request.SESSION |
|||
request = context.REQUEST |
|||
response = request.RESPONSE |
|||
session = request.SESSION |
|||
|
|||
data=DateTime().strftime('%d/%m/%Y') |
|||
data = DateTime().strftime('%d/%m/%Y') |
|||
|
|||
#Abaixo é gerada a string para o rodapé da página |
|||
casa={} |
|||
aux=context.sapl_documentos.props_sapl.propertyItems() |
|||
# Abaixo é gerada a string para o rodapé da página |
|||
casa = {} |
|||
aux = context.sapl_documentos.props_sapl.propertyItems() |
|||
for item in aux: |
|||
casa[item[0]]=item[1] |
|||
localidade=context.zsql.localidade_obter_zsql(cod_localidade=casa["cod_localidade"]) |
|||
if len(casa["num_cep"])==8: |
|||
cep=casa["num_cep"][:4]+"-"+casa["num_cep"][5:] |
|||
casa[item[0]] = item[1] |
|||
localidade = context.zsql.localidade_obter_zsql( |
|||
cod_localidade=casa["cod_localidade"]) |
|||
if len(casa["num_cep"]) == 8: |
|||
cep = casa["num_cep"][:4] + "-" + casa["num_cep"][5:] |
|||
else: |
|||
cep="" |
|||
|
|||
linha1=casa["end_casa"] |
|||
if cep!="": |
|||
if casa["end_casa"]!="" and casa["end_casa"]!=None: |
|||
linha1 = linha1 + " - " |
|||
linha1 = linha1 + "CEP "+cep |
|||
if localidade[0].nom_localidade!="" and localidade[0].nom_localidade!=None: |
|||
linha1 = linha1 + " - "+localidade[0].nom_localidade+" "+localidade[0].sgl_uf |
|||
if casa["num_tel"]!="" and casa["num_tel"]!=None: |
|||
linha1 = linha1 + " Tel.: "+ casa["num_tel"] |
|||
|
|||
linha2=casa["end_web_casa"] |
|||
if casa["end_email_casa"]!="" and casa["end_email_casa"]!=None: |
|||
if casa["end_web_casa"]!="" and casa["end_web_casa"]!=None: |
|||
linha2 = linha2 + " - " |
|||
linha2 = linha2 + "E-mail: "+casa["end_email_casa"] |
|||
|
|||
data_emissao=DateTime().strftime("%d/%m/%Y") |
|||
rodape=[linha1,linha2,data_emissao] |
|||
|
|||
#Por fim, gera-se as entradas para o cabeçalho |
|||
estados=context.zsql.localidade_obter_zsql(tip_localidade="u") |
|||
cep = "" |
|||
|
|||
linha1 = casa["end_casa"] |
|||
if cep != "": |
|||
if casa["end_casa"] != "" and casa["end_casa"] != None: |
|||
linha1 = linha1 + " - " |
|||
linha1 = linha1 + "CEP " + cep |
|||
if localidade[0].nom_localidade != "" and localidade[0].nom_localidade != None: |
|||
linha1 = linha1 + " - " + \ |
|||
localidade[0].nom_localidade + " " + localidade[0].sgl_uf |
|||
if casa["num_tel"] != "" and casa["num_tel"] != None: |
|||
linha1 = linha1 + " Tel.: " + casa["num_tel"] |
|||
|
|||
linha2 = casa["end_web_casa"] |
|||
if casa["end_email_casa"] != "" and casa["end_email_casa"] != None: |
|||
if casa["end_web_casa"] != "" and casa["end_web_casa"] != None: |
|||
linha2 = linha2 + " - " |
|||
linha2 = linha2 + "E-mail: " + casa["end_email_casa"] |
|||
|
|||
data_emissao = DateTime().strftime("%d/%m/%Y") |
|||
rodape = [linha1, linha2, data_emissao] |
|||
|
|||
# Por fim, gera-se as entradas para o cabeçalho |
|||
estados = context.zsql.localidade_obter_zsql(tip_localidade="u") |
|||
for uf in estados: |
|||
if localidade[0].sgl_uf==uf.sgl_uf: |
|||
nom_estado=uf.nom_localidade |
|||
break |
|||
cabecalho={} |
|||
cabecalho["nom_casa"]=casa["nom_casa"] |
|||
cabecalho["nom_estado"]="Estado de "+nom_estado |
|||
if localidade[0].sgl_uf == uf.sgl_uf: |
|||
nom_estado = uf.nom_localidade |
|||
break |
|||
cabecalho = {} |
|||
cabecalho["nom_casa"] = casa["nom_casa"] |
|||
cabecalho["nom_estado"] = "Estado de " + nom_estado |
|||
|
|||
# tenta buscar o logotipo da casa LOGO_CASA |
|||
if hasattr(context.sapl_documentos.props_sapl,'logo_casa.gif'): |
|||
imagem = context.sapl_documentos.props_sapl['logo_casa.gif'].absolute_url() |
|||
if hasattr(context.sapl_documentos.props_sapl, 'logo_casa.gif'): |
|||
imagem = context.sapl_documentos.props_sapl['logo_casa.gif'].absolute_url() |
|||
else: |
|||
imagem = context.imagens.absolute_url() + "/brasao_transp.gif" |
|||
imagem = context.imagens.absolute_url() + "/brasao_transp.gif" |
|||
|
|||
#Por fim, utiliza o PythonScript para pesquisar os protocolos e gerar os dados |
|||
# Por fim, utiliza o PythonScript para pesquisar os protocolos e gerar os dados |
|||
|
|||
protocolos=[] |
|||
REQUEST=context.REQUEST |
|||
protocolos = [] |
|||
REQUEST = context.REQUEST |
|||
for protocolo in context.zsql.protocolo_pesquisar_zsql(tip_protocolo=REQUEST['rad_tip_protocolo'], |
|||
cod_protocolo=REQUEST['txt_num_protocolo'], ano_protocolo=REQUEST['txt_ano_protocolo'], |
|||
tip_documento=REQUEST['lst_tip_documento'], tip_processo=REQUEST['rad_tip_processo'], |
|||
tip_materia=REQUEST['lst_tip_materia'], des_assunto=REQUEST['txt_assunto'], |
|||
cod_autor=REQUEST['hdn_cod_autor'], des_interessado=REQUEST['txa_txt_interessado'], |
|||
dat_apres=REQUEST['dt_apres'], dat_apres2=REQUEST['dt_apres2']): |
|||
dic={} |
|||
|
|||
dic['titulo']=str(protocolo.cod_protocolo)+'/'+str(protocolo.ano_protocolo) |
|||
|
|||
dic['data']=context.pysc.iso_to_port_pysc(protocolo.dat_protocolo)+' - <b>Horário:</b>'+protocolo.hor_protocolo |
|||
|
|||
dic['txt_assunto']=protocolo.txt_assunto_ementa |
|||
|
|||
dic['txt_interessado']=protocolo.txt_interessado |
|||
|
|||
dic['nom_autor'] = " " |
|||
if protocolo.cod_autor!=None: |
|||
for autor in context.zsql.autor_obter_zsql(cod_autor=protocolo.cod_autor): |
|||
if autor.des_tipo_autor=='Parlamentar': |
|||
for parlamentar in context.zsql.parlamentar_obter_zsql(cod_parlamentar=autor.cod_parlamentar): |
|||
dic['nom_autor']=parlamentar.nom_completo |
|||
elif autor.des_tipo_autor=='Comissao': |
|||
for comissao in context.zsql.comissao_obter_zsql(cod_comissao=autor.cod_comissao): |
|||
dic['nom_autor']=comissao.nom_comissao |
|||
else: |
|||
dic['nom_autor']=autor.nom_autor |
|||
|
|||
dic['natureza']='' |
|||
if protocolo.tip_processo==0: |
|||
dic['natureza']='Administrativo' |
|||
if protocolo.tip_processo==1: |
|||
dic['natureza']='Legislativo' |
|||
|
|||
dic['processo']=protocolo.des_tipo_materia or protocolo.des_tipo_documento |
|||
|
|||
dic['anulado']='' |
|||
if protocolo.ind_anulado==1: |
|||
dic['anulado']='Nulo' |
|||
|
|||
protocolos.append(dic) |
|||
|
|||
filtro={} # Dicionário que conterá os dados do filtro |
|||
cod_protocolo=REQUEST['txt_num_protocolo'], ano_protocolo=REQUEST[ |
|||
'txt_ano_protocolo'], |
|||
tip_documento=REQUEST['lst_tip_documento'], tip_processo=REQUEST[ |
|||
'rad_tip_processo'], |
|||
tip_materia=REQUEST[ |
|||
'lst_tip_materia'], des_assunto=REQUEST['txt_assunto'], |
|||
cod_autor=REQUEST['hdn_cod_autor'], des_interessado=REQUEST[ |
|||
'txa_txt_interessado'], |
|||
dat_apres=REQUEST['dt_apres'], dat_apres2=REQUEST['dt_apres2']): |
|||
dic = {} |
|||
|
|||
dic['titulo'] = str(protocolo.cod_protocolo) + '/' + \ |
|||
str(protocolo.ano_protocolo) |
|||
|
|||
dic['data'] = context.pysc.iso_to_port_pysc( |
|||
protocolo.dat_protocolo) + ' - <b>Horário:</b>' + protocolo.hor_protocolo |
|||
|
|||
dic['txt_assunto'] = protocolo.txt_assunto_ementa |
|||
|
|||
dic['txt_interessado'] = protocolo.txt_interessado |
|||
|
|||
dic['nom_autor'] = " " |
|||
if protocolo.cod_autor != None: |
|||
for autor in context.zsql.autor_obter_zsql(cod_autor=protocolo.cod_autor): |
|||
if autor.des_tipo_autor == 'Parlamentar': |
|||
for parlamentar in context.zsql.parlamentar_obter_zsql(cod_parlamentar=autor.cod_parlamentar): |
|||
dic['nom_autor'] = parlamentar.nom_completo |
|||
elif autor.des_tipo_autor == 'Comissao': |
|||
for comissao in context.zsql.comissao_obter_zsql(cod_comissao=autor.cod_comissao): |
|||
dic['nom_autor'] = comissao.nom_comissao |
|||
else: |
|||
dic['nom_autor'] = autor.nom_autor |
|||
|
|||
dic['natureza'] = '' |
|||
if protocolo.tip_processo == 0: |
|||
dic['natureza'] = 'Administrativo' |
|||
if protocolo.tip_processo == 1: |
|||
dic['natureza'] = 'Legislativo' |
|||
|
|||
dic['processo'] = protocolo.des_tipo_materia or protocolo.des_tipo_documento |
|||
|
|||
dic['anulado'] = '' |
|||
if protocolo.ind_anulado == 1: |
|||
dic['anulado'] = 'Nulo' |
|||
|
|||
protocolos.append(dic) |
|||
|
|||
filtro = {} # Dicionário que conterá os dados do filtro |
|||
|
|||
# Atribuições diretas do REQUEST |
|||
filtro['numero']=REQUEST.txt_num_protocolo |
|||
filtro['ano']=REQUEST.txt_ano_protocolo |
|||
filtro['tipo_protocolo']=REQUEST.rad_tip_protocolo |
|||
filtro['tipo_processo']=REQUEST.rad_tip_processo |
|||
filtro['assunto']=REQUEST.txt_assunto |
|||
filtro['autor']=REQUEST.hdn_cod_autor |
|||
filtro['interessado']=REQUEST.txa_txt_interessado |
|||
|
|||
sessao=session.id |
|||
caminho = context.pdf_protocolo_gerar(sessao,imagem,data,protocolos,cabecalho,rodape,filtro) |
|||
if caminho=='aviso': |
|||
return response.redirect('mensagem_emitir_proc') |
|||
filtro['numero'] = REQUEST.txt_num_protocolo |
|||
filtro['ano'] = REQUEST.txt_ano_protocolo |
|||
filtro['tipo_protocolo'] = REQUEST.rad_tip_protocolo |
|||
filtro['tipo_processo'] = REQUEST.rad_tip_processo |
|||
filtro['assunto'] = REQUEST.txt_assunto |
|||
filtro['autor'] = REQUEST.hdn_cod_autor |
|||
filtro['interessado'] = REQUEST.txa_txt_interessado |
|||
|
|||
sessao = session.id |
|||
caminho = context.pdf_protocolo_gerar( |
|||
sessao, imagem, data, protocolos, cabecalho, rodape, filtro) |
|||
if caminho == 'aviso': |
|||
return response.redirect('mensagem_emitir_proc') |
|||
else: |
|||
response.redirect(caminho) |
|||
response.redirect(caminho) |
|||
|
@ -0,0 +1,25 @@ |
|||
# -*- coding: utf-8 -*- |
|||
# Generated by Django 1.9.11 on 2017-08-10 10:33 |
|||
from __future__ import unicode_literals |
|||
|
|||
from django.db import migrations, models |
|||
|
|||
|
|||
class Migration(migrations.Migration): |
|||
|
|||
dependencies = [ |
|||
('sessao', '0009_auto_20170619_1441'), |
|||
] |
|||
|
|||
operations = [ |
|||
migrations.AddField( |
|||
model_name='registrovotacao', |
|||
name='data_hora_atualizacao', |
|||
field=models.DateTimeField(auto_now=True, null=True, verbose_name='Data'), |
|||
), |
|||
migrations.AddField( |
|||
model_name='registrovotacao', |
|||
name='data_hora_criacao', |
|||
field=models.DateTimeField(auto_now_add=True, null=True, verbose_name='Data Criação'), |
|||
), |
|||
] |
@ -0,0 +1,25 @@ |
|||
# -*- coding: utf-8 -*- |
|||
# Generated by Django 1.9.13 on 2017-08-14 18:04 |
|||
from __future__ import unicode_literals |
|||
|
|||
from django.db import migrations, models |
|||
|
|||
|
|||
class Migration(migrations.Migration): |
|||
|
|||
dependencies = [ |
|||
('sessao', '0009_auto_20170619_1441'), |
|||
] |
|||
|
|||
operations = [ |
|||
migrations.AddField( |
|||
model_name='tiporesultadovotacao', |
|||
name='natureza', |
|||
field=models.CharField(choices=[('A', 'Aprovado'), ('R', 'Rejeitado')], max_length=100, null=True, verbose_name='Natureza do Tipo'), |
|||
), |
|||
migrations.AlterField( |
|||
model_name='tiporesultadovotacao', |
|||
name='nome', |
|||
field=models.CharField(max_length=100, verbose_name='Nome do Tipo'), |
|||
), |
|||
] |
@ -0,0 +1,20 @@ |
|||
# -*- coding: utf-8 -*- |
|||
# Generated by Django 1.9.13 on 2017-08-14 14:09 |
|||
from __future__ import unicode_literals |
|||
|
|||
from django.db import migrations, models |
|||
|
|||
|
|||
class Migration(migrations.Migration): |
|||
|
|||
dependencies = [ |
|||
('sessao', '0010_auto_20170810_1033'), |
|||
] |
|||
|
|||
operations = [ |
|||
migrations.AlterField( |
|||
model_name='bloco', |
|||
name='partidos', |
|||
field=models.ManyToManyField(blank=True, to='parlamentares.Partido', verbose_name='Partidos'), |
|||
), |
|||
] |
@ -0,0 +1,20 @@ |
|||
# -*- coding: utf-8 -*- |
|||
# Generated by Django 1.9.13 on 2017-08-14 18:49 |
|||
from __future__ import unicode_literals |
|||
|
|||
from django.db import migrations, models |
|||
|
|||
|
|||
class Migration(migrations.Migration): |
|||
|
|||
dependencies = [ |
|||
('sessao', '0010_auto_20170814_1804'), |
|||
] |
|||
|
|||
operations = [ |
|||
migrations.AlterField( |
|||
model_name='tiporesultadovotacao', |
|||
name='natureza', |
|||
field=models.CharField(blank=True, choices=[('A', 'Aprovado'), ('R', 'Rejeitado')], max_length=100, null=True, verbose_name='Natureza do Tipo'), |
|||
), |
|||
] |
@ -0,0 +1,23 @@ |
|||
# -*- coding: utf-8 -*- |
|||
# Generated by Django 1.9.11 on 2017-08-14 16:15 |
|||
from __future__ import unicode_literals |
|||
|
|||
from django.db import migrations |
|||
|
|||
|
|||
class Migration(migrations.Migration): |
|||
|
|||
dependencies = [ |
|||
('sessao', '0011_auto_20170814_1409'), |
|||
] |
|||
|
|||
operations = [ |
|||
migrations.AlterModelOptions( |
|||
name='bancada', |
|||
options={'ordering': ('-legislatura__numero',), 'verbose_name': 'Bancada Parlamentar', 'verbose_name_plural': 'Bancadas Parlamentares'}, |
|||
), |
|||
migrations.AlterModelOptions( |
|||
name='bloco', |
|||
options={'verbose_name': 'Bloco Parlamentar', 'verbose_name_plural': 'Blocos Parlamentares'}, |
|||
), |
|||
] |
@ -0,0 +1,21 @@ |
|||
# -*- coding: utf-8 -*- |
|||
# Generated by Django 1.9.13 on 2017-08-15 12:44 |
|||
from __future__ import unicode_literals |
|||
|
|||
from django.db import migrations, models |
|||
|
|||
|
|||
class Migration(migrations.Migration): |
|||
|
|||
dependencies = [ |
|||
('sessao', '0011_auto_20170814_1849'), |
|||
] |
|||
|
|||
operations = [ |
|||
migrations.AlterField( |
|||
model_name='tiporesultadovotacao', |
|||
name='natureza', |
|||
field=models.CharField(blank=True, choices=[('A', 'Aprovado'), ('R', 'Rejeitado')], default='', max_length=100, verbose_name='Natureza do Tipo'), |
|||
preserve_default=False, |
|||
), |
|||
] |
@ -0,0 +1,16 @@ |
|||
# -*- coding: utf-8 -*- |
|||
# Generated by Django 1.9.13 on 2017-08-15 13:42 |
|||
from __future__ import unicode_literals |
|||
|
|||
from django.db import migrations |
|||
|
|||
|
|||
class Migration(migrations.Migration): |
|||
|
|||
dependencies = [ |
|||
('sessao', '0012_auto_20170814_1615'), |
|||
('sessao', '0012_auto_20170815_1244'), |
|||
] |
|||
|
|||
operations = [ |
|||
] |
@ -0,0 +1,68 @@ |
|||
import pytest |
|||
from django.utils.translation import ugettext_lazy as _ |
|||
from model_mommy import mommy |
|||
|
|||
from sapl.parlamentares.models import Legislatura, SessaoLegislativa |
|||
from sapl.sessao import forms |
|||
from sapl.sessao.models import SessaoPlenaria, TipoSessaoPlenaria |
|||
|
|||
|
|||
def test_valida_campos_obrigatorios_sessao_plenaria_form(): |
|||
form = forms.SessaoPlenariaForm(data={}) |
|||
|
|||
assert not form.is_valid() |
|||
|
|||
errors = form.errors |
|||
|
|||
assert errors['legislatura'] == ['Este campo é obrigatório.'] |
|||
assert errors['sessao_legislativa'] == ['Este campo é obrigatório.'] |
|||
assert errors['tipo'] == ['Este campo é obrigatório.'] |
|||
assert errors['numero'] == ['Este campo é obrigatório.'] |
|||
assert errors['data_inicio'] == ['Este campo é obrigatório.'] |
|||
assert errors['hora_inicio'] == ['Este campo é obrigatório.'] |
|||
|
|||
assert len(errors) == 6 |
|||
|
|||
|
|||
@pytest.mark.django_db(transaction=False) |
|||
def test_sessao_plenaria_form_valido(): |
|||
legislatura = mommy.make(Legislatura) |
|||
sessao = mommy.make(SessaoLegislativa) |
|||
tipo = mommy.make(TipoSessaoPlenaria) |
|||
|
|||
form = forms.SessaoPlenariaForm(data={'legislatura': str(legislatura.pk), |
|||
'numero': '1', |
|||
'tipo': str(tipo.pk), |
|||
'sessao_legislativa': str(sessao.pk), |
|||
'data_inicio': '10/11/2017', |
|||
'hora_inicio': '10:10' |
|||
}) |
|||
|
|||
assert form.is_valid() |
|||
|
|||
|
|||
@pytest.mark.django_db(transaction=False) |
|||
def test_numero_duplicado_sessao_plenaria_form(): |
|||
legislatura = mommy.make(Legislatura) |
|||
sessao = mommy.make(SessaoLegislativa) |
|||
tipo = mommy.make(TipoSessaoPlenaria) |
|||
sessao_plenaria = mommy.make(SessaoPlenaria, |
|||
legislatura=legislatura, |
|||
sessao_legislativa=sessao, |
|||
tipo=tipo, |
|||
numero=1) |
|||
|
|||
form = forms.SessaoPlenariaForm(data={'legislatura': str(legislatura.pk), |
|||
'numero': '1', |
|||
'tipo': str(tipo.pk), |
|||
'sessao_legislativa': str(sessao.pk), |
|||
'data_inicio': '10/11/2017', |
|||
'hora_inicio': '10:10' |
|||
}) |
|||
|
|||
assert not form.is_valid() |
|||
|
|||
assert form.errors['__all__'] == ["Número de Sessão Plenária já existente " |
|||
"para a Legislatura, Sessão Legislativa " |
|||
"e Tipo informados. Favor escolher um " |
|||
"número distinto."] |
Some files were not shown because too many files changed in this diff
Loading…
Reference in new issue