source: publico/il.sapl/trunk/il/sapl/skins/relatorios/pdf_norma_preparar_pysc.py

Última Alteração nesse arquivo foi 7911, incluída por gustavolepri, 5 anos atrás

merge do changeset:7795 ao changeset:7910

  • Propriedade svn:executable mudada para *
File size: 3.5 KB
Linha 
1import os
2
3request=context.REQUEST
4response=request.RESPONSE
5session= request.SESSION
6
7data=DateTime().strftime('%d/%m/%Y')
8
9#Abaixo é gerada a string para o rodapé da página
10casa={}
11aux=context.sapl_documentos.props_sapl.propertyItems()
12for item in aux:
13    casa[item[0]]=item[1]
14localidade=context.zsql.localidade_obter_zsql(cod_localidade=casa["cod_localidade"])
15if len(casa["num_cep"])==8:
16    cep=casa["num_cep"][:4]+"-"+casa["num_cep"][5:]
17else:
18    cep=""
19
20linha1=casa["end_casa"]
21if cep!="":
22    if casa["end_casa"]!="" and casa["end_casa"]!=None:
23        linha1 = linha1 + " - "
24    linha1 = linha1 + "CEP "+cep
25if localidade[0].nom_localidade!="" and localidade[0].nom_localidade!=None:
26    linha1 = linha1 + " - "+localidade[0].nom_localidade+" "+localidade[0].sgl_uf
27if casa["num_tel"]!="" and casa["num_tel"]!=None:
28    linha1 = linha1 + " Tel.: "+ casa["num_tel"]
29
30linha2=casa["end_web_casa"]
31if casa["end_email_casa"]!="" and casa["end_email_casa"]!=None:
32    if casa["end_web_casa"]!="" and casa["end_web_casa"]!=None:
33        linha2 = linha2 + " - "
34    linha2 =  linha2 + "E-mail: "+casa["end_email_casa"]
35
36data_emissao=DateTime().strftime("%d/%m/%Y")
37rodape=[linha1,linha2,data_emissao]
38
39#Por fim, gera-se as entradas para o cabeçalho
40estados=context.zsql.localidade_obter_zsql(tip_localidade="u")
41for uf in estados:
42    if localidade[0].sgl_uf==uf.sgl_uf:
43        nom_estado=uf.nom_localidade
44        break
45cabecalho={}
46cabecalho["nom_casa"]=casa["nom_casa"]
47cabecalho["nom_estado"]="Estado de "+nom_estado
48
49# tenta buscar o logotipo da casa LOGO_CASA
50if hasattr(context.sapl_documentos.props_sapl,'logo_casa.gif'):
51    imagem = context.sapl_documentos.props_sapl['logo_casa.gif'].absolute_url()
52else:
53    imagem = context.imagens.absolute_url() + "/brasao_transp.gif"
54
55#Por fim, utiliza o PythonScript para pesquisar as normas e gerar os dados
56
57normas=[]
58REQUEST=context.REQUEST
59for norma in context.zsql.norma_juridica_obter_zsql(tip_norma=REQUEST['lst_tip_norma'], num_norma=REQUEST['txt_numero'],
60    ano_norma=REQUEST['txt_ano'], des_assunto=REQUEST['txt_assunto'],
61    cod_assunto=REQUEST['lst_assunto_norma'], dat_norma=REQUEST['dt_norma'],
62    dat_norma2=REQUEST['dt_norma2'], dat_publicacao=REQUEST['dt_public'],
63    dat_publicacao2=REQUEST['dt_public2'],
64    em_vigencia=REQUEST['em_vigencia'],
65    rd_ordem=REQUEST['rd_ordenacao']):
66
67    dic={}
68
69    dic['titulo']=norma.sgl_tipo_norma+" Nº  "+str(norma.num_norma)+" de "+str(norma.dat_norma)+" - "+norma.des_tipo_norma
70    dic['txt_ementa']=norma.txt_ementa
71
72    dic['materia_vinculada']=" "
73    if norma.cod_materia!=None:
74        for materia_vinculada in context.zsql.materia_obter_zsql(cod_materia=str(norma.cod_materia)):
75            dic['materia_vinculada']=materia_vinculada.sgl_tipo_materia+" "+str(materia_vinculada.num_ident_basica)+"/"+str(materia_vinculada.ano_ident_basica)
76
77    normas.append(dic)
78
79filtro={} # Dicionário que conterá os dados do filtro
80
81# Atribuições diretas do REQUEST
82filtro['numero']=REQUEST.txt_numero
83filtro['ano']=REQUEST.txt_ano
84filtro['assunto']=REQUEST.txt_assunto
85
86filtro['tipo_norma']=''
87if REQUEST.lst_tip_norma!='':
88    for tipo_norma in context.zsql.tipo_norma_juridica_obter_zsql(ind_excluido=0, tip_norma=REQUEST.lst_tip_norma):
89        filtro['tipo_norma']= tipo_norma.sgl_tipo_norma + ' - ' + tipo_norma.des_tipo_norma
90
91sessao=session.id
92caminho = context.pdf_norma_gerar(sessao,imagem,data,normas,cabecalho,rodape,filtro)
93if caminho=='aviso':
94    return response.redirect('mensagem_emitir_proc')
95else:
96    response.redirect(caminho)
Note: Veja TracBrowser para ajuda no uso do navegador do trac.
 

The contents and data of this website are published under license:
Creative Commons 4.0 Brasil - Atribuir Fonte - Compartilhar Igual.