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 |
import django.dispatch |
||||
|
|
||||
from .models import DocumentoAcessorio, MateriaLegislativa |
|
||||
|
|
||||
|
|
||||
tramitacao_signal = django.dispatch.Signal(providing_args=['post', 'request']) |
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 |
import os |
||||
|
|
||||
request=context.REQUEST |
request = context.REQUEST |
||||
response=request.RESPONSE |
response = request.RESPONSE |
||||
session= request.SESSION |
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 |
# Abaixo é gerada a string para o rodapé da página |
||||
casa={} |
casa = {} |
||||
aux=context.sapl_documentos.props_sapl.propertyItems() |
aux = context.sapl_documentos.props_sapl.propertyItems() |
||||
for item in aux: |
for item in aux: |
||||
casa[item[0]]=item[1] |
casa[item[0]] = item[1] |
||||
localidade=context.zsql.localidade_obter_zsql(cod_localidade=casa["cod_localidade"]) |
localidade = context.zsql.localidade_obter_zsql( |
||||
if len(casa["num_cep"])==8: |
cod_localidade=casa["cod_localidade"]) |
||||
cep=casa["num_cep"][:4]+"-"+casa["num_cep"][5:] |
if len(casa["num_cep"]) == 8: |
||||
|
cep = casa["num_cep"][:4] + "-" + casa["num_cep"][5:] |
||||
else: |
else: |
||||
cep="" |
cep = "" |
||||
|
|
||||
linha1=casa["end_casa"] |
linha1 = casa["end_casa"] |
||||
if cep!="": |
if cep != "": |
||||
if casa["end_casa"]!="" and casa["end_casa"]!=None: |
if casa["end_casa"] != "" and casa["end_casa"] != None: |
||||
linha1 = linha1 + " - " |
linha1 = linha1 + " - " |
||||
linha1 = linha1 + "CEP "+cep |
linha1 = linha1 + "CEP " + cep |
||||
if localidade[0].nom_localidade!="" and localidade[0].nom_localidade!=None: |
if localidade[0].nom_localidade != "" and localidade[0].nom_localidade != None: |
||||
linha1 = linha1 + " - "+localidade[0].nom_localidade+" "+localidade[0].sgl_uf |
linha1 = linha1 + " - " + \ |
||||
if casa["num_tel"]!="" and casa["num_tel"]!=None: |
localidade[0].nom_localidade + " " + localidade[0].sgl_uf |
||||
linha1 = linha1 + " Tel.: "+ casa["num_tel"] |
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: |
linha2 = casa["end_web_casa"] |
||||
if casa["end_web_casa"]!="" and casa["end_web_casa"]!=None: |
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 + " - " |
||||
linha2 = linha2 + "E-mail: "+casa["end_email_casa"] |
linha2 = linha2 + "E-mail: " + casa["end_email_casa"] |
||||
|
|
||||
data_emissao=DateTime().strftime("%d/%m/%Y") |
data_emissao = DateTime().strftime("%d/%m/%Y") |
||||
rodape=[linha1,linha2,data_emissao] |
rodape = [linha1, linha2, data_emissao] |
||||
|
|
||||
#Por fim, gera-se as entradas para o cabeçalho |
# Por fim, gera-se as entradas para o cabeçalho |
||||
estados=context.zsql.localidade_obter_zsql(tip_localidade="u") |
estados = context.zsql.localidade_obter_zsql(tip_localidade="u") |
||||
for uf in estados: |
for uf in estados: |
||||
if localidade[0].sgl_uf==uf.sgl_uf: |
if localidade[0].sgl_uf == uf.sgl_uf: |
||||
nom_estado=uf.nom_localidade |
nom_estado = uf.nom_localidade |
||||
break |
break |
||||
cabecalho={} |
cabecalho = {} |
||||
cabecalho["nom_casa"]=casa["nom_casa"] |
cabecalho["nom_casa"] = casa["nom_casa"] |
||||
cabecalho["nom_estado"]="Estado de "+nom_estado |
cabecalho["nom_estado"] = "Estado de " + nom_estado |
||||
|
|
||||
# tenta buscar o logotipo da casa LOGO_CASA |
# tenta buscar o logotipo da casa LOGO_CASA |
||||
if hasattr(context.sapl_documentos.props_sapl,'logo_casa.gif'): |
if hasattr(context.sapl_documentos.props_sapl, 'logo_casa.gif'): |
||||
imagem = context.sapl_documentos.props_sapl['logo_casa.gif'].absolute_url() |
imagem = context.sapl_documentos.props_sapl['logo_casa.gif'].absolute_url() |
||||
else: |
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=[] |
protocolos = [] |
||||
REQUEST=context.REQUEST |
REQUEST = context.REQUEST |
||||
for protocolo in context.zsql.protocolo_pesquisar_zsql(tip_protocolo=REQUEST['rad_tip_protocolo'], |
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'], |
cod_protocolo=REQUEST['txt_num_protocolo'], ano_protocolo=REQUEST[ |
||||
tip_documento=REQUEST['lst_tip_documento'], tip_processo=REQUEST['rad_tip_processo'], |
'txt_ano_protocolo'], |
||||
tip_materia=REQUEST['lst_tip_materia'], des_assunto=REQUEST['txt_assunto'], |
tip_documento=REQUEST['lst_tip_documento'], tip_processo=REQUEST[ |
||||
cod_autor=REQUEST['hdn_cod_autor'], des_interessado=REQUEST['txa_txt_interessado'], |
'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']): |
dat_apres=REQUEST['dt_apres'], dat_apres2=REQUEST['dt_apres2']): |
||||
dic={} |
dic = {} |
||||
|
|
||||
dic['titulo']=str(protocolo.cod_protocolo) |
dic['titulo'] = str(protocolo.cod_protocolo) |
||||
|
|
||||
dic['ano']=str(protocolo.ano_protocolo) |
dic['ano'] = str(protocolo.ano_protocolo) |
||||
|
|
||||
dic['data']=context.pysc.iso_to_port_pysc(protocolo.dat_protocolo)+' - '+protocolo.hor_protocolo |
dic['data'] = context.pysc.iso_to_port_pysc( |
||||
|
protocolo.dat_protocolo) + ' - ' + protocolo.hor_protocolo |
||||
|
|
||||
dic['txt_assunto']=protocolo.txt_assunto_ementa |
dic['txt_assunto'] = protocolo.txt_assunto_ementa |
||||
|
|
||||
dic['txt_interessado']=protocolo.txt_interessado |
dic['txt_interessado'] = protocolo.txt_interessado |
||||
|
|
||||
dic['nom_autor'] = " " |
dic['nom_autor'] = " " |
||||
if protocolo.cod_autor!=None: |
if protocolo.cod_autor != None: |
||||
for autor in context.zsql.autor_obter_zsql(cod_autor=protocolo.cod_autor): |
for autor in context.zsql.autor_obter_zsql(cod_autor=protocolo.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): |
for parlamentar in context.zsql.parlamentar_obter_zsql(cod_parlamentar=autor.cod_parlamentar): |
||||
dic['nom_autor']=parlamentar.nom_completo |
dic['nom_autor'] = parlamentar.nom_completo |
||||
elif autor.des_tipo_autor=='Comissao': |
elif autor.des_tipo_autor == 'Comissao': |
||||
for comissao in context.zsql.comissao_obter_zsql(cod_comissao=autor.cod_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: |
else: |
||||
dic['nom_autor']=autor.nom_autor |
dic['nom_autor'] = autor.nom_autor |
||||
else: |
else: |
||||
dic['nom_autor']=protocolo.txt_interessado |
dic['nom_autor'] = protocolo.txt_interessado |
||||
|
|
||||
dic['natureza']='' |
dic['natureza'] = '' |
||||
if protocolo.tip_processo==0: |
if protocolo.tip_processo == 0: |
||||
dic['natureza']='Administrativo' |
dic['natureza'] = 'Administrativo' |
||||
if protocolo.tip_processo==1: |
if protocolo.tip_processo == 1: |
||||
dic['natureza']='Legislativo' |
dic['natureza'] = 'Legislativo' |
||||
|
|
||||
dic['ident_processo']=protocolo.des_tipo_materia or protocolo.des_tipo_documento |
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['sgl_processo'] = protocolo.sgl_tipo_materia or protocolo.sgl_tipo_documento |
||||
|
|
||||
dic['num_materia']='' |
dic['num_materia'] = '' |
||||
for materia in context.zsql.materia_obter_zsql(num_protocolo=protocolo.cod_protocolo,ano_ident_basica=protocolo.ano_protocolo): |
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_materia'] = str(materia.num_ident_basica) + \ |
||||
|
'/' + str(materia.ano_ident_basica) |
||||
|
|
||||
dic['num_documento']='' |
dic['num_documento'] = '' |
||||
for documento in context.zsql.documento_administrativo_obter_zsql(num_protocolo=protocolo.cod_protocolo): |
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_documento'] = str( |
||||
|
documento.num_documento) + '/' + str(documento.ano_documento) |
||||
|
|
||||
dic['num_processo']=dic['num_materia'] or dic['num_documento'] |
dic['num_processo'] = dic['num_materia'] or dic['num_documento'] |
||||
|
|
||||
dic['numeracao']='' |
dic['numeracao'] = '' |
||||
for materia_num in context.zsql.materia_obter_zsql(num_protocolo=protocolo.cod_protocolo,ano_ident_basica=protocolo.ano_protocolo): |
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): |
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['numeracao'] = 'PROCESSO N° ' + \ |
||||
|
str(numera.num_materia) + '/' + str(numera.ano_materia) |
||||
|
|
||||
dic['anulado']='' |
dic['anulado'] = '' |
||||
if protocolo.ind_anulado==1: |
if protocolo.ind_anulado == 1: |
||||
dic['anulado']='Nulo' |
dic['anulado'] = 'Nulo' |
||||
|
|
||||
protocolos.append(dic) |
protocolos.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 |
# Atribuições diretas do REQUEST |
||||
filtro['numero']=REQUEST.txt_num_protocolo |
filtro['numero'] = REQUEST.txt_num_protocolo |
||||
filtro['ano']=REQUEST.txt_ano_protocolo |
filtro['ano'] = REQUEST.txt_ano_protocolo |
||||
filtro['tipo_protocolo']=REQUEST.rad_tip_protocolo |
filtro['tipo_protocolo'] = REQUEST.rad_tip_protocolo |
||||
filtro['tipo_processo']=REQUEST.rad_tip_processo |
filtro['tipo_processo'] = REQUEST.rad_tip_processo |
||||
filtro['assunto']=REQUEST.txt_assunto |
filtro['assunto'] = REQUEST.txt_assunto |
||||
filtro['autor']=REQUEST.hdn_cod_autor |
filtro['autor'] = REQUEST.hdn_cod_autor |
||||
filtro['interessado']=REQUEST.txa_txt_interessado |
filtro['interessado'] = REQUEST.txa_txt_interessado |
||||
|
|
||||
sessao=session.id |
sessao = session.id |
||||
caminho = context.pdf_capa_processo_gerar(sessao,imagem,data,protocolos,cabecalho,rodape,filtro) |
caminho = context.pdf_capa_processo_gerar( |
||||
if caminho=='aviso': |
sessao, imagem, data, protocolos, cabecalho, rodape, filtro) |
||||
|
if caminho == 'aviso': |
||||
return response.redirect('mensagem_emitir_proc') |
return response.redirect('mensagem_emitir_proc') |
||||
else: |
else: |
||||
response.redirect(caminho) |
response.redirect(caminho) |
||||
|
@ -1,124 +1,135 @@ |
|||||
import os |
import os |
||||
|
|
||||
request=context.REQUEST |
request = context.REQUEST |
||||
response=request.RESPONSE |
response = request.RESPONSE |
||||
session= request.SESSION |
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 |
# Abaixo é gerada a string para o rodapé da página |
||||
casa={} |
casa = {} |
||||
aux=context.sapl_documentos.props_sapl.propertyItems() |
aux = context.sapl_documentos.props_sapl.propertyItems() |
||||
for item in aux: |
for item in aux: |
||||
casa[item[0]]=item[1] |
casa[item[0]] = item[1] |
||||
localidade=context.zsql.localidade_obter_zsql(cod_localidade=casa["cod_localidade"]) |
localidade = context.zsql.localidade_obter_zsql( |
||||
if len(casa["num_cep"])==8: |
cod_localidade=casa["cod_localidade"]) |
||||
cep=casa["num_cep"][:4]+"-"+casa["num_cep"][5:] |
if len(casa["num_cep"]) == 8: |
||||
|
cep = casa["num_cep"][:4] + "-" + casa["num_cep"][5:] |
||||
else: |
else: |
||||
cep="" |
cep = "" |
||||
|
|
||||
linha1=casa["end_casa"] |
linha1 = casa["end_casa"] |
||||
if cep!="": |
if cep != "": |
||||
if casa["end_casa"]!="" and casa["end_casa"]!=None: |
if casa["end_casa"] != "" and casa["end_casa"] != None: |
||||
linha1 = linha1 + " - " |
linha1 = linha1 + " - " |
||||
linha1 = linha1 + "CEP "+cep |
linha1 = linha1 + "CEP " + cep |
||||
if localidade[0].nom_localidade!="" and localidade[0].nom_localidade!=None: |
if localidade[0].nom_localidade != "" and localidade[0].nom_localidade != None: |
||||
linha1 = linha1 + " - "+localidade[0].nom_localidade+" "+localidade[0].sgl_uf |
linha1 = linha1 + " - " + \ |
||||
if casa["num_tel"]!="" and casa["num_tel"]!=None: |
localidade[0].nom_localidade + " " + localidade[0].sgl_uf |
||||
linha1 = linha1 + " Tel.: "+ casa["num_tel"] |
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: |
linha2 = casa["end_web_casa"] |
||||
if casa["end_web_casa"]!="" and casa["end_web_casa"]!=None: |
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 + " - " |
||||
linha2 = linha2 + "E-mail: "+casa["end_email_casa"] |
linha2 = linha2 + "E-mail: " + casa["end_email_casa"] |
||||
|
|
||||
data_emissao=DateTime().strftime("%d/%m/%Y") |
data_emissao = DateTime().strftime("%d/%m/%Y") |
||||
rodape=[linha1,linha2,data_emissao] |
rodape = [linha1, linha2, data_emissao] |
||||
|
|
||||
#Por fim, gera-se as entradas para o cabeçalho |
# Por fim, gera-se as entradas para o cabeçalho |
||||
estados=context.zsql.localidade_obter_zsql(tip_localidade="u") |
estados = context.zsql.localidade_obter_zsql(tip_localidade="u") |
||||
for uf in estados: |
for uf in estados: |
||||
if localidade[0].sgl_uf==uf.sgl_uf: |
if localidade[0].sgl_uf == uf.sgl_uf: |
||||
nom_estado=uf.nom_localidade |
nom_estado = uf.nom_localidade |
||||
break |
break |
||||
cabecalho={} |
cabecalho = {} |
||||
cabecalho["nom_casa"]=casa["nom_casa"] |
cabecalho["nom_casa"] = casa["nom_casa"] |
||||
cabecalho["nom_estado"]="Estado de "+nom_estado |
cabecalho["nom_estado"] = "Estado de " + nom_estado |
||||
|
|
||||
# tenta buscar o logotipo da casa LOGO_CASA |
# tenta buscar o logotipo da casa LOGO_CASA |
||||
if hasattr(context.sapl_documentos.props_sapl,'logo_casa.gif'): |
if hasattr(context.sapl_documentos.props_sapl, 'logo_casa.gif'): |
||||
imagem = context.sapl_documentos.props_sapl['logo_casa.gif'].absolute_url() |
imagem = context.sapl_documentos.props_sapl['logo_casa.gif'].absolute_url() |
||||
else: |
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=[] |
documentos = [] |
||||
REQUEST=context.REQUEST |
REQUEST = context.REQUEST |
||||
for documento in context.zsql.documento_administrativo_pesquisar_zsql(tip_documento=REQUEST['lst_tip_documento'], |
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_documento=REQUEST['txt_num_documento'], ano_documento=REQUEST[ |
||||
num_protocolo=REQUEST['txt_num_protocolo'], ind_tramitacao=REQUEST['rad_tramitando'], |
'txt_ano_documento'], |
||||
des_assunto=REQUEST['txa_txt_assunto'], cod_status=REQUEST['lst_status'], |
num_protocolo=REQUEST[ |
||||
txt_interessado=REQUEST['txa_txt_interessado'], dat_apres1=REQUEST['dt_apres1'], |
'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']): |
dat_apres2=REQUEST['dt_apres2'], rd_ordem=REQUEST['rd_ordenacao']): |
||||
dic={} |
dic = {} |
||||
|
|
||||
dic['titulo']=documento.sgl_tipo_documento+" "+str(documento.num_documento)+" "+str(documento.ano_documento)+" - "+documento.des_tipo_documento |
dic['titulo'] = documento.sgl_tipo_documento + " " + \ |
||||
dic['txt_assunto']=documento.txt_assunto |
str(documento.num_documento) + " " + \ |
||||
dic['txt_interessado']=documento.txt_interessado |
str(documento.ano_documento) + " - " + documento.des_tipo_documento |
||||
|
dic['txt_assunto'] = documento.txt_assunto |
||||
|
dic['txt_interessado'] = documento.txt_interessado |
||||
|
|
||||
des_status = '' |
des_status = '' |
||||
txt_tramitacao='' |
txt_tramitacao = '' |
||||
|
|
||||
dic['localizacao_atual']=" " |
dic['localizacao_atual'] = " " |
||||
for tramitacao in context.zsql.tramitacao_administrativo_obter_zsql(cod_documento=documento.cod_documento,ind_ult_tramitacao=1): |
for tramitacao in context.zsql.tramitacao_administrativo_obter_zsql(cod_documento=documento.cod_documento, ind_ult_tramitacao=1): |
||||
if tramitacao.cod_unid_tram_dest: |
if tramitacao.cod_unid_tram_dest: |
||||
cod_unid_tram = tramitacao.cod_unid_tram_dest |
cod_unid_tram = tramitacao.cod_unid_tram_dest |
||||
else: |
else: |
||||
cod_unid_tram = tramitacao.cod_unid_tram_local |
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: |
if unidade_tramitacao.cod_orgao: |
||||
dic['localizacao_atual']=unidade_tramitacao.nom_orgao |
dic['localizacao_atual'] = unidade_tramitacao.nom_orgao |
||||
else: |
else: |
||||
dic['localizacao_atual']=unidade_tramitacao.nom_comissao |
dic['localizacao_atual'] = unidade_tramitacao.nom_comissao |
||||
|
|
||||
des_status=tramitacao.des_status |
des_status = tramitacao.des_status |
||||
txt_tramitacao=tramitacao.txt_tramitacao |
txt_tramitacao = tramitacao.txt_tramitacao |
||||
|
|
||||
dic['des_situacao']=des_status |
dic['des_situacao'] = des_status |
||||
dic['ultima_acao']=txt_tramitacao |
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 |
# Atribuições diretas do REQUEST |
||||
filtro['numero']=REQUEST.txt_num_documento |
filtro['numero'] = REQUEST.txt_num_documento |
||||
filtro['ano']=REQUEST.txt_ano_documento |
filtro['ano'] = REQUEST.txt_ano_documento |
||||
filtro['interessado']=REQUEST.txa_txt_interessado |
filtro['interessado'] = REQUEST.txa_txt_interessado |
||||
filtro['assunto']=REQUEST.txa_txt_assunto |
filtro['assunto'] = REQUEST.txa_txt_assunto |
||||
|
|
||||
filtro['tipo_documento']='' |
filtro['tipo_documento'] = '' |
||||
if REQUEST.lst_tip_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): |
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['tipo_documento'] = tipo_documento.sgl_tipo_documento + \ |
||||
|
' - ' + tipo_documento.des_tipo_documento |
||||
filtro['tramitando']='' |
|
||||
if REQUEST.rad_tramitando=='1': |
filtro['tramitando'] = '' |
||||
filtro['tramitacao']='Sim' |
if REQUEST.rad_tramitando == '1': |
||||
elif REQUEST['rad_tramitando']=='0': |
filtro['tramitacao'] = 'Sim' |
||||
filtro['tramitacao']='Não' |
elif REQUEST['rad_tramitando'] == '0': |
||||
|
filtro['tramitacao'] = 'Não' |
||||
filtro['situacao_atual']='' |
|
||||
if REQUEST.lst_status!='': |
filtro['situacao_atual'] = '' |
||||
for status in context.zsql.status_tramitacao_administrativo_obter_zsql(ind_exluido=0,cod_status=REQUEST.lst_status): |
if REQUEST.lst_status != '': |
||||
filtro['situacao_atual']=status.sgl_status + ' - ' + status.des_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 + \ |
||||
sessao=session.id |
' - ' + status.des_status |
||||
caminho = context.pdf_documento_administrativo_gerar(sessao,imagem,data,documentos,cabecalho,rodape,filtro) |
|
||||
if caminho=='aviso': |
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') |
return response.redirect('mensagem_emitir_proc') |
||||
else: |
else: |
||||
response.redirect(caminho) |
response.redirect(caminho) |
||||
|
@ -1,200 +1,210 @@ |
|||||
import os |
import os |
||||
|
|
||||
request=context.REQUEST |
request = context.REQUEST |
||||
response=request.RESPONSE |
response = request.RESPONSE |
||||
session= request.SESSION |
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 |
# Abaixo é gerada a string para o rodapé da página |
||||
casa={} |
casa = {} |
||||
aux=context.sapl_documentos.props_sapl.propertyItems() |
aux = context.sapl_documentos.props_sapl.propertyItems() |
||||
for item in aux: |
for item in aux: |
||||
casa[item[0]]=item[1] |
casa[item[0]] = item[1] |
||||
localidade=context.zsql.localidade_obter_zsql(cod_localidade=casa["cod_localidade"]) |
localidade = context.zsql.localidade_obter_zsql( |
||||
if len(casa["num_cep"])==8: |
cod_localidade=casa["cod_localidade"]) |
||||
cep=casa["num_cep"][:4]+"-"+casa["num_cep"][5:] |
if len(casa["num_cep"]) == 8: |
||||
|
cep = casa["num_cep"][:4] + "-" + casa["num_cep"][5:] |
||||
else: |
else: |
||||
cep="" |
cep = "" |
||||
|
|
||||
linha1=casa["end_casa"] |
linha1 = casa["end_casa"] |
||||
if cep!="": |
if cep != "": |
||||
if casa["end_casa"]!="" and casa["end_casa"]!=None: |
if casa["end_casa"] != "" and casa["end_casa"] != None: |
||||
linha1 = linha1 + " - " |
linha1 = linha1 + " - " |
||||
linha1 = linha1 + "CEP "+cep |
linha1 = linha1 + "CEP " + cep |
||||
if localidade[0].nom_localidade!="" and localidade[0].nom_localidade!=None: |
if localidade[0].nom_localidade != "" and localidade[0].nom_localidade != None: |
||||
linha1 = linha1 + " - "+localidade[0].nom_localidade+" "+localidade[0].sgl_uf |
linha1 = linha1 + " - " + \ |
||||
if casa["num_tel"]!="" and casa["num_tel"]!=None: |
localidade[0].nom_localidade + " " + localidade[0].sgl_uf |
||||
linha1 = linha1 + " Tel.: "+ casa["num_tel"] |
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: |
linha2 = casa["end_web_casa"] |
||||
if casa["end_web_casa"]!="" and casa["end_web_casa"]!=None: |
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 + " - " |
||||
linha2 = linha2 + "E-mail: "+casa["end_email_casa"] |
linha2 = linha2 + "E-mail: " + casa["end_email_casa"] |
||||
|
|
||||
data_emissao=DateTime().strftime("%d/%m/%Y") |
data_emissao = DateTime().strftime("%d/%m/%Y") |
||||
rodape=[linha1,linha2,data_emissao] |
rodape = [linha1, linha2, data_emissao] |
||||
|
|
||||
#Por fim, gera-se as entradas para o cabeçalho |
# Por fim, gera-se as entradas para o cabeçalho |
||||
estados=context.zsql.localidade_obter_zsql(tip_localidade="u") |
estados = context.zsql.localidade_obter_zsql(tip_localidade="u") |
||||
for uf in estados: |
for uf in estados: |
||||
if localidade[0].sgl_uf==uf.sgl_uf: |
if localidade[0].sgl_uf == uf.sgl_uf: |
||||
nom_estado=uf.nom_localidade |
nom_estado = uf.nom_localidade |
||||
break |
break |
||||
cabecalho={} |
cabecalho = {} |
||||
cabecalho["nom_casa"]=casa["nom_casa"] |
cabecalho["nom_casa"] = casa["nom_casa"] |
||||
cabecalho["nom_estado"]="Estado de "+nom_estado |
cabecalho["nom_estado"] = "Estado de " + nom_estado |
||||
|
|
||||
# tenta buscar o logotipo da casa LOGO_CASA |
# tenta buscar o logotipo da casa LOGO_CASA |
||||
if hasattr(context.sapl_documentos.props_sapl,'logo_casa.gif'): |
if hasattr(context.sapl_documentos.props_sapl, 'logo_casa.gif'): |
||||
imagem = context.sapl_documentos.props_sapl['logo_casa.gif'].absolute_url() |
imagem = context.sapl_documentos.props_sapl['logo_casa.gif'].absolute_url() |
||||
else: |
else: |
||||
imagem = context.sapl_site.sapl_skin.imagens.absolute_url() + "/brasao_transp.gif" |
imagem = context.sapl_site.sapl_skin.imagens.absolute_url() + "/brasao_transp.gif" |
||||
|
|
||||
#Verifica o tamanho da lista das materias selecionadas vindas do form |
# Verifica o tamanho da lista das materias selecionadas vindas do form |
||||
REQUEST=context.REQUEST |
REQUEST = context.REQUEST |
||||
if REQUEST.txt_check=='1': |
if REQUEST.txt_check == '1': |
||||
cod_mat = REQUEST['check_ind'] |
cod_mat = REQUEST['check_ind'] |
||||
materias=[] |
materias = [] |
||||
REQUEST=context.REQUEST |
REQUEST = context.REQUEST |
||||
for materia in context.zsql.materia_obter_zsql(cod_materia=cod_mat): |
for materia in context.zsql.materia_obter_zsql(cod_materia=cod_mat): |
||||
dic={} |
dic = {} |
||||
dic['titulo']="INDICAÇÃO: "+str(materia.num_ident_basica)+" "+str(materia.ano_ident_basica) |
dic['titulo'] = "INDICAÇÃO: " + \ |
||||
dic['materia']=str(materia.num_ident_basica)+"/"+str(materia.ano_ident_basica) |
str(materia.num_ident_basica) + " " + str(materia.ano_ident_basica) |
||||
dic['dat_apresentacao']=materia.dat_apresentacao |
dic['materia'] = str(materia.num_ident_basica) + \ |
||||
dic['txt_ementa']=materia.txt_ementa |
"/" + str(materia.ano_ident_basica) |
||||
|
dic['dat_apresentacao'] = materia.dat_apresentacao |
||||
|
dic['txt_ementa'] = materia.txt_ementa |
||||
|
|
||||
dic['nom_autor'] = " " |
dic['nom_autor'] = " " |
||||
for autoria in context.zsql.autoria_obter_zsql(cod_materia=materia.cod_materia, ind_primeiro_autor=1): |
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): |
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): |
for parlamentar in context.zsql.parlamentar_obter_zsql(cod_parlamentar=autor.cod_parlamentar): |
||||
dic['nom_autor']=parlamentar.nom_completo |
dic['nom_autor'] = parlamentar.nom_completo |
||||
elif autor.des_tipo_autor=='Comissao': |
elif autor.des_tipo_autor == 'Comissao': |
||||
for comissao in context.zsql.comissao_obter_zsql(cod_comissao=autor.cod_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: |
else: |
||||
dic['nom_autor']=autor.nom_autor |
dic['nom_autor'] = autor.nom_autor |
||||
|
|
||||
des_status = '' |
des_status = '' |
||||
txt_tramitacao='' |
txt_tramitacao = '' |
||||
data_ultima_acao = '' |
data_ultima_acao = '' |
||||
|
|
||||
dic['localizacao_atual']=" " |
dic['localizacao_atual'] = " " |
||||
for tramitacao in context.zsql.tramitacao_obter_zsql(cod_materia=materia.cod_materia,ind_ult_tramitacao=1): |
for tramitacao in context.zsql.tramitacao_obter_zsql(cod_materia=materia.cod_materia, ind_ult_tramitacao=1): |
||||
if tramitacao.cod_unid_tram_dest: |
if tramitacao.cod_unid_tram_dest: |
||||
cod_unid_tram = tramitacao.cod_unid_tram_dest |
cod_unid_tram = tramitacao.cod_unid_tram_dest |
||||
else: |
else: |
||||
cod_unid_tram = tramitacao.cod_unid_tram_local |
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: |
if unidade_tramitacao.cod_orgao: |
||||
dic['localizacao_atual']=unidade_tramitacao.nom_orgao |
dic['localizacao_atual'] = unidade_tramitacao.nom_orgao |
||||
elif unidade_tramitacao.cod_parlamentar: |
elif unidade_tramitacao.cod_parlamentar: |
||||
dic['localizacao_atual']=unidade_tramitacao.nom_parlamentar |
dic['localizacao_atual'] = unidade_tramitacao.nom_parlamentar |
||||
else: |
else: |
||||
dic['localizacao_atual']=unidade_tramitacao.nom_comissao |
dic['localizacao_atual'] = unidade_tramitacao.nom_comissao |
||||
|
|
||||
des_status=tramitacao.des_status |
des_status = tramitacao.des_status |
||||
txt_tramitacao=tramitacao.txt_tramitacao |
txt_tramitacao = tramitacao.txt_tramitacao |
||||
data_ultima_acao = tramitacao.dat_tramitacao |
data_ultima_acao = tramitacao.dat_tramitacao |
||||
|
|
||||
dic['des_situacao']=des_status |
dic['des_situacao'] = des_status |
||||
dic['ultima_acao']=txt_tramitacao |
dic['ultima_acao'] = txt_tramitacao |
||||
dic['data_ultima_acao']=data_ultima_acao |
dic['data_ultima_acao'] = data_ultima_acao |
||||
|
|
||||
dic['norma_juridica_vinculada'] = "Não há nenhuma norma jurídica vinculada" |
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): |
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) |
materias.append(dic) |
||||
|
|
||||
else: |
else: |
||||
codigo = REQUEST.check_ind |
codigo = REQUEST.check_ind |
||||
materias=[] |
materias = [] |
||||
REQUEST=context.REQUEST |
REQUEST = context.REQUEST |
||||
for cod_mat in codigo: |
for cod_mat in codigo: |
||||
for materia in context.zsql.materia_obter_zsql(cod_materia=cod_mat): |
for materia in context.zsql.materia_obter_zsql(cod_materia=cod_mat): |
||||
dic={} |
dic = {} |
||||
dic['titulo']="INDICAÃÃO: "+str(materia.num_ident_basica)+" "+str(materia.ano_ident_basica) |
dic['titulo'] = "INDICAÃÃO: " + \ |
||||
dic['materia']=str(materia.num_ident_basica)+"/"+str(materia.ano_ident_basica) |
str(materia.num_ident_basica) + " " + \ |
||||
dic['dat_apresentacao']=materia.dat_apresentacao |
str(materia.ano_ident_basica) |
||||
dic['txt_ementa']=materia.txt_ementa |
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'] = " " |
dic['nom_autor'] = " " |
||||
for autoria in context.zsql.autoria_obter_zsql(cod_materia=materia.cod_materia, ind_primeiro_autor=1): |
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): |
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): |
for parlamentar in context.zsql.parlamentar_obter_zsql(cod_parlamentar=autor.cod_parlamentar): |
||||
dic['nom_autor']=parlamentar.nom_completo |
dic['nom_autor'] = parlamentar.nom_completo |
||||
elif autor.des_tipo_autor=='Comissao': |
elif autor.des_tipo_autor == 'Comissao': |
||||
for comissao in context.zsql.comissao_obter_zsql(cod_comissao=autor.cod_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: |
else: |
||||
dic['nom_autor']=autor.nom_autor |
dic['nom_autor'] = autor.nom_autor |
||||
|
|
||||
des_status = '' |
des_status = '' |
||||
txt_tramitacao='' |
txt_tramitacao = '' |
||||
data_ultima_acao = '' |
data_ultima_acao = '' |
||||
|
|
||||
dic['localizacao_atual']=" " |
dic['localizacao_atual'] = " " |
||||
for tramitacao in context.zsql.tramitacao_obter_zsql(cod_materia=materia.cod_materia,ind_ult_tramitacao=1): |
for tramitacao in context.zsql.tramitacao_obter_zsql(cod_materia=materia.cod_materia, ind_ult_tramitacao=1): |
||||
if tramitacao.cod_unid_tram_dest: |
if tramitacao.cod_unid_tram_dest: |
||||
cod_unid_tram = tramitacao.cod_unid_tram_dest |
cod_unid_tram = tramitacao.cod_unid_tram_dest |
||||
else: |
else: |
||||
cod_unid_tram = tramitacao.cod_unid_tram_local |
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: |
if unidade_tramitacao.cod_orgao: |
||||
dic['localizacao_atual']=unidade_tramitacao.nom_orgao |
dic['localizacao_atual'] = unidade_tramitacao.nom_orgao |
||||
elif unidade_tramitacao.cod_parlamentar: |
elif unidade_tramitacao.cod_parlamentar: |
||||
dic['localizacao_atual']=unidade_tramitacao.nom_parlamentar |
dic['localizacao_atual'] = unidade_tramitacao.nom_parlamentar |
||||
else: |
else: |
||||
dic['localizacao_atual']=unidade_tramitacao.nom_comissao |
dic['localizacao_atual'] = unidade_tramitacao.nom_comissao |
||||
|
|
||||
des_status=tramitacao.des_status |
des_status = tramitacao.des_status |
||||
txt_tramitacao=tramitacao.txt_tramitacao |
txt_tramitacao = tramitacao.txt_tramitacao |
||||
data_ultima_acao = tramitacao.dat_tramitacao |
data_ultima_acao = tramitacao.dat_tramitacao |
||||
|
|
||||
dic['des_situacao']=des_status |
dic['des_situacao'] = des_status |
||||
dic['ultima_acao']=txt_tramitacao |
dic['ultima_acao'] = txt_tramitacao |
||||
dic['data_ultima_acao']=data_ultima_acao |
dic['data_ultima_acao'] = data_ultima_acao |
||||
|
|
||||
dic['norma_juridica_vinculada'] = "Não há nenhuma norma jurídica vinculada" |
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): |
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) |
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 |
# Atribuições diretas do REQUEST |
||||
#filtro['data_apres']=REQUEST.data |
# filtro['data_apres']=REQUEST.data |
||||
|
|
||||
#filtro['tipo_materia']='' |
# filtro['tipo_materia']='' |
||||
#for tipo_materia in context.zsql.tipo_materia_legislativa_obter_zsql(ind_excluido=0, tip_materia=9): |
# 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['tipo_materia']= tipo_materia.sgl_tipo_materia + ' - ' + tipo_materia.des_tipo_materia |
||||
|
|
||||
#filtro['partido']='' |
# filtro['partido']='' |
||||
#if REQUEST.lst_cod_partido!='': |
# if REQUEST.lst_cod_partido!='': |
||||
# for partido in context.zsql.partido_obter_zsql(ind_excluido=0,cod_partido=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['partido']=partido.sgl_partido + ' - ' + partido.nom_partido |
||||
|
|
||||
#filtro['tramitando']='' |
# filtro['tramitando']='' |
||||
#if REQUEST.rad_tramitando=='1': |
# if REQUEST.rad_tramitando=='1': |
||||
# filtro['tramitacao']='Sim' |
# filtro['tramitacao']='Sim' |
||||
#elif REQUEST['rad_tramitando']=='0': |
# elif REQUEST['rad_tramitando']=='0': |
||||
# filtro['tramitacao']='Não' |
# filtro['tramitacao']='Não' |
||||
|
|
||||
#filtro['situacao_atual']='' |
# filtro['situacao_atual']='' |
||||
#if REQUEST.lst_status!='': |
# if REQUEST.lst_status!='': |
||||
# for status in context.zsql.status_tramitacao_obter_zsql(ind_exluido=0,cod_status=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 |
# filtro['situacao_atual']=status.sgl_status + ' - ' + status.des_status |
||||
|
|
||||
sessao=session.id |
sessao = session.id |
||||
caminho = context.pdf_espelho_gerar(sessao,imagem,data,materias,cabecalho,rodape,filtro) |
caminho = context.pdf_espelho_gerar( |
||||
if caminho=='aviso': |
sessao, imagem, data, materias, cabecalho, rodape, filtro) |
||||
|
if caminho == 'aviso': |
||||
return response.redirect('mensagem_emitir_proc') |
return response.redirect('mensagem_emitir_proc') |
||||
else: |
else: |
||||
response.redirect(caminho) |
response.redirect(caminho) |
||||
|
@ -1,127 +1,137 @@ |
|||||
import os |
import os |
||||
|
|
||||
request=context.REQUEST |
request = context.REQUEST |
||||
response=request.RESPONSE |
response = request.RESPONSE |
||||
session= request.SESSION |
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 |
# Abaixo é gerada a string para o rodapé da página |
||||
casa={} |
casa = {} |
||||
aux=context.sapl_documentos.props_sapl.propertyItems() |
aux = context.sapl_documentos.props_sapl.propertyItems() |
||||
for item in aux: |
for item in aux: |
||||
casa[item[0]]=item[1] |
casa[item[0]] = item[1] |
||||
localidade=context.zsql.localidade_obter_zsql(cod_localidade=casa["cod_localidade"]) |
localidade = context.zsql.localidade_obter_zsql( |
||||
if len(casa["num_cep"])==8: |
cod_localidade=casa["cod_localidade"]) |
||||
cep=casa["num_cep"][:4]+"-"+casa["num_cep"][5:] |
if len(casa["num_cep"]) == 8: |
||||
|
cep = casa["num_cep"][:4] + "-" + casa["num_cep"][5:] |
||||
else: |
else: |
||||
cep="" |
cep = "" |
||||
|
|
||||
linha1=casa["end_casa"] |
linha1 = casa["end_casa"] |
||||
if cep!="": |
if cep != "": |
||||
if casa["end_casa"]!="" and casa["end_casa"]!=None: |
if casa["end_casa"] != "" and casa["end_casa"] != None: |
||||
linha1 = linha1 + " - " |
linha1 = linha1 + " - " |
||||
linha1 = linha1 + "CEP "+cep |
linha1 = linha1 + "CEP " + cep |
||||
if localidade[0].nom_localidade!="" and localidade[0].nom_localidade!=None: |
if localidade[0].nom_localidade != "" and localidade[0].nom_localidade != None: |
||||
linha1 = linha1 + " - "+localidade[0].nom_localidade+" "+localidade[0].sgl_uf |
linha1 = linha1 + " - " + \ |
||||
if casa["num_tel"]!="" and casa["num_tel"]!=None: |
localidade[0].nom_localidade + " " + localidade[0].sgl_uf |
||||
linha1 = linha1 + " Tel.: "+ casa["num_tel"] |
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: |
linha2 = casa["end_web_casa"] |
||||
if casa["end_web_casa"]!="" and casa["end_web_casa"]!=None: |
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 + " - " |
||||
linha2 = linha2 + "E-mail: "+casa["end_email_casa"] |
linha2 = linha2 + "E-mail: " + casa["end_email_casa"] |
||||
|
|
||||
data_emissao=DateTime().strftime("%d/%m/%Y") |
data_emissao = DateTime().strftime("%d/%m/%Y") |
||||
rodape=[linha1,linha2,data_emissao] |
rodape = [linha1, linha2, data_emissao] |
||||
|
|
||||
#Por fim, gera-se as entradas para o cabeçalho |
# Por fim, gera-se as entradas para o cabeçalho |
||||
estados=context.zsql.localidade_obter_zsql(tip_localidade="u") |
estados = context.zsql.localidade_obter_zsql(tip_localidade="u") |
||||
for uf in estados: |
for uf in estados: |
||||
if localidade[0].sgl_uf==uf.sgl_uf: |
if localidade[0].sgl_uf == uf.sgl_uf: |
||||
nom_estado=uf.nom_localidade |
nom_estado = uf.nom_localidade |
||||
break |
break |
||||
cabecalho={} |
cabecalho = {} |
||||
cabecalho["nom_casa"]=casa["nom_casa"] |
cabecalho["nom_casa"] = casa["nom_casa"] |
||||
cabecalho["nom_estado"]="Estado de "+nom_estado |
cabecalho["nom_estado"] = "Estado de " + nom_estado |
||||
|
|
||||
# tenta buscar o logotipo da casa LOGO_CASA |
# tenta buscar o logotipo da casa LOGO_CASA |
||||
if hasattr(context.sapl_documentos.props_sapl,'logo_casa.gif'): |
if hasattr(context.sapl_documentos.props_sapl, 'logo_casa.gif'): |
||||
imagem = context.sapl_documentos.props_sapl['logo_casa.gif'].absolute_url() |
imagem = context.sapl_documentos.props_sapl['logo_casa.gif'].absolute_url() |
||||
else: |
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=[] |
protocolos = [] |
||||
REQUEST=context.REQUEST |
REQUEST = context.REQUEST |
||||
for protocolo in context.zsql.protocolo_pesquisar_zsql(tip_protocolo=REQUEST['rad_tip_protocolo'], |
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'], |
cod_protocolo=REQUEST['txt_num_protocolo'], ano_protocolo=REQUEST[ |
||||
tip_documento=REQUEST['lst_tip_documento'], tip_processo=REQUEST['rad_tip_processo'], |
'txt_ano_protocolo'], |
||||
tip_materia=REQUEST['lst_tip_materia'], des_assunto=REQUEST['txt_assunto'], |
tip_documento=REQUEST['lst_tip_documento'], tip_processo=REQUEST[ |
||||
cod_autor=REQUEST['hdn_cod_autor'], des_interessado=REQUEST['txa_txt_interessado'], |
'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']): |
dat_apres=REQUEST['dt_apres'], dat_apres2=REQUEST['dt_apres2']): |
||||
dic={} |
dic = {} |
||||
|
|
||||
dic['titulo']=str(protocolo.cod_protocolo) |
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['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_assunto'] = protocolo.txt_assunto_ementa |
||||
|
|
||||
dic['txt_interessado']=protocolo.txt_interessado |
dic['txt_interessado'] = protocolo.txt_interessado |
||||
|
|
||||
dic['nom_autor'] = " " |
dic['nom_autor'] = " " |
||||
if protocolo.cod_autor!=None: |
if protocolo.cod_autor != None: |
||||
for autor in context.zsql.autor_obter_zsql(cod_autor=protocolo.cod_autor): |
for autor in context.zsql.autor_obter_zsql(cod_autor=protocolo.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): |
for parlamentar in context.zsql.parlamentar_obter_zsql(cod_parlamentar=autor.cod_parlamentar): |
||||
dic['nom_autor']=parlamentar.nom_completo |
dic['nom_autor'] = parlamentar.nom_completo |
||||
elif autor.des_tipo_autor=='Comissao': |
elif autor.des_tipo_autor == 'Comissao': |
||||
for comissao in context.zsql.comissao_obter_zsql(cod_comissao=autor.cod_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: |
else: |
||||
dic['nom_autor']=autor.nom_autor |
dic['nom_autor'] = autor.nom_autor |
||||
|
|
||||
dic['natureza']='' |
dic['natureza'] = '' |
||||
if protocolo.tip_processo==0: |
if protocolo.tip_processo == 0: |
||||
dic['natureza']='Administrativo' |
dic['natureza'] = 'Administrativo' |
||||
if protocolo.tip_processo==1: |
if protocolo.tip_processo == 1: |
||||
dic['natureza']='Legislativo' |
dic['natureza'] = 'Legislativo' |
||||
|
|
||||
dic['num_materia']='' |
dic['num_materia'] = '' |
||||
for materia in context.zsql.materia_obter_zsql(num_protocolo=protocolo.cod_protocolo,ano_ident_basica=protocolo.ano_protocolo): |
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_materia'] = materia.sgl_tipo_materia + ' ' + \ |
||||
|
str(materia.num_ident_basica) + '/' + str(materia.ano_ident_basica) |
||||
|
|
||||
dic['num_documento']='' |
dic['num_documento'] = '' |
||||
for documento in context.zsql.documento_administrativo_obter_zsql(num_protocolo=protocolo.cod_protocolo): |
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['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['ident_processo'] = dic['num_materia'] or dic['num_documento'] |
||||
|
|
||||
dic['processo']=protocolo.des_tipo_materia or protocolo.des_tipo_documento |
dic['processo'] = protocolo.des_tipo_materia or protocolo.des_tipo_documento |
||||
|
|
||||
dic['anulado']='' |
dic['anulado'] = '' |
||||
if protocolo.ind_anulado==1: |
if protocolo.ind_anulado == 1: |
||||
dic['anulado']='Nulo' |
dic['anulado'] = 'Nulo' |
||||
|
|
||||
protocolos.append(dic) |
protocolos.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 |
# Atribuições diretas do REQUEST |
||||
filtro['numero']=REQUEST.txt_num_protocolo |
filtro['numero'] = REQUEST.txt_num_protocolo |
||||
filtro['ano']=REQUEST.txt_ano_protocolo |
filtro['ano'] = REQUEST.txt_ano_protocolo |
||||
filtro['tipo_protocolo']=REQUEST.rad_tip_protocolo |
filtro['tipo_protocolo'] = REQUEST.rad_tip_protocolo |
||||
filtro['tipo_processo']=REQUEST.rad_tip_processo |
filtro['tipo_processo'] = REQUEST.rad_tip_processo |
||||
filtro['assunto']=REQUEST.txt_assunto |
filtro['assunto'] = REQUEST.txt_assunto |
||||
filtro['autor']=REQUEST.hdn_cod_autor |
filtro['autor'] = REQUEST.hdn_cod_autor |
||||
filtro['interessado']=REQUEST.txa_txt_interessado |
filtro['interessado'] = REQUEST.txa_txt_interessado |
||||
|
|
||||
sessao=session.id |
sessao = session.id |
||||
caminho = context.pdf_etiqueta_protocolo_gerar(sessao,imagem,data,protocolos,cabecalho,rodape,filtro) |
caminho = context.pdf_etiqueta_protocolo_gerar( |
||||
if caminho=='aviso': |
sessao, imagem, data, protocolos, cabecalho, rodape, filtro) |
||||
|
if caminho == 'aviso': |
||||
return response.redirect('mensagem_emitir_proc') |
return response.redirect('mensagem_emitir_proc') |
||||
else: |
else: |
||||
response.redirect(caminho) |
response.redirect(caminho) |
||||
|
@ -1,155 +1,169 @@ |
|||||
import os |
import os |
||||
|
|
||||
request=context.REQUEST |
request = context.REQUEST |
||||
#print request |
# print request |
||||
#return printed |
# return printed |
||||
response=request.RESPONSE |
response = request.RESPONSE |
||||
session= request.SESSION |
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 |
# Abaixo é gerada a string para o rodapé da página |
||||
casa={} |
casa = {} |
||||
aux=context.sapl_documentos.props_sapl.propertyItems() |
aux = context.sapl_documentos.props_sapl.propertyItems() |
||||
for item in aux: |
for item in aux: |
||||
casa[item[0]]=item[1] |
casa[item[0]] = item[1] |
||||
localidade=context.zsql.localidade_obter_zsql(cod_localidade=casa["cod_localidade"]) |
localidade = context.zsql.localidade_obter_zsql( |
||||
if len(casa["num_cep"])==8: |
cod_localidade=casa["cod_localidade"]) |
||||
cep=casa["num_cep"][:4]+"-"+casa["num_cep"][5:] |
if len(casa["num_cep"]) == 8: |
||||
|
cep = casa["num_cep"][:4] + "-" + casa["num_cep"][5:] |
||||
else: |
else: |
||||
cep="" |
cep = "" |
||||
|
|
||||
linha1=casa["end_casa"] |
linha1 = casa["end_casa"] |
||||
if cep!="": |
if cep != "": |
||||
if casa["end_casa"]!="" and casa["end_casa"]!=None: |
if casa["end_casa"] != "" and casa["end_casa"] != None: |
||||
linha1 = linha1 + " - " |
linha1 = linha1 + " - " |
||||
linha1 = linha1 + "CEP "+cep |
linha1 = linha1 + "CEP " + cep |
||||
if localidade[0].nom_localidade!="" and localidade[0].nom_localidade!=None: |
if localidade[0].nom_localidade != "" and localidade[0].nom_localidade != None: |
||||
linha1 = linha1 + " - "+localidade[0].nom_localidade+" "+localidade[0].sgl_uf |
linha1 = linha1 + " - " + \ |
||||
if casa["num_tel"]!="" and casa["num_tel"]!=None: |
localidade[0].nom_localidade + " " + localidade[0].sgl_uf |
||||
linha1 = linha1 + " Tel.: "+ casa["num_tel"] |
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: |
linha2 = casa["end_web_casa"] |
||||
if casa["end_web_casa"]!="" and casa["end_web_casa"]!=None: |
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 + " - " |
||||
linha2 = linha2 + "E-mail: "+casa["end_email_casa"] |
linha2 = linha2 + "E-mail: " + casa["end_email_casa"] |
||||
|
|
||||
data_emissao=DateTime().strftime("%d/%m/%Y") |
data_emissao = DateTime().strftime("%d/%m/%Y") |
||||
rodape=[linha1,linha2,data_emissao] |
rodape = [linha1, linha2, data_emissao] |
||||
|
|
||||
#Por fim, gera-se as entradas para o cabeçalho |
# Por fim, gera-se as entradas para o cabeçalho |
||||
estados=context.zsql.localidade_obter_zsql(tip_localidade="u") |
estados = context.zsql.localidade_obter_zsql(tip_localidade="u") |
||||
for uf in estados: |
for uf in estados: |
||||
if localidade[0].sgl_uf==uf.sgl_uf: |
if localidade[0].sgl_uf == uf.sgl_uf: |
||||
nom_estado=uf.nom_localidade |
nom_estado = uf.nom_localidade |
||||
break |
break |
||||
cabecalho={} |
cabecalho = {} |
||||
cabecalho["nom_casa"]=casa["nom_casa"] |
cabecalho["nom_casa"] = casa["nom_casa"] |
||||
cabecalho["nom_estado"]="Estado de "+nom_estado |
cabecalho["nom_estado"] = "Estado de " + nom_estado |
||||
|
|
||||
# tenta buscar o logotipo da casa LOGO_CASA |
# tenta buscar o logotipo da casa LOGO_CASA |
||||
if hasattr(context.sapl_documentos.props_sapl,'logo_casa.gif'): |
if hasattr(context.sapl_documentos.props_sapl, 'logo_casa.gif'): |
||||
imagem = context.sapl_documentos.props_sapl['logo_casa.gif'].absolute_url() |
imagem = context.sapl_documentos.props_sapl['logo_casa.gif'].absolute_url() |
||||
else: |
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=[] |
materias = [] |
||||
REQUEST=context.REQUEST |
REQUEST = context.REQUEST |
||||
for materia in context.zsql.materia_pesquisar_zsql(tip_id_basica=REQUEST['lst_tip_materia'], num_ident_basica=REQUEST['txt_numero'], |
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'], |
ano_ident_basica=REQUEST[ |
||||
des_assunto=REQUEST['txt_assunto'], nom_relator=REQUEST['txt_relator'], |
'txt_ano'], ind_tramitacao=REQUEST['rad_tramitando'], |
||||
cod_status=REQUEST['lst_status'], des_tipo_autor=REQUEST['lst_tip_autor'], |
des_assunto=REQUEST[ |
||||
dat_apresentacao=REQUEST['dt_apres'], dat_apresentacao2=REQUEST['dt_apres2'], |
'txt_assunto'], nom_relator=REQUEST['txt_relator'], |
||||
dat_publicacao=REQUEST['dt_public'], dat_publicacao2=REQUEST['dt_public2'], |
cod_status=REQUEST['lst_status'], des_tipo_autor=REQUEST[ |
||||
cod_partido=REQUEST['lst_cod_partido'],cod_autor=REQUEST['hdn_cod_autor'], |
'lst_tip_autor'], |
||||
rd_ordem=REQUEST['rd_ordenacao'],rd_ordem_td=REQUEST['rd_ordem_td']): |
dat_apresentacao=REQUEST[ |
||||
|
'dt_apres'], dat_apresentacao2=REQUEST['dt_apres2'], |
||||
dic={} |
dat_publicacao=REQUEST[ |
||||
|
'dt_public'], dat_publicacao2=REQUEST['dt_public2'], |
||||
dic['titulo']=materia.sgl_tipo_materia+" "+materia.des_tipo_materia+" "+str(materia.num_ident_basica)+"/"+str(materia.ano_ident_basica) |
cod_partido=REQUEST['lst_cod_partido'], cod_autor=REQUEST[ |
||||
dic['txt_ementa']=materia.txt_ementa |
'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'] = " " |
dic['nom_autor'] = " " |
||||
for autoria in context.zsql.autoria_obter_zsql(cod_materia=materia.cod_materia): |
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): |
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): |
for parlamentar in context.zsql.parlamentar_obter_zsql(cod_parlamentar=autor.cod_parlamentar): |
||||
dic['nom_autor']=parlamentar.nom_completo |
dic['nom_autor'] = parlamentar.nom_completo |
||||
elif autor.des_tipo_autor=='Comissao': |
elif autor.des_tipo_autor == 'Comissao': |
||||
for comissao in context.zsql.comissao_obter_zsql(cod_comissao=autor.cod_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: |
else: |
||||
dic['nom_autor']=autor.nom_autor |
dic['nom_autor'] = autor.nom_autor |
||||
|
|
||||
des_status = '' |
des_status = '' |
||||
txt_tramitacao='' |
txt_tramitacao = '' |
||||
|
|
||||
dic['localizacao_atual']=" " |
dic['localizacao_atual'] = " " |
||||
for tramitacao in context.zsql.tramitacao_obter_zsql(cod_materia=materia.cod_materia,ind_ult_tramitacao=1): |
for tramitacao in context.zsql.tramitacao_obter_zsql(cod_materia=materia.cod_materia, ind_ult_tramitacao=1): |
||||
if tramitacao.cod_unid_tram_dest: |
if tramitacao.cod_unid_tram_dest: |
||||
cod_unid_tram = tramitacao.cod_unid_tram_dest |
cod_unid_tram = tramitacao.cod_unid_tram_dest |
||||
else: |
else: |
||||
cod_unid_tram = tramitacao.cod_unid_tram_local |
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: |
if unidade_tramitacao.cod_orgao: |
||||
dic['localizacao_atual']=unidade_tramitacao.nom_orgao |
dic['localizacao_atual'] = unidade_tramitacao.nom_orgao |
||||
else: |
else: |
||||
dic['localizacao_atual']=unidade_tramitacao.nom_comissao |
dic['localizacao_atual'] = unidade_tramitacao.nom_comissao |
||||
|
|
||||
des_status=tramitacao.des_status |
des_status = tramitacao.des_status |
||||
txt_tramitacao=tramitacao.txt_tramitacao |
txt_tramitacao = tramitacao.txt_tramitacao |
||||
|
|
||||
dic['des_situacao']=des_status |
dic['des_situacao'] = des_status |
||||
dic['ultima_acao']=txt_tramitacao |
dic['ultima_acao'] = txt_tramitacao |
||||
|
|
||||
|
dic['norma_vinculada'] = " " |
||||
dic['norma_vinculada']=" " |
|
||||
for norma_vinculada in context.zsql.materia_buscar_norma_juridica_zsql(cod_materia=materia.cod_materia): |
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'] = 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 |
# Atribuições diretas do REQUEST |
||||
filtro['numero']=REQUEST.txt_numero |
filtro['numero'] = REQUEST.txt_numero |
||||
filtro['ano']=REQUEST.txt_ano |
filtro['ano'] = REQUEST.txt_ano |
||||
filtro['autor']=REQUEST.hdn_txt_autor |
filtro['autor'] = REQUEST.hdn_txt_autor |
||||
filtro['tipo_autor']=REQUEST.lst_tip_autor |
filtro['tipo_autor'] = REQUEST.lst_tip_autor |
||||
filtro['relator']=REQUEST.txt_relator |
filtro['relator'] = REQUEST.txt_relator |
||||
filtro['assunto']=REQUEST.txt_assunto |
filtro['assunto'] = REQUEST.txt_assunto |
||||
|
|
||||
# Atribuição do restante dos dados que precisam de processamento |
# Atribuição do restante dos dados que precisam de processamento |
||||
if REQUEST.hdn_txt_autor==' ': # Corrige bug do Netscape |
if REQUEST.hdn_txt_autor == ' ': # Corrige bug do Netscape |
||||
filtro['autor']='' |
filtro['autor'] = '' |
||||
|
|
||||
filtro['tipo_materia']='' |
filtro['tipo_materia'] = '' |
||||
if REQUEST.lst_tip_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): |
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['tipo_materia'] = tipo_materia.sgl_tipo_materia + \ |
||||
|
' - ' + tipo_materia.des_tipo_materia |
||||
filtro['partido']='' |
|
||||
if REQUEST.lst_cod_partido!='': |
filtro['partido'] = '' |
||||
for partido in context.zsql.partido_obter_zsql(ind_excluido=0,cod_partido=REQUEST.lst_cod_partido): |
if REQUEST.lst_cod_partido != '': |
||||
filtro['partido']=partido.sgl_partido + ' - ' + partido.nom_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'] = '' |
||||
filtro['tramitacao']='Sim' |
if REQUEST.rad_tramitando == '1': |
||||
elif REQUEST['rad_tramitando']=='0': |
filtro['tramitacao'] = 'Sim' |
||||
filtro['tramitacao']='Não' |
elif REQUEST['rad_tramitando'] == '0': |
||||
|
filtro['tramitacao'] = 'Não' |
||||
filtro['situacao_atual']='' |
|
||||
if REQUEST.lst_status!='': |
filtro['situacao_atual'] = '' |
||||
for status in context.zsql.status_tramitacao_obter_zsql(ind_excluido=0,cod_status=REQUEST.lst_status): |
if REQUEST.lst_status != '': |
||||
filtro['situacao_atual']=status.sgl_status + ' - ' + status.des_status |
for status in context.zsql.status_tramitacao_obter_zsql(ind_excluido=0, cod_status=REQUEST.lst_status): |
||||
|
filtro['situacao_atual'] = status.sgl_status + \ |
||||
sessao=session.id |
' - ' + status.des_status |
||||
caminho = context.pdf_materia_gerar(sessao,imagem,data,materias,cabecalho,rodape,filtro) |
|
||||
if caminho=='aviso': |
sessao = session.id |
||||
|
caminho = context.pdf_materia_gerar( |
||||
|
sessao, imagem, data, materias, cabecalho, rodape, filtro) |
||||
|
if caminho == 'aviso': |
||||
return response.redirect('mensagem_emitir_proc') |
return response.redirect('mensagem_emitir_proc') |
||||
else: |
else: |
||||
response.redirect(caminho) |
response.redirect(caminho) |
||||
|
@ -1,94 +1,105 @@ |
|||||
import os |
import os |
||||
|
|
||||
request=context.REQUEST |
request = context.REQUEST |
||||
response=request.RESPONSE |
response = request.RESPONSE |
||||
session= request.SESSION |
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 |
# Abaixo é gerada a string para o rodapé da página |
||||
casa={} |
casa = {} |
||||
aux=context.sapl_documentos.props_sapl.propertyItems() |
aux = context.sapl_documentos.props_sapl.propertyItems() |
||||
for item in aux: |
for item in aux: |
||||
casa[item[0]]=item[1] |
casa[item[0]] = item[1] |
||||
localidade=context.zsql.localidade_obter_zsql(cod_localidade=casa["cod_localidade"]) |
localidade = context.zsql.localidade_obter_zsql( |
||||
if len(casa["num_cep"])==8: |
cod_localidade=casa["cod_localidade"]) |
||||
cep=casa["num_cep"][:4]+"-"+casa["num_cep"][5:] |
if len(casa["num_cep"]) == 8: |
||||
|
cep = casa["num_cep"][:4] + "-" + casa["num_cep"][5:] |
||||
else: |
else: |
||||
cep="" |
cep = "" |
||||
|
|
||||
linha1=casa["end_casa"] |
linha1 = casa["end_casa"] |
||||
if cep!="": |
if cep != "": |
||||
if casa["end_casa"]!="" and casa["end_casa"]!=None: |
if casa["end_casa"] != "" and casa["end_casa"] != None: |
||||
linha1 = linha1 + " - " |
linha1 = linha1 + " - " |
||||
linha1 = linha1 + "CEP "+cep |
linha1 = linha1 + "CEP " + cep |
||||
if localidade[0].nom_localidade!="" and localidade[0].nom_localidade!=None: |
if localidade[0].nom_localidade != "" and localidade[0].nom_localidade != None: |
||||
linha1 = linha1 + " - "+localidade[0].nom_localidade+" "+localidade[0].sgl_uf |
linha1 = linha1 + " - " + \ |
||||
if casa["num_tel"]!="" and casa["num_tel"]!=None: |
localidade[0].nom_localidade + " " + localidade[0].sgl_uf |
||||
linha1 = linha1 + " Tel.: "+ casa["num_tel"] |
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: |
linha2 = casa["end_web_casa"] |
||||
if casa["end_web_casa"]!="" and casa["end_web_casa"]!=None: |
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 + " - " |
||||
linha2 = linha2 + "E-mail: "+casa["end_email_casa"] |
linha2 = linha2 + "E-mail: " + casa["end_email_casa"] |
||||
|
|
||||
data_emissao=DateTime().strftime("%d/%m/%Y") |
data_emissao = DateTime().strftime("%d/%m/%Y") |
||||
rodape=[linha1,linha2,data_emissao] |
rodape = [linha1, linha2, data_emissao] |
||||
|
|
||||
#Por fim, gera-se as entradas para o cabeçalho |
# Por fim, gera-se as entradas para o cabeçalho |
||||
estados=context.zsql.localidade_obter_zsql(tip_localidade="u") |
estados = context.zsql.localidade_obter_zsql(tip_localidade="u") |
||||
for uf in estados: |
for uf in estados: |
||||
if localidade[0].sgl_uf==uf.sgl_uf: |
if localidade[0].sgl_uf == uf.sgl_uf: |
||||
nom_estado=uf.nom_localidade |
nom_estado = uf.nom_localidade |
||||
break |
break |
||||
cabecalho={} |
cabecalho = {} |
||||
cabecalho["nom_casa"]=casa["nom_casa"] |
cabecalho["nom_casa"] = casa["nom_casa"] |
||||
cabecalho["nom_estado"]="Estado de "+nom_estado |
cabecalho["nom_estado"] = "Estado de " + nom_estado |
||||
|
|
||||
# tenta buscar o logotipo da casa LOGO_CASA |
# tenta buscar o logotipo da casa LOGO_CASA |
||||
if hasattr(context.sapl_documentos.props_sapl,'logo_casa.gif'): |
if hasattr(context.sapl_documentos.props_sapl, 'logo_casa.gif'): |
||||
imagem = context.sapl_documentos.props_sapl['logo_casa.gif'].absolute_url() |
imagem = context.sapl_documentos.props_sapl['logo_casa.gif'].absolute_url() |
||||
else: |
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=[] |
normas = [] |
||||
REQUEST=context.REQUEST |
REQUEST = context.REQUEST |
||||
for norma in context.zsql.norma_juridica_obter_zsql(tip_norma=REQUEST['lst_tip_norma'], num_norma=REQUEST['txt_numero'], |
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'], |
ano_norma=REQUEST['txt_ano'], des_assunto=REQUEST[ |
||||
cod_assunto=REQUEST['lst_assunto_norma'], dat_norma=REQUEST['dt_norma'], |
'txt_assunto'], |
||||
dat_norma2=REQUEST['dt_norma2'], dat_publicacao=REQUEST['dt_public'], |
cod_assunto=REQUEST[ |
||||
dat_publicacao2=REQUEST['dt_public2'],rd_ordem=REQUEST['rd_ordenacao']): |
'lst_assunto_norma'], dat_norma=REQUEST['dt_norma'], |
||||
|
dat_norma2=REQUEST[ |
||||
dic={} |
'dt_norma2'], dat_publicacao=REQUEST['dt_public'], |
||||
|
dat_publicacao2=REQUEST['dt_public2'], rd_ordem=REQUEST['rd_ordenacao']): |
||||
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 = {} |
||||
|
|
||||
dic['materia_vinculada']=" " |
dic['titulo'] = norma.sgl_tipo_norma + " Nº " + \ |
||||
if norma.cod_materia!=None: |
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)): |
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'] = 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 |
# Atribuições diretas do REQUEST |
||||
filtro['numero']=REQUEST.txt_numero |
filtro['numero'] = REQUEST.txt_numero |
||||
filtro['ano']=REQUEST.txt_ano |
filtro['ano'] = REQUEST.txt_ano |
||||
filtro['assunto']=REQUEST.txt_assunto |
filtro['assunto'] = REQUEST.txt_assunto |
||||
|
|
||||
filtro['tipo_norma']='' |
filtro['tipo_norma'] = '' |
||||
if REQUEST.lst_tip_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): |
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 |
filtro['tipo_norma'] = tipo_norma.sgl_tipo_norma + \ |
||||
|
' - ' + tipo_norma.des_tipo_norma |
||||
|
|
||||
sessao=session.id |
sessao = session.id |
||||
caminho = context.pdf_norma_gerar(sessao,imagem,data,normas,cabecalho,rodape,filtro) |
caminho = context.pdf_norma_gerar( |
||||
if caminho=='aviso': |
sessao, imagem, data, normas, cabecalho, rodape, filtro) |
||||
|
if caminho == 'aviso': |
||||
return response.redirect('mensagem_emitir_proc') |
return response.redirect('mensagem_emitir_proc') |
||||
else: |
else: |
||||
response.redirect(caminho) |
response.redirect(caminho) |
||||
|
@ -1,117 +1,126 @@ |
|||||
import os |
import os |
||||
|
|
||||
request=context.REQUEST |
request = context.REQUEST |
||||
response=request.RESPONSE |
response = request.RESPONSE |
||||
session= request.SESSION |
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 |
# Abaixo é gerada a string para o rodapé da página |
||||
casa={} |
casa = {} |
||||
aux=context.sapl_documentos.props_sapl.propertyItems() |
aux = context.sapl_documentos.props_sapl.propertyItems() |
||||
for item in aux: |
for item in aux: |
||||
casa[item[0]]=item[1] |
casa[item[0]] = item[1] |
||||
localidade=context.zsql.localidade_obter_zsql(cod_localidade=casa["cod_localidade"]) |
localidade = context.zsql.localidade_obter_zsql( |
||||
if len(casa["num_cep"])==8: |
cod_localidade=casa["cod_localidade"]) |
||||
cep=casa["num_cep"][:4]+"-"+casa["num_cep"][5:] |
if len(casa["num_cep"]) == 8: |
||||
|
cep = casa["num_cep"][:4] + "-" + casa["num_cep"][5:] |
||||
else: |
else: |
||||
cep="" |
cep = "" |
||||
|
|
||||
linha1=casa["end_casa"] |
linha1 = casa["end_casa"] |
||||
if cep!="": |
if cep != "": |
||||
if casa["end_casa"]!="" and casa["end_casa"]!=None: |
if casa["end_casa"] != "" and casa["end_casa"] != None: |
||||
linha1 = linha1 + " - " |
linha1 = linha1 + " - " |
||||
linha1 = linha1 + "CEP "+cep |
linha1 = linha1 + "CEP " + cep |
||||
if localidade[0].nom_localidade!="" and localidade[0].nom_localidade!=None: |
if localidade[0].nom_localidade != "" and localidade[0].nom_localidade != None: |
||||
linha1 = linha1 + " - "+localidade[0].nom_localidade+" "+localidade[0].sgl_uf |
linha1 = linha1 + " - " + \ |
||||
if casa["num_tel"]!="" and casa["num_tel"]!=None: |
localidade[0].nom_localidade + " " + localidade[0].sgl_uf |
||||
linha1 = linha1 + " Tel.: "+ casa["num_tel"] |
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: |
linha2 = casa["end_web_casa"] |
||||
if casa["end_web_casa"]!="" and casa["end_web_casa"]!=None: |
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 + " - " |
||||
linha2 = linha2 + "E-mail: "+casa["end_email_casa"] |
linha2 = linha2 + "E-mail: " + casa["end_email_casa"] |
||||
|
|
||||
data_emissao=DateTime().strftime("%d/%m/%Y") |
data_emissao = DateTime().strftime("%d/%m/%Y") |
||||
rodape=[linha1,linha2,data_emissao] |
rodape = [linha1, linha2, data_emissao] |
||||
|
|
||||
#Por fim, gera-se as entradas para o cabeçalho |
# Por fim, gera-se as entradas para o cabeçalho |
||||
estados=context.zsql.localidade_obter_zsql(tip_localidade="u") |
estados = context.zsql.localidade_obter_zsql(tip_localidade="u") |
||||
for uf in estados: |
for uf in estados: |
||||
if localidade[0].sgl_uf==uf.sgl_uf: |
if localidade[0].sgl_uf == uf.sgl_uf: |
||||
nom_estado=uf.nom_localidade |
nom_estado = uf.nom_localidade |
||||
break |
break |
||||
cabecalho={} |
cabecalho = {} |
||||
cabecalho["nom_casa"]=casa["nom_casa"] |
cabecalho["nom_casa"] = casa["nom_casa"] |
||||
cabecalho["nom_estado"]="Estado de "+nom_estado |
cabecalho["nom_estado"] = "Estado de " + nom_estado |
||||
|
|
||||
# tenta buscar o logotipo da casa LOGO_CASA |
# tenta buscar o logotipo da casa LOGO_CASA |
||||
if hasattr(context.sapl_documentos.props_sapl,'logo_casa.gif'): |
if hasattr(context.sapl_documentos.props_sapl, 'logo_casa.gif'): |
||||
imagem = context.sapl_documentos.props_sapl['logo_casa.gif'].absolute_url() |
imagem = context.sapl_documentos.props_sapl['logo_casa.gif'].absolute_url() |
||||
else: |
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=[] |
protocolos = [] |
||||
REQUEST=context.REQUEST |
REQUEST = context.REQUEST |
||||
for protocolo in context.zsql.protocolo_pesquisar_zsql(tip_protocolo=REQUEST['rad_tip_protocolo'], |
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'], |
cod_protocolo=REQUEST['txt_num_protocolo'], ano_protocolo=REQUEST[ |
||||
tip_documento=REQUEST['lst_tip_documento'], tip_processo=REQUEST['rad_tip_processo'], |
'txt_ano_protocolo'], |
||||
tip_materia=REQUEST['lst_tip_materia'], des_assunto=REQUEST['txt_assunto'], |
tip_documento=REQUEST['lst_tip_documento'], tip_processo=REQUEST[ |
||||
cod_autor=REQUEST['hdn_cod_autor'], des_interessado=REQUEST['txa_txt_interessado'], |
'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']): |
dat_apres=REQUEST['dt_apres'], dat_apres2=REQUEST['dt_apres2']): |
||||
dic={} |
dic = {} |
||||
|
|
||||
dic['titulo']=str(protocolo.cod_protocolo)+'/'+str(protocolo.ano_protocolo) |
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['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_assunto'] = protocolo.txt_assunto_ementa |
||||
|
|
||||
dic['txt_interessado']=protocolo.txt_interessado |
dic['txt_interessado'] = protocolo.txt_interessado |
||||
|
|
||||
dic['nom_autor'] = " " |
dic['nom_autor'] = " " |
||||
if protocolo.cod_autor!=None: |
if protocolo.cod_autor != None: |
||||
for autor in context.zsql.autor_obter_zsql(cod_autor=protocolo.cod_autor): |
for autor in context.zsql.autor_obter_zsql(cod_autor=protocolo.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): |
for parlamentar in context.zsql.parlamentar_obter_zsql(cod_parlamentar=autor.cod_parlamentar): |
||||
dic['nom_autor']=parlamentar.nom_completo |
dic['nom_autor'] = parlamentar.nom_completo |
||||
elif autor.des_tipo_autor=='Comissao': |
elif autor.des_tipo_autor == 'Comissao': |
||||
for comissao in context.zsql.comissao_obter_zsql(cod_comissao=autor.cod_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: |
else: |
||||
dic['nom_autor']=autor.nom_autor |
dic['nom_autor'] = autor.nom_autor |
||||
|
|
||||
dic['natureza']='' |
dic['natureza'] = '' |
||||
if protocolo.tip_processo==0: |
if protocolo.tip_processo == 0: |
||||
dic['natureza']='Administrativo' |
dic['natureza'] = 'Administrativo' |
||||
if protocolo.tip_processo==1: |
if protocolo.tip_processo == 1: |
||||
dic['natureza']='Legislativo' |
dic['natureza'] = 'Legislativo' |
||||
|
|
||||
dic['processo']=protocolo.des_tipo_materia or protocolo.des_tipo_documento |
dic['processo'] = protocolo.des_tipo_materia or protocolo.des_tipo_documento |
||||
|
|
||||
dic['anulado']='' |
dic['anulado'] = '' |
||||
if protocolo.ind_anulado==1: |
if protocolo.ind_anulado == 1: |
||||
dic['anulado']='Nulo' |
dic['anulado'] = 'Nulo' |
||||
|
|
||||
protocolos.append(dic) |
protocolos.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 |
# Atribuições diretas do REQUEST |
||||
filtro['numero']=REQUEST.txt_num_protocolo |
filtro['numero'] = REQUEST.txt_num_protocolo |
||||
filtro['ano']=REQUEST.txt_ano_protocolo |
filtro['ano'] = REQUEST.txt_ano_protocolo |
||||
filtro['tipo_protocolo']=REQUEST.rad_tip_protocolo |
filtro['tipo_protocolo'] = REQUEST.rad_tip_protocolo |
||||
filtro['tipo_processo']=REQUEST.rad_tip_processo |
filtro['tipo_processo'] = REQUEST.rad_tip_processo |
||||
filtro['assunto']=REQUEST.txt_assunto |
filtro['assunto'] = REQUEST.txt_assunto |
||||
filtro['autor']=REQUEST.hdn_cod_autor |
filtro['autor'] = REQUEST.hdn_cod_autor |
||||
filtro['interessado']=REQUEST.txa_txt_interessado |
filtro['interessado'] = REQUEST.txa_txt_interessado |
||||
|
|
||||
sessao=session.id |
sessao = session.id |
||||
caminho = context.pdf_protocolo_gerar(sessao,imagem,data,protocolos,cabecalho,rodape,filtro) |
caminho = context.pdf_protocolo_gerar( |
||||
if caminho=='aviso': |
sessao, imagem, data, protocolos, cabecalho, rodape, filtro) |
||||
|
if caminho == 'aviso': |
||||
return response.redirect('mensagem_emitir_proc') |
return response.redirect('mensagem_emitir_proc') |
||||
else: |
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