mirror of https://github.com/interlegis/sapl.git
Marcio Mazza
7 years ago
162 changed files with 5881 additions and 3190 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 @@ |
|||
from django.utils.translation import ugettext_lazy as _ |
|||
|
|||
from sapl.base.forms import CasaLegislativaForm |
|||
|
|||
|
|||
def test_valida_campos_obrigatorios_casa_legislativa_form(): |
|||
form = CasaLegislativaForm(data={}) |
|||
|
|||
assert not form.is_valid() |
|||
|
|||
errors = form.errors |
|||
|
|||
assert errors['nome'] == [_('Este campo é obrigatório.')] |
|||
assert errors['sigla'] == [_('Este campo é obrigatório.')] |
|||
assert errors['endereco'] == [_('Este campo é obrigatório.')] |
|||
assert errors['cep'] == [_('Este campo é obrigatório.')] |
|||
assert errors['municipio'] == [_('Este campo é obrigatório.')] |
|||
assert errors['uf'] == [_('Este campo é obrigatório.')] |
|||
|
|||
assert len(errors) == 6 |
@ -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,76 @@ |
|||
import pytest |
|||
from django.utils.translation import ugettext as _ |
|||
from model_mommy import mommy |
|||
|
|||
from sapl.compilacao import forms |
|||
from sapl.compilacao.models import PerfilEstruturalTextoArticulado, TipoNota |
|||
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 |
|||
|
|||
|
|||
def test_valida_campos_obrigatorios_nota_form(): |
|||
form = forms.NotaForm(data={}) |
|||
|
|||
assert not form.is_valid() |
|||
|
|||
errors = form.errors |
|||
|
|||
assert errors['texto'] == [_('Este campo é obrigatório')] |
|||
assert errors['publicidade'] == [_('Este campo é obrigatório.')] |
|||
assert errors['tipo'] == [_('Este campo é obrigatório.')] |
|||
assert errors['publicacao'] == [_('Este campo é obrigatório')] |
|||
assert errors['efetividade'] == [_('Este campo é obrigatório')] |
|||
assert errors['dispositivo'] == [_('Este campo é obrigatório.')] |
|||
|
|||
assert len(errors) == 6 |
|||
|
|||
|
|||
@pytest.mark.django_db(transaction=False) |
|||
def test_nota_form_invalido(): |
|||
tipo = mommy.make(TipoNota) |
|||
|
|||
form = forms.NotaForm(data={'titulo': 'titulo', |
|||
'texto': 'teste', |
|||
'url_externa': 'www.test.com', |
|||
'publicidade': 'publicidade', |
|||
'tipo': str(tipo.pk), |
|||
'publicacao': '10/05/2017', |
|||
'efetividade': '10/05/2017', |
|||
'dispositivo': 'dispositivo', |
|||
'pk': 'pk' |
|||
}) |
|||
|
|||
assert not form.is_valid() |
@ -0,0 +1,43 @@ |
|||
from datetime import date |
|||
from functools import wraps |
|||
|
|||
from django.utils.translation import ugettext_lazy as _ |
|||
|
|||
|
|||
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): |
|||
string_displayed = decorated_method(self) |
|||
|
|||
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: |
|||
instancia_sem_atributo = "{} [{}, {}].".format( |
|||
'Instância não possui os atributos', |
|||
'data_inicio', |
|||
'data_fim') |
|||
|
|||
mensagem_decorator = "Decorator @{} foi desabilitado.".format( |
|||
vigencia_atual.__name__() |
|||
) |
|||
print(_('{} {}'.format( |
|||
_(instancia_sem_atributo), |
|||
_(mensagem_decorator) |
|||
) |
|||
) |
|||
) |
|||
|
|||
return string_displayed |
|||
|
|||
return display_atual |
@ -0,0 +1,361 @@ |
|||
[{ |
|||
"model": "materia.StatusTramitacao", |
|||
"pk": 1, |
|||
"fields": { |
|||
"sigla": "ADIAVOTAC", |
|||
"indicador": "R", |
|||
"descricao": "Adiada discussão e votação." |
|||
} |
|||
}, |
|||
{ |
|||
"model": "materia.StatusTramitacao", |
|||
"pk": 2, |
|||
"fields": { |
|||
"sigla": "AGAUTOGR", |
|||
"indicador": "R", |
|||
"descricao": "Aguardando assinatura do autógrafo" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "materia.StatusTramitacao", |
|||
"pk": 3, |
|||
"fields": { |
|||
"sigla": "AGMENSVET", |
|||
"indicador": "R", |
|||
"descricao": "Aguardando assinatura da mensagem sobre o veto" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "materia.StatusTramitacao", |
|||
"pk": 4, |
|||
"fields": { |
|||
"sigla": "AGORDIA", |
|||
"indicador": "R", |
|||
"descricao": "Aguardando a inclusão na ordem do dia" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "materia.StatusTramitacao", |
|||
"pk": 5, |
|||
"fields": { |
|||
"sigla": "AGPARECER", |
|||
"indicador": "R", |
|||
"descricao": "Aguardando emissão de parecer da comissão" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "materia.StatusTramitacao", |
|||
"pk": 6, |
|||
"fields": { |
|||
"sigla": "AGPROMLEI", |
|||
"indicador": "F", |
|||
"descricao": "Aguardando promulgação da lei" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "materia.StatusTramitacao", |
|||
"pk": 7, |
|||
"fields": { |
|||
"sigla": "AGPROMNOR", |
|||
"indicador": "F", |
|||
"descricao": "Aguardando promulgação da norma jurídica" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "materia.StatusTramitacao", |
|||
"pk": 8, |
|||
"fields": { |
|||
"sigla": "AGPROMVET", |
|||
"indicador": "R", |
|||
"descricao": "Aguardando promulgação de lei com veto rejeitado" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "materia.StatusTramitacao", |
|||
"pk": 9, |
|||
"fields": { |
|||
"sigla": "AGSANCAO", |
|||
"indicador": "F", |
|||
"descricao": "Aguardando sanção governamental" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "materia.StatusTramitacao", |
|||
"pk": 10, |
|||
"fields": { |
|||
"sigla": "ANEXADA", |
|||
"indicador": "R", |
|||
"descricao": "Proposição anexada à outra análoga ou conexa mais antiga" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "materia.StatusTramitacao", |
|||
"pk": 11, |
|||
"fields": { |
|||
"sigla": "APRESENT", |
|||
"indicador": "R", |
|||
"descricao": "Proposição apresentada em Plenário" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "materia.StatusTramitacao", |
|||
"pk": 12, |
|||
"fields": { |
|||
"sigla": "APROV1TUR", |
|||
"indicador": "R", |
|||
"descricao": "Proposição aprovada em 1º turno" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "materia.StatusTramitacao", |
|||
"pk": 13, |
|||
"fields": { |
|||
"sigla": "APROVADA", |
|||
"indicador": "F", |
|||
"descricao": "Proposição aprovada" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "materia.StatusTramitacao", |
|||
"pk": 14, |
|||
"fields": { |
|||
"sigla": "ARQUIVADA", |
|||
"indicador": "F", |
|||
"descricao": "Proposição arquivada" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "materia.StatusTramitacao", |
|||
"pk": 15, |
|||
"fields": { |
|||
"sigla": "AUTUAPAUTA", |
|||
"indicador": "R", |
|||
"descricao": "Proposição autuada e cumprindo prazo de pauta" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "materia.StatusTramitacao", |
|||
"pk": 16, |
|||
"fields": { |
|||
"sigla": "DESARQUIV", |
|||
"indicador": "R", |
|||
"descricao": "Proposição desarquivada pelo Autor" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "materia.StatusTramitacao", |
|||
"pk": 17, |
|||
"fields": { |
|||
"sigla": "DISTRCOMIS", |
|||
"indicador": "R", |
|||
"descricao": "Proposição distribuída às comissões" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "materia.StatusTramitacao", |
|||
"pk": 18, |
|||
"fields": { |
|||
"sigla": "INCLORDIA", |
|||
"indicador": "R", |
|||
"descricao": "Proposição inclusa na Ordem do Dia" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "materia.StatusTramitacao", |
|||
"pk": 19, |
|||
"fields": { |
|||
"sigla": "LEIPROMUL", |
|||
"indicador": "F", |
|||
"descricao": "Proposição transformada em lei por promulgação" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "materia.StatusTramitacao", |
|||
"pk": 20, |
|||
"fields": { |
|||
"sigla": "LEIVETPAR", |
|||
"indicador": "R", |
|||
"descricao": "Transformada em lei com veto parcial" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "materia.StatusTramitacao", |
|||
"pk": 21, |
|||
"fields": { |
|||
"sigla": "MANUTVETO", |
|||
"indicador": "R", |
|||
"descricao": "Parecer pela manutenção do veto" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "materia.StatusTramitacao", |
|||
"pk": 22, |
|||
"fields": { |
|||
"sigla": "NORMPROMUL", |
|||
"indicador": "F", |
|||
"descricao": "Norma promulgada" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "materia.StatusTramitacao", |
|||
"pk": 23, |
|||
"fields": { |
|||
"sigla": "PARECCONTR", |
|||
"indicador": "R", |
|||
"descricao": "Parecer contrário da comissão de mérito" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "materia.StatusTramitacao", |
|||
"pk": 24, |
|||
"fields": { |
|||
"sigla": "PARECERFAV", |
|||
"indicador": "R", |
|||
"descricao": "Parecer favorável da comissão" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "materia.StatusTramitacao", |
|||
"pk": 25, |
|||
"fields": { |
|||
"sigla": "PARECPLEN", |
|||
"indicador": "F", |
|||
"descricao": "Parecer em Plenário pelas comissões pertinentes" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "materia.StatusTramitacao", |
|||
"pk": 26, |
|||
"fields": { |
|||
"sigla": "PAREUCONJ", |
|||
"indicador": "R", |
|||
"descricao": "Parecer em reunião conjunta das Comissões pertinentes" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "materia.StatusTramitacao", |
|||
"pk": 27, |
|||
"fields": { |
|||
"sigla": "PREJUD", |
|||
"indicador": "F", |
|||
"descricao": "Proposição prejudicada" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "materia.StatusTramitacao", |
|||
"pk": 28, |
|||
"fields": { |
|||
"sigla": "PROMULVETO", |
|||
"indicador": "F", |
|||
"descricao": "Veto total ou parcial promulgado" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "materia.StatusTramitacao", |
|||
"pk": 29, |
|||
"fields": { |
|||
"sigla": "REJEITADA", |
|||
"indicador": "F", |
|||
"descricao": "Proposição rejeitada pelo Plenário" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "materia.StatusTramitacao", |
|||
"pk": 30, |
|||
"fields": { |
|||
"sigla": "REJEIVETO", |
|||
"indicador": "R", |
|||
"descricao": "Parecer pela rejeição do veto" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "materia.StatusTramitacao", |
|||
"pk": 31, |
|||
"fields": { |
|||
"sigla": "RETAUTOR", |
|||
"indicador": "F", |
|||
"descricao": "Proposição retirada pelo autor" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "materia.StatusTramitacao", |
|||
"pk": 32, |
|||
"fields": { |
|||
"sigla": "RETORDIA", |
|||
"indicador": "R", |
|||
"descricao": "Proposição retirada da Ordem do Dia" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "materia.StatusTramitacao", |
|||
"pk": 33, |
|||
"fields": { |
|||
"sigla": "TRANSFLEI", |
|||
"indicador": "F", |
|||
"descricao": "Proposição transformada em lei" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "materia.StatusTramitacao", |
|||
"pk": 34, |
|||
"fields": { |
|||
"sigla": "VETODISTR", |
|||
"indicador": "R", |
|||
"descricao": "Veto distribuído para emissão de parecer" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "materia.StatusTramitacao", |
|||
"pk": 35, |
|||
"fields": { |
|||
"sigla": "VETOLIDO", |
|||
"indicador": "R", |
|||
"descricao": "Veto sobre a proposição lido em sessão plenária" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "materia.StatusTramitacao", |
|||
"pk": 36, |
|||
"fields": { |
|||
"sigla": "VETOMANT", |
|||
"indicador": "F", |
|||
"descricao": "Veto sobre a proposição mantido" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "materia.StatusTramitacao", |
|||
"pk": 37, |
|||
"fields": { |
|||
"sigla": "VETOORDIA", |
|||
"indicador": "F", |
|||
"descricao": "Veto incluso na ordem do dia" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "materia.StatusTramitacao", |
|||
"pk": 38, |
|||
"fields": { |
|||
"sigla": "VETOPAUTA", |
|||
"indicador": "F", |
|||
"descricao": "Veto autuado e incluso em pauta" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "materia.StatusTramitacao", |
|||
"pk": 39, |
|||
"fields": { |
|||
"sigla": "VETOREJEI", |
|||
"indicador": "F", |
|||
"descricao": "Veto sobre a proposição rejeitado" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "materia.StatusTramitacao", |
|||
"pk": 40, |
|||
"fields": { |
|||
"sigla": "VETOTOTAL", |
|||
"indicador": "R", |
|||
"descricao": "Proposição com veto tota" |
|||
} |
|||
} |
|||
] |
@ -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'}, |
|||
), |
|||
] |
@ -0,0 +1,44 @@ |
|||
# -*- coding: utf-8 -*- |
|||
from __future__ import unicode_literals |
|||
from django.db import migrations |
|||
import json |
|||
import os |
|||
|
|||
|
|||
from django.core.management import call_command |
|||
|
|||
|
|||
|
|||
def gera_status_tramitacao(apps, schema_editor): |
|||
StatusTramitacao = apps.get_model("materia", "StatusTramitacao") |
|||
db_alias = schema_editor.connection.alias |
|||
status_tramitacoes = StatusTramitacao.objects.all().exists() |
|||
|
|||
if status_tramitacoes: |
|||
# Caso haja algum StatusTramitacao cadastrado na base de dados, |
|||
# a migração não deve ser carregada para evitar duplicações de dados. |
|||
print("Carga de {} não efetuada. Já Existem {} cadastrados...".format( |
|||
StatusTramitacao._meta.verbose_name, |
|||
StatusTramitacao._meta.verbose_name_plural |
|||
) |
|||
) |
|||
else: |
|||
fixture_dir = os.path.abspath(os.path.join(os.path.dirname(__file__), '../fixtures')) |
|||
# pega status_tramitacoes listados em fixtures/pre_popula_status_tramitacao.json |
|||
fixture_filename = 'pre_popula_status_tramitacao.json' |
|||
fixture_file = os.path.join(fixture_dir, fixture_filename) |
|||
call_command('loaddata', fixture_file) |
|||
|
|||
class Migration(migrations.Migration): |
|||
|
|||
dependencies = [ |
|||
# A dependencia real desse script é o arquivo 0001_initial.py, mas |
|||
# isso gera um erro (Conflicting migrations detected; multiple leaf |
|||
# nodes in the migration graph). para não ocasionar problemas de migração, |
|||
# vamos manter a ordem padrão do django. |
|||
('materia', '0012_auto_20170829_1321'), |
|||
] |
|||
|
|||
operations = [ |
|||
migrations.RunPython(gera_status_tramitacao), |
|||
] |
@ -0,0 +1,19 @@ |
|||
# -*- coding: utf-8 -*- |
|||
# Generated by Django 1.9.7 on 2017-09-05 08:18 |
|||
from __future__ import unicode_literals |
|||
|
|||
from django.db import migrations |
|||
|
|||
|
|||
class Migration(migrations.Migration): |
|||
|
|||
dependencies = [ |
|||
('materia', '0013_adiciona_status_tramitacao'), |
|||
] |
|||
|
|||
operations = [ |
|||
migrations.AlterModelOptions( |
|||
name='unidadetramitacao', |
|||
options={'ordering': ['orgao', 'comissao', 'parlamentar'], 'verbose_name': 'Unidade de Tramitação', 'verbose_name_plural': 'Unidades de Tramitação'}, |
|||
), |
|||
] |
@ -0,0 +1,37 @@ |
|||
# -*- coding: utf-8 -*- |
|||
# Generated by Django 1.9.13 on 2017-09-08 10:24 |
|||
from __future__ import unicode_literals |
|||
|
|||
from django.db import migrations |
|||
|
|||
from sapl.materia.models import TipoProposicao |
|||
|
|||
|
|||
class AlterUniqueTogetherFixConstraintInexistente( |
|||
migrations.AlterUniqueTogether): |
|||
|
|||
def database_forwards(self, |
|||
app_label, schema_editor, from_state, to_state): |
|||
constraint_names = schema_editor._constraint_names( |
|||
TipoProposicao, ['content_type_id', 'object_id'], unique=True) |
|||
if constraint_names: |
|||
# por alguma razão a constraint não existe em alguns bancos |
|||
# se ela existir continua a exetução normal |
|||
super(AlterUniqueTogetherFixConstraintInexistente, |
|||
self).database_forwards( |
|||
app_label, schema_editor, from_state, to_state |
|||
) |
|||
|
|||
|
|||
class Migration(migrations.Migration): |
|||
|
|||
dependencies = [ |
|||
('materia', '0014_auto_20170905_0818'), |
|||
] |
|||
|
|||
operations = [ |
|||
AlterUniqueTogetherFixConstraintInexistente( |
|||
name='tipoproposicao', |
|||
unique_together=set([]), |
|||
), |
|||
] |
@ -0,0 +1,16 @@ |
|||
# -*- coding: utf-8 -*- |
|||
# Generated by Django 1.9.13 on 2017-09-08 11:57 |
|||
from __future__ import unicode_literals |
|||
|
|||
from django.db import migrations |
|||
|
|||
|
|||
class Migration(migrations.Migration): |
|||
|
|||
dependencies = [ |
|||
('materia', '0015_auto_20170908_1024'), |
|||
('materia', '0013_auto_20170816_1136'), |
|||
] |
|||
|
|||
operations = [ |
|||
] |
@ -1,8 +1,3 @@ |
|||
from django.db.models.signals import post_delete, post_save |
|||
|
|||
import django.dispatch |
|||
|
|||
from .models import DocumentoAcessorio, MateriaLegislativa |
|||
|
|||
|
|||
tramitacao_signal = django.dispatch.Signal(providing_args=['post', 'request']) |
|||
|
@ -0,0 +1,24 @@ |
|||
# -*- coding: utf-8 -*- |
|||
# Generated by Django 1.9.7 on 2017-09-04 17:08 |
|||
from __future__ import unicode_literals |
|||
|
|||
from django.db import migrations, models |
|||
|
|||
|
|||
class Migration(migrations.Migration): |
|||
|
|||
dependencies = [ |
|||
('norma', '0006_normajuridica_data_ultima_atualizacao'), |
|||
] |
|||
|
|||
operations = [ |
|||
migrations.AlterModelOptions( |
|||
name='assuntonorma', |
|||
options={'ordering': ['assunto'], 'verbose_name': 'Assunto de Norma Jurídica', 'verbose_name_plural': 'Assuntos de Normas Jurídicas'}, |
|||
), |
|||
migrations.AlterField( |
|||
model_name='normajuridica', |
|||
name='esfera_federacao', |
|||
field=models.CharField(choices=[('M', 'Municipal'), ('E', 'Estadual'), ('F', 'Federal')], max_length=1, verbose_name='Esfera Federação'), |
|||
), |
|||
] |
@ -1,3 +0,0 @@ |
|||
from django.db.models.signals import post_delete, post_save |
|||
|
|||
from .models import NormaJuridica |
@ -0,0 +1,37 @@ |
|||
[ |
|||
{ |
|||
"model": "parlamentares.CargoMesa", |
|||
"pk": 1, |
|||
"fields": { |
|||
"descricao": "Presidente", |
|||
"unico": true |
|||
} |
|||
}, |
|||
{ |
|||
"model": "parlamentares.CargoMesa", |
|||
"pk": 2, |
|||
"fields": { |
|||
"descricao": "Vice-Presidente", |
|||
"unico": true |
|||
} |
|||
}, |
|||
{ |
|||
"model": "parlamentares.CargoMesa", |
|||
"pk": 3, |
|||
"fields": { |
|||
"descricao": "Primeiro-Secretário", |
|||
"unico": true |
|||
} |
|||
}, |
|||
{ |
|||
"model": "parlamentares.CargoMesa", |
|||
"pk": 4, |
|||
"fields": { |
|||
"descricao": "Segundo-Secretário", |
|||
"unico": true |
|||
} |
|||
} |
|||
] |
|||
|
|||
|
|||
|
@ -0,0 +1,282 @@ |
|||
[ |
|||
{ |
|||
"model": "parlamentares.Partido", |
|||
"pk": 1, |
|||
"fields": { |
|||
"sigla": "PMDB", |
|||
"nome": "PARTIDO DO MOVIMENTO DEMOCRÁTICO BRASILEIRO" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "parlamentares.Partido", |
|||
"pk": 2, |
|||
"fields": { |
|||
"sigla": "PTB", |
|||
"nome": "PARTIDO TRABALHISTA BRASILEIRO" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "parlamentares.Partido", |
|||
"pk": 3, |
|||
"fields": { |
|||
"sigla": "PDT", |
|||
"nome": "PARTIDO DEMOCRÁTICO TRABALHISTA" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "parlamentares.Partido", |
|||
"pk": 4, |
|||
"fields": { |
|||
"sigla": "PT", |
|||
"nome": "PARTIDO DOS TRABALHADORES" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "parlamentares.Partido", |
|||
"pk": 5, |
|||
"fields": { |
|||
"sigla": "DEM", |
|||
"nome": "DEMOCRATAS" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "parlamentares.Partido", |
|||
"pk": 6, |
|||
"fields": { |
|||
"sigla": "PCdoB", |
|||
"nome": "PARTIDO COMUNISTA DO BRASIL" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "parlamentares.Partido", |
|||
"pk": 7, |
|||
"fields": { |
|||
"sigla": "PSB", |
|||
"nome": "PARTIDO SOCIALISTA BRASILEIRO" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "parlamentares.Partido", |
|||
"pk": 8, |
|||
"fields": { |
|||
"sigla": "PSDB", |
|||
"nome": "PARTIDO DA SOCIAL DEMOCRACIA BRASILEIRA" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "parlamentares.Partido", |
|||
"pk": 9, |
|||
"fields": { |
|||
"sigla": "PTC", |
|||
"nome": "PARTIDO TRABALHISTA CRISTÃO" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "parlamentares.Partido", |
|||
"pk": 10, |
|||
"fields": { |
|||
"sigla": "PSC", |
|||
"nome": "PARTIDO SOCIAL CRISTÃO" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "parlamentares.Partido", |
|||
"pk": 11, |
|||
"fields": { |
|||
"sigla": "PMN", |
|||
"nome": "PARTIDO DA MOBILIZAÇÃO NACIONAL" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "parlamentares.Partido", |
|||
"pk": 12, |
|||
"fields": { |
|||
"sigla": "PRP", |
|||
"nome": "PARTIDO REPUBLICANO PROGRESSISTA" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "parlamentares.Partido", |
|||
"pk": 13, |
|||
"fields": { |
|||
"sigla": "PPS", |
|||
"nome": "PARTIDO POPULAR SOCIALISTA" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "parlamentares.Partido", |
|||
"pk": 14, |
|||
"fields": { |
|||
"sigla": "PV", |
|||
"nome": "PARTIDO VERDE" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "parlamentares.Partido", |
|||
"pk": 15, |
|||
"fields": { |
|||
"sigla": "PTdoB", |
|||
"nome": "PARTIDO TRABALHISTA DO BRASIL" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "parlamentares.Partido", |
|||
"pk": 16, |
|||
"fields": { |
|||
"sigla": "PP", |
|||
"nome": "PARTIDO PROGRESSISTA" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "parlamentares.Partido", |
|||
"pk": 17, |
|||
"fields": { |
|||
"sigla": "PSTU", |
|||
"nome": "PARTIDO SOCIALISTA DOS TRABALHADORES UNIFICADO" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "parlamentares.Partido", |
|||
"pk": 18, |
|||
"fields": { |
|||
"sigla": "PCB", |
|||
"nome": "PARTIDO COMUNISTA BRASILEIRO" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "parlamentares.Partido", |
|||
"pk": 19, |
|||
"fields": { |
|||
"sigla": "PRTB", |
|||
"nome": "PARTIDO RENOVADOR TRABALHISTA BRASILEIRO" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "parlamentares.Partido", |
|||
"pk": 20, |
|||
"fields": { |
|||
"sigla": "PHS", |
|||
"nome": "PARTIDO HUMANISTA DA SOLIDARIEDADE" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "parlamentares.Partido", |
|||
"pk": 21, |
|||
"fields": { |
|||
"sigla": "PSDC", |
|||
"nome": "PARTIDO SOCIAL DEMOCRATA CRISTÃO" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "parlamentares.Partido", |
|||
"pk": 22, |
|||
"fields": { |
|||
"sigla": "PCO", |
|||
"nome": "PARTIDO DA CAUSA OPERÁRIA" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "parlamentares.Partido", |
|||
"pk": 23, |
|||
"fields": { |
|||
"sigla": "PODE", |
|||
"nome": "PODEMOS" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "parlamentares.Partido", |
|||
"pk": 24, |
|||
"fields": { |
|||
"sigla": "PSL", |
|||
"nome": "PARTIDO SOCIAL LIBERAL" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "parlamentares.Partido", |
|||
"pk": 25, |
|||
"fields": { |
|||
"sigla": "PRB", |
|||
"nome": "PARTIDO REPUBLICANO BRASILEIRO" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "parlamentares.Partido", |
|||
"pk": 26, |
|||
"fields": { |
|||
"sigla": "PSOL", |
|||
"nome": "PARTIDO SOCIALISMO E LIBERDADE" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "parlamentares.Partido", |
|||
"pk": 27, |
|||
"fields": { |
|||
"sigla": "PR", |
|||
"nome": "PARTIDO DA REPÚBLICA" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "parlamentares.Partido", |
|||
"pk": 28, |
|||
"fields": { |
|||
"sigla": "PSD", |
|||
"nome": "PARTIDO SOCIAL DEMOCRÁTICO" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "parlamentares.Partido", |
|||
"pk": 29, |
|||
"fields": { |
|||
"sigla": "PPL", |
|||
"nome": "PARTIDO PÁTRIA LIVRE" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "parlamentares.Partido", |
|||
"pk": 30, |
|||
"fields": { |
|||
"sigla": "PEN", |
|||
"nome": "PARTIDO ECOLÓGICO NACIONAL" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "parlamentares.Partido", |
|||
"pk": 31, |
|||
"fields": { |
|||
"sigla": "PROS", |
|||
"nome": "PARTIDO REPUBLICANO DA ORDEM SOCIAL" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "parlamentares.Partido", |
|||
"pk": 32, |
|||
"fields": { |
|||
"sigla": "SD", |
|||
"nome": "SOLIDARIEDADE" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "parlamentares.Partido", |
|||
"pk": 33, |
|||
"fields": { |
|||
"sigla": "NOVO", |
|||
"nome": "PARTIDO NOVO" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "parlamentares.Partido", |
|||
"pk": 34, |
|||
"fields": { |
|||
"sigla": "REDE", |
|||
"nome": "REDE SUSTENTABILIDADE" |
|||
} |
|||
}, |
|||
{ |
|||
"model": "parlamentares.Partido", |
|||
"pk": 35, |
|||
"fields": { |
|||
"sigla": "PMB", |
|||
"nome": "PARTIDO DA MULHER BRASILEIRA" |
|||
} |
|||
} |
|||
] |
@ -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'}, |
|||
), |
|||
] |
@ -0,0 +1,19 @@ |
|||
# -*- coding: utf-8 -*- |
|||
# Generated by Django 1.9.13 on 2017-08-31 14:00 |
|||
from __future__ import unicode_literals |
|||
|
|||
from django.db import migrations |
|||
|
|||
|
|||
class Migration(migrations.Migration): |
|||
|
|||
dependencies = [ |
|||
('parlamentares', '0005_auto_20170814_1615'), |
|||
] |
|||
|
|||
operations = [ |
|||
migrations.AlterModelOptions( |
|||
name='votante', |
|||
options={'permissions': (('can_vote', 'Can Vote'),), 'verbose_name': 'Usuário Votante', 'verbose_name_plural': 'Usuários Votantes'}, |
|||
), |
|||
] |
@ -0,0 +1,40 @@ |
|||
# -*- coding: utf-8 -*- |
|||
from __future__ import unicode_literals |
|||
from django.db import migrations |
|||
import json |
|||
import os |
|||
|
|||
|
|||
from django.core.management import call_command |
|||
|
|||
|
|||
|
|||
def gera_partidos_tse(apps, schema_editor): |
|||
Partido = apps.get_model("parlamentares", "Partido") |
|||
db_alias = schema_editor.connection.alias |
|||
partidos = Partido.objects.all().exists() |
|||
|
|||
if partidos: |
|||
# Caso haja algum partido cadastrado na base de dados, |
|||
# a migração não deve ser carregada para evitar duplicações de dados. |
|||
print("Carga de Partido não efetuada. Já Existem partidos cadastrados...") |
|||
else: |
|||
fixture_dir = os.path.abspath(os.path.join(os.path.dirname(__file__), '../fixtures')) |
|||
# pega partidos listados em fixtures/pre_popula_partidos.json |
|||
fixture_filename = 'pre_popula_partidos.json' |
|||
fixture_file = os.path.join(fixture_dir, fixture_filename) |
|||
call_command('loaddata', fixture_file) |
|||
|
|||
class Migration(migrations.Migration): |
|||
|
|||
dependencies = [ |
|||
# A dependencia real desse script é o arquivo 0001_initial.py, mas |
|||
# isso gera um erro (Conflicting migrations detected; multiple leaf |
|||
# nodes in the migration graph). para não ocasionar problemas de migração, |
|||
# vamos manter a ordem padrão do django. |
|||
('parlamentares', '0006_auto_20170831_1400'), |
|||
] |
|||
|
|||
operations = [ |
|||
migrations.RunPython(gera_partidos_tse), |
|||
] |
@ -0,0 +1,41 @@ |
|||
# -*- coding: utf-8 -*- |
|||
from __future__ import unicode_literals |
|||
from django.db import migrations |
|||
import json |
|||
import os |
|||
|
|||
|
|||
from django.core.management import call_command |
|||
|
|||
|
|||
|
|||
def gera_cargos_mesa(apps, schema_editor): |
|||
CargoMesa = apps.get_model("parlamentares", "CargoMesa") |
|||
db_alias = schema_editor.connection.alias |
|||
cargos_mesa = CargoMesa.objects.all().exists() |
|||
|
|||
if cargos_mesa: |
|||
# Caso haja algum CargoMesa cadastrado na base de dados, |
|||
# a migração não deve ser carregada para evitar duplicações de dados. |
|||
print("Carga de {} não efetuada. Já Existem {} cadastrados...".format( |
|||
CargoMesa._meta.verbose_name, CargoMesa._meta.verbose_name_plural)) |
|||
else: |
|||
fixture_dir = os.path.abspath(os.path.join(os.path.dirname(__file__), '../fixtures')) |
|||
# pega partidos listados em fixtures/pre_popula_partidos.json |
|||
fixture_filename = 'pre_popula_cargosmesa.json' |
|||
fixture_file = os.path.join(fixture_dir, fixture_filename) |
|||
call_command('loaddata', fixture_file) |
|||
|
|||
class Migration(migrations.Migration): |
|||
|
|||
dependencies = [ |
|||
# A dependencia real desse script é o arquivo 0001_initial.py, mas |
|||
# isso gera um erro (Conflicting migrations detected; multiple leaf |
|||
# nodes in the migration graph). para não ocasionar problemas de migração, |
|||
# vamos manter a ordem padrão do django. |
|||
('parlamentares', '0007_adiciona_partidos'), |
|||
] |
|||
|
|||
operations = [ |
|||
migrations.RunPython(gera_cargos_mesa), |
|||
] |
@ -0,0 +1,27 @@ |
|||
# -*- coding: utf-8 -*- |
|||
# Generated by Django 1.9.13 on 2017-09-05 16:17 |
|||
from __future__ import unicode_literals |
|||
|
|||
from django.db import migrations |
|||
|
|||
|
|||
class Migration(migrations.Migration): |
|||
|
|||
dependencies = [ |
|||
('parlamentares', '0008_adiciona_cargos_mesa'), |
|||
] |
|||
|
|||
operations = [ |
|||
migrations.AlterModelOptions( |
|||
name='situacaomilitar', |
|||
options={'ordering': ['descricao'], 'verbose_name': 'Tipo Situação Militar', 'verbose_name_plural': 'Tipos Situações Militares'}, |
|||
), |
|||
migrations.AlterModelOptions( |
|||
name='tipoafastamento', |
|||
options={'ordering': ['descricao'], 'verbose_name': 'Tipo de Afastamento', 'verbose_name_plural': 'Tipos de Afastamento'}, |
|||
), |
|||
migrations.AlterModelOptions( |
|||
name='tipodependente', |
|||
options={'ordering': ['descricao'], 'verbose_name': 'Tipo de Dependente', 'verbose_name_plural': 'Tipos de Dependente'}, |
|||
), |
|||
] |
@ -1,138 +1,149 @@ |
|||
import os |
|||
|
|||
request=context.REQUEST |
|||
response=request.RESPONSE |
|||
session= request.SESSION |
|||
request = context.REQUEST |
|||
response = request.RESPONSE |
|||
session = request.SESSION |
|||
|
|||
data=DateTime().strftime('%d/%m/%Y') |
|||
data = DateTime().strftime('%d/%m/%Y') |
|||
|
|||
#Abaixo é gerada a string para o rodapé da página |
|||
casa={} |
|||
aux=context.sapl_documentos.props_sapl.propertyItems() |
|||
# Abaixo é gerada a string para o rodapé da página |
|||
casa = {} |
|||
aux = context.sapl_documentos.props_sapl.propertyItems() |
|||
for item in aux: |
|||
casa[item[0]]=item[1] |
|||
localidade=context.zsql.localidade_obter_zsql(cod_localidade=casa["cod_localidade"]) |
|||
if len(casa["num_cep"])==8: |
|||
cep=casa["num_cep"][:4]+"-"+casa["num_cep"][5:] |
|||
casa[item[0]] = item[1] |
|||
localidade = context.zsql.localidade_obter_zsql( |
|||
cod_localidade=casa["cod_localidade"]) |
|||
if len(casa["num_cep"]) == 8: |
|||
cep = casa["num_cep"][:4] + "-" + casa["num_cep"][5:] |
|||
else: |
|||
cep="" |
|||
cep = "" |
|||
|
|||
linha1=casa["end_casa"] |
|||
if cep!="": |
|||
if casa["end_casa"]!="" and casa["end_casa"]!=None: |
|||
linha1 = casa["end_casa"] |
|||
if cep != "": |
|||
if casa["end_casa"] != "" and casa["end_casa"] != None: |
|||
linha1 = linha1 + " - " |
|||
linha1 = linha1 + "CEP "+cep |
|||
if localidade[0].nom_localidade!="" and localidade[0].nom_localidade!=None: |
|||
linha1 = linha1 + " - "+localidade[0].nom_localidade+" "+localidade[0].sgl_uf |
|||
if casa["num_tel"]!="" and casa["num_tel"]!=None: |
|||
linha1 = linha1 + " Tel.: "+ casa["num_tel"] |
|||
|
|||
linha2=casa["end_web_casa"] |
|||
if casa["end_email_casa"]!="" and casa["end_email_casa"]!=None: |
|||
if casa["end_web_casa"]!="" and casa["end_web_casa"]!=None: |
|||
linha1 = linha1 + "CEP " + cep |
|||
if localidade[0].nom_localidade != "" and localidade[0].nom_localidade != None: |
|||
linha1 = linha1 + " - " + \ |
|||
localidade[0].nom_localidade + " " + localidade[0].sgl_uf |
|||
if casa["num_tel"] != "" and casa["num_tel"] != None: |
|||
linha1 = linha1 + " Tel.: " + casa["num_tel"] |
|||
|
|||
linha2 = casa["end_web_casa"] |
|||
if casa["end_email_casa"] != "" and casa["end_email_casa"] != None: |
|||
if casa["end_web_casa"] != "" and casa["end_web_casa"] != None: |
|||
linha2 = linha2 + " - " |
|||
linha2 = linha2 + "E-mail: "+casa["end_email_casa"] |
|||
linha2 = linha2 + "E-mail: " + casa["end_email_casa"] |
|||
|
|||
data_emissao=DateTime().strftime("%d/%m/%Y") |
|||
rodape=[linha1,linha2,data_emissao] |
|||
data_emissao = DateTime().strftime("%d/%m/%Y") |
|||
rodape = [linha1, linha2, data_emissao] |
|||
|
|||
#Por fim, gera-se as entradas para o cabeçalho |
|||
estados=context.zsql.localidade_obter_zsql(tip_localidade="u") |
|||
# Por fim, gera-se as entradas para o cabeçalho |
|||
estados = context.zsql.localidade_obter_zsql(tip_localidade="u") |
|||
for uf in estados: |
|||
if localidade[0].sgl_uf==uf.sgl_uf: |
|||
nom_estado=uf.nom_localidade |
|||
if localidade[0].sgl_uf == uf.sgl_uf: |
|||
nom_estado = uf.nom_localidade |
|||
break |
|||
cabecalho={} |
|||
cabecalho["nom_casa"]=casa["nom_casa"] |
|||
cabecalho["nom_estado"]="Estado de "+nom_estado |
|||
cabecalho = {} |
|||
cabecalho["nom_casa"] = casa["nom_casa"] |
|||
cabecalho["nom_estado"] = "Estado de " + nom_estado |
|||
|
|||
# tenta buscar o logotipo da casa LOGO_CASA |
|||
if hasattr(context.sapl_documentos.props_sapl,'logo_casa.gif'): |
|||
if hasattr(context.sapl_documentos.props_sapl, 'logo_casa.gif'): |
|||
imagem = context.sapl_documentos.props_sapl['logo_casa.gif'].absolute_url() |
|||
else: |
|||
imagem = context.imagens.absolute_url() + "/brasao_transp.gif" |
|||
|
|||
#Por fim, utiliza o PythonScript para pesquisar os protocolos e gerar os dados |
|||
# Por fim, utiliza o PythonScript para pesquisar os protocolos e gerar os dados |
|||
|
|||
protocolos=[] |
|||
REQUEST=context.REQUEST |
|||
protocolos = [] |
|||
REQUEST = context.REQUEST |
|||
for protocolo in context.zsql.protocolo_pesquisar_zsql(tip_protocolo=REQUEST['rad_tip_protocolo'], |
|||
cod_protocolo=REQUEST['txt_num_protocolo'], ano_protocolo=REQUEST['txt_ano_protocolo'], |
|||
tip_documento=REQUEST['lst_tip_documento'], tip_processo=REQUEST['rad_tip_processo'], |
|||
tip_materia=REQUEST['lst_tip_materia'], des_assunto=REQUEST['txt_assunto'], |
|||
cod_autor=REQUEST['hdn_cod_autor'], des_interessado=REQUEST['txa_txt_interessado'], |
|||
cod_protocolo=REQUEST['txt_num_protocolo'], ano_protocolo=REQUEST[ |
|||
'txt_ano_protocolo'], |
|||
tip_documento=REQUEST['lst_tip_documento'], tip_processo=REQUEST[ |
|||
'rad_tip_processo'], |
|||
tip_materia=REQUEST[ |
|||
'lst_tip_materia'], des_assunto=REQUEST['txt_assunto'], |
|||
cod_autor=REQUEST['hdn_cod_autor'], des_interessado=REQUEST[ |
|||
'txa_txt_interessado'], |
|||
dat_apres=REQUEST['dt_apres'], dat_apres2=REQUEST['dt_apres2']): |
|||
dic={} |
|||
dic = {} |
|||
|
|||
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'] = " " |
|||
if protocolo.cod_autor!=None: |
|||
if protocolo.cod_autor != None: |
|||
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): |
|||
dic['nom_autor']=parlamentar.nom_completo |
|||
elif autor.des_tipo_autor=='Comissao': |
|||
dic['nom_autor'] = parlamentar.nom_completo |
|||
elif autor.des_tipo_autor == 'Comissao': |
|||
for comissao in context.zsql.comissao_obter_zsql(cod_comissao=autor.cod_comissao): |
|||
dic['nom_autor']=comissao.nom_comissao |
|||
dic['nom_autor'] = comissao.nom_comissao |
|||
else: |
|||
dic['nom_autor']=autor.nom_autor |
|||
dic['nom_autor'] = autor.nom_autor |
|||
else: |
|||
dic['nom_autor']=protocolo.txt_interessado |
|||
dic['nom_autor'] = protocolo.txt_interessado |
|||
|
|||
dic['natureza']='' |
|||
if protocolo.tip_processo==0: |
|||
dic['natureza']='Administrativo' |
|||
if protocolo.tip_processo==1: |
|||
dic['natureza']='Legislativo' |
|||
dic['natureza'] = '' |
|||
if protocolo.tip_processo == 0: |
|||
dic['natureza'] = 'Administrativo' |
|||
if protocolo.tip_processo == 1: |
|||
dic['natureza'] = 'Legislativo' |
|||
|
|||
dic['ident_processo']=protocolo.des_tipo_materia or protocolo.des_tipo_documento |
|||
dic['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']='' |
|||
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'] = '' |
|||
for materia in context.zsql.materia_obter_zsql(num_protocolo=protocolo.cod_protocolo, ano_ident_basica=protocolo.ano_protocolo): |
|||
dic['num_materia'] = str(materia.num_ident_basica) + \ |
|||
'/' + str(materia.ano_ident_basica) |
|||
|
|||
dic['num_documento']='' |
|||
dic['num_documento'] = '' |
|||
for documento in context.zsql.documento_administrativo_obter_zsql(num_protocolo=protocolo.cod_protocolo): |
|||
dic['num_documento']=str(documento.num_documento)+'/'+ str(documento.ano_documento) |
|||
dic['num_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']='' |
|||
for materia_num in context.zsql.materia_obter_zsql(num_protocolo=protocolo.cod_protocolo,ano_ident_basica=protocolo.ano_protocolo): |
|||
for numera in context.zsql.numeracao_obter_zsql(cod_materia=materia_num.cod_materia,ind_excluido=0): |
|||
dic['numeracao']='PROCESSO N° ' +str(numera.num_materia)+'/'+ str(numera.ano_materia) |
|||
dic['numeracao'] = '' |
|||
for materia_num in context.zsql.materia_obter_zsql(num_protocolo=protocolo.cod_protocolo, ano_ident_basica=protocolo.ano_protocolo): |
|||
for numera in context.zsql.numeracao_obter_zsql(cod_materia=materia_num.cod_materia, ind_excluido=0): |
|||
dic['numeracao'] = 'PROCESSO N° ' + \ |
|||
str(numera.num_materia) + '/' + str(numera.ano_materia) |
|||
|
|||
dic['anulado']='' |
|||
if protocolo.ind_anulado==1: |
|||
dic['anulado']='Nulo' |
|||
dic['anulado'] = '' |
|||
if protocolo.ind_anulado == 1: |
|||
dic['anulado'] = 'Nulo' |
|||
|
|||
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 |
|||
filtro['numero']=REQUEST.txt_num_protocolo |
|||
filtro['ano']=REQUEST.txt_ano_protocolo |
|||
filtro['tipo_protocolo']=REQUEST.rad_tip_protocolo |
|||
filtro['tipo_processo']=REQUEST.rad_tip_processo |
|||
filtro['assunto']=REQUEST.txt_assunto |
|||
filtro['autor']=REQUEST.hdn_cod_autor |
|||
filtro['interessado']=REQUEST.txa_txt_interessado |
|||
|
|||
sessao=session.id |
|||
caminho = context.pdf_capa_processo_gerar(sessao,imagem,data,protocolos,cabecalho,rodape,filtro) |
|||
if caminho=='aviso': |
|||
filtro['numero'] = REQUEST.txt_num_protocolo |
|||
filtro['ano'] = REQUEST.txt_ano_protocolo |
|||
filtro['tipo_protocolo'] = REQUEST.rad_tip_protocolo |
|||
filtro['tipo_processo'] = REQUEST.rad_tip_processo |
|||
filtro['assunto'] = REQUEST.txt_assunto |
|||
filtro['autor'] = REQUEST.hdn_cod_autor |
|||
filtro['interessado'] = REQUEST.txa_txt_interessado |
|||
|
|||
sessao = session.id |
|||
caminho = context.pdf_capa_processo_gerar( |
|||
sessao, imagem, data, protocolos, cabecalho, rodape, filtro) |
|||
if caminho == 'aviso': |
|||
return response.redirect('mensagem_emitir_proc') |
|||
else: |
|||
response.redirect(caminho) |
|||
|
@ -1,124 +1,135 @@ |
|||
import os |
|||
|
|||
request=context.REQUEST |
|||
response=request.RESPONSE |
|||
session= request.SESSION |
|||
request = context.REQUEST |
|||
response = request.RESPONSE |
|||
session = request.SESSION |
|||
|
|||
data=DateTime().strftime('%d/%m/%Y') |
|||
data = DateTime().strftime('%d/%m/%Y') |
|||
|
|||
#Abaixo é gerada a string para o rodapé da página |
|||
casa={} |
|||
aux=context.sapl_documentos.props_sapl.propertyItems() |
|||
# Abaixo é gerada a string para o rodapé da página |
|||
casa = {} |
|||
aux = context.sapl_documentos.props_sapl.propertyItems() |
|||
for item in aux: |
|||
casa[item[0]]=item[1] |
|||
localidade=context.zsql.localidade_obter_zsql(cod_localidade=casa["cod_localidade"]) |
|||
if len(casa["num_cep"])==8: |
|||
cep=casa["num_cep"][:4]+"-"+casa["num_cep"][5:] |
|||
casa[item[0]] = item[1] |
|||
localidade = context.zsql.localidade_obter_zsql( |
|||
cod_localidade=casa["cod_localidade"]) |
|||
if len(casa["num_cep"]) == 8: |
|||
cep = casa["num_cep"][:4] + "-" + casa["num_cep"][5:] |
|||
else: |
|||
cep="" |
|||
cep = "" |
|||
|
|||
linha1=casa["end_casa"] |
|||
if cep!="": |
|||
if casa["end_casa"]!="" and casa["end_casa"]!=None: |
|||
linha1 = casa["end_casa"] |
|||
if cep != "": |
|||
if casa["end_casa"] != "" and casa["end_casa"] != None: |
|||
linha1 = linha1 + " - " |
|||
linha1 = linha1 + "CEP "+cep |
|||
if localidade[0].nom_localidade!="" and localidade[0].nom_localidade!=None: |
|||
linha1 = linha1 + " - "+localidade[0].nom_localidade+" "+localidade[0].sgl_uf |
|||
if casa["num_tel"]!="" and casa["num_tel"]!=None: |
|||
linha1 = linha1 + " Tel.: "+ casa["num_tel"] |
|||
|
|||
linha2=casa["end_web_casa"] |
|||
if casa["end_email_casa"]!="" and casa["end_email_casa"]!=None: |
|||
if casa["end_web_casa"]!="" and casa["end_web_casa"]!=None: |
|||
linha1 = linha1 + "CEP " + cep |
|||
if localidade[0].nom_localidade != "" and localidade[0].nom_localidade != None: |
|||
linha1 = linha1 + " - " + \ |
|||
localidade[0].nom_localidade + " " + localidade[0].sgl_uf |
|||
if casa["num_tel"] != "" and casa["num_tel"] != None: |
|||
linha1 = linha1 + " Tel.: " + casa["num_tel"] |
|||
|
|||
linha2 = casa["end_web_casa"] |
|||
if casa["end_email_casa"] != "" and casa["end_email_casa"] != None: |
|||
if casa["end_web_casa"] != "" and casa["end_web_casa"] != None: |
|||
linha2 = linha2 + " - " |
|||
linha2 = linha2 + "E-mail: "+casa["end_email_casa"] |
|||
linha2 = linha2 + "E-mail: " + casa["end_email_casa"] |
|||
|
|||
data_emissao=DateTime().strftime("%d/%m/%Y") |
|||
rodape=[linha1,linha2,data_emissao] |
|||
data_emissao = DateTime().strftime("%d/%m/%Y") |
|||
rodape = [linha1, linha2, data_emissao] |
|||
|
|||
#Por fim, gera-se as entradas para o cabeçalho |
|||
estados=context.zsql.localidade_obter_zsql(tip_localidade="u") |
|||
# Por fim, gera-se as entradas para o cabeçalho |
|||
estados = context.zsql.localidade_obter_zsql(tip_localidade="u") |
|||
for uf in estados: |
|||
if localidade[0].sgl_uf==uf.sgl_uf: |
|||
nom_estado=uf.nom_localidade |
|||
if localidade[0].sgl_uf == uf.sgl_uf: |
|||
nom_estado = uf.nom_localidade |
|||
break |
|||
cabecalho={} |
|||
cabecalho["nom_casa"]=casa["nom_casa"] |
|||
cabecalho["nom_estado"]="Estado de "+nom_estado |
|||
cabecalho = {} |
|||
cabecalho["nom_casa"] = casa["nom_casa"] |
|||
cabecalho["nom_estado"] = "Estado de " + nom_estado |
|||
|
|||
# tenta buscar o logotipo da casa LOGO_CASA |
|||
if hasattr(context.sapl_documentos.props_sapl,'logo_casa.gif'): |
|||
if hasattr(context.sapl_documentos.props_sapl, 'logo_casa.gif'): |
|||
imagem = context.sapl_documentos.props_sapl['logo_casa.gif'].absolute_url() |
|||
else: |
|||
imagem = context.imagens.absolute_url() + "/brasao_transp.gif" |
|||
|
|||
#Por fim, utiliza o PythonScript para pesquisar os documentos e gerar os dados |
|||
# Por fim, utiliza o PythonScript para pesquisar os documentos e gerar os dados |
|||
|
|||
documentos=[] |
|||
REQUEST=context.REQUEST |
|||
documentos = [] |
|||
REQUEST = context.REQUEST |
|||
for documento in context.zsql.documento_administrativo_pesquisar_zsql(tip_documento=REQUEST['lst_tip_documento'], |
|||
num_documento=REQUEST['txt_num_documento'], ano_documento=REQUEST['txt_ano_documento'], |
|||
num_protocolo=REQUEST['txt_num_protocolo'], ind_tramitacao=REQUEST['rad_tramitando'], |
|||
des_assunto=REQUEST['txa_txt_assunto'], cod_status=REQUEST['lst_status'], |
|||
txt_interessado=REQUEST['txa_txt_interessado'], dat_apres1=REQUEST['dt_apres1'], |
|||
num_documento=REQUEST['txt_num_documento'], ano_documento=REQUEST[ |
|||
'txt_ano_documento'], |
|||
num_protocolo=REQUEST[ |
|||
'txt_num_protocolo'], ind_tramitacao=REQUEST['rad_tramitando'], |
|||
des_assunto=REQUEST[ |
|||
'txa_txt_assunto'], cod_status=REQUEST['lst_status'], |
|||
txt_interessado=REQUEST[ |
|||
'txa_txt_interessado'], dat_apres1=REQUEST['dt_apres1'], |
|||
dat_apres2=REQUEST['dt_apres2'], rd_ordem=REQUEST['rd_ordenacao']): |
|||
dic={} |
|||
dic = {} |
|||
|
|||
dic['titulo']=documento.sgl_tipo_documento+" "+str(documento.num_documento)+" "+str(documento.ano_documento)+" - "+documento.des_tipo_documento |
|||
dic['txt_assunto']=documento.txt_assunto |
|||
dic['txt_interessado']=documento.txt_interessado |
|||
dic['titulo'] = documento.sgl_tipo_documento + " " + \ |
|||
str(documento.num_documento) + " " + \ |
|||
str(documento.ano_documento) + " - " + documento.des_tipo_documento |
|||
dic['txt_assunto'] = documento.txt_assunto |
|||
dic['txt_interessado'] = documento.txt_interessado |
|||
|
|||
des_status = '' |
|||
txt_tramitacao='' |
|||
txt_tramitacao = '' |
|||
|
|||
dic['localizacao_atual']=" " |
|||
for tramitacao in context.zsql.tramitacao_administrativo_obter_zsql(cod_documento=documento.cod_documento,ind_ult_tramitacao=1): |
|||
dic['localizacao_atual'] = " " |
|||
for tramitacao in context.zsql.tramitacao_administrativo_obter_zsql(cod_documento=documento.cod_documento, ind_ult_tramitacao=1): |
|||
if tramitacao.cod_unid_tram_dest: |
|||
cod_unid_tram = tramitacao.cod_unid_tram_dest |
|||
else: |
|||
cod_unid_tram = tramitacao.cod_unid_tram_local |
|||
|
|||
for unidade_tramitacao in context.zsql.unidade_tramitacao_obter_zsql(cod_unid_tramitacao = cod_unid_tram): |
|||
for unidade_tramitacao in context.zsql.unidade_tramitacao_obter_zsql(cod_unid_tramitacao=cod_unid_tram): |
|||
if unidade_tramitacao.cod_orgao: |
|||
dic['localizacao_atual']=unidade_tramitacao.nom_orgao |
|||
dic['localizacao_atual'] = unidade_tramitacao.nom_orgao |
|||
else: |
|||
dic['localizacao_atual']=unidade_tramitacao.nom_comissao |
|||
dic['localizacao_atual'] = unidade_tramitacao.nom_comissao |
|||
|
|||
des_status=tramitacao.des_status |
|||
txt_tramitacao=tramitacao.txt_tramitacao |
|||
des_status = tramitacao.des_status |
|||
txt_tramitacao = tramitacao.txt_tramitacao |
|||
|
|||
dic['des_situacao']=des_status |
|||
dic['ultima_acao']=txt_tramitacao |
|||
dic['des_situacao'] = des_status |
|||
dic['ultima_acao'] = txt_tramitacao |
|||
|
|||
documentos.append(dic) |
|||
|
|||
filtro={} # Dicionário que conterá os dados do filtro |
|||
filtro = {} # Dicionário que conterá os dados do filtro |
|||
|
|||
# Atribuições diretas do REQUEST |
|||
filtro['numero']=REQUEST.txt_num_documento |
|||
filtro['ano']=REQUEST.txt_ano_documento |
|||
filtro['interessado']=REQUEST.txa_txt_interessado |
|||
filtro['assunto']=REQUEST.txa_txt_assunto |
|||
filtro['numero'] = REQUEST.txt_num_documento |
|||
filtro['ano'] = REQUEST.txt_ano_documento |
|||
filtro['interessado'] = REQUEST.txa_txt_interessado |
|||
filtro['assunto'] = REQUEST.txa_txt_assunto |
|||
|
|||
filtro['tipo_documento']='' |
|||
if REQUEST.lst_tip_documento!='': |
|||
filtro['tipo_documento'] = '' |
|||
if REQUEST.lst_tip_documento != '': |
|||
for tipo_documento in context.zsql.tipo_documento_administrativo_obter_zsql(ind_excluido=0, tip_documento=REQUEST.lst_tip_documento): |
|||
filtro['tipo_documento']= tipo_documento.sgl_tipo_documento + ' - ' + tipo_documento.des_tipo_documento |
|||
|
|||
filtro['tramitando']='' |
|||
if REQUEST.rad_tramitando=='1': |
|||
filtro['tramitacao']='Sim' |
|||
elif REQUEST['rad_tramitando']=='0': |
|||
filtro['tramitacao']='Não' |
|||
|
|||
filtro['situacao_atual']='' |
|||
if REQUEST.lst_status!='': |
|||
for status in context.zsql.status_tramitacao_administrativo_obter_zsql(ind_exluido=0,cod_status=REQUEST.lst_status): |
|||
filtro['situacao_atual']=status.sgl_status + ' - ' + status.des_status |
|||
|
|||
sessao=session.id |
|||
caminho = context.pdf_documento_administrativo_gerar(sessao,imagem,data,documentos,cabecalho,rodape,filtro) |
|||
if caminho=='aviso': |
|||
filtro['tipo_documento'] = tipo_documento.sgl_tipo_documento + \ |
|||
' - ' + tipo_documento.des_tipo_documento |
|||
|
|||
filtro['tramitando'] = '' |
|||
if REQUEST.rad_tramitando == '1': |
|||
filtro['tramitacao'] = 'Sim' |
|||
elif REQUEST['rad_tramitando'] == '0': |
|||
filtro['tramitacao'] = 'Não' |
|||
|
|||
filtro['situacao_atual'] = '' |
|||
if REQUEST.lst_status != '': |
|||
for status in context.zsql.status_tramitacao_administrativo_obter_zsql(ind_exluido=0, cod_status=REQUEST.lst_status): |
|||
filtro['situacao_atual'] = status.sgl_status + \ |
|||
' - ' + status.des_status |
|||
|
|||
sessao = session.id |
|||
caminho = context.pdf_documento_administrativo_gerar( |
|||
sessao, imagem, data, documentos, cabecalho, rodape, filtro) |
|||
if caminho == 'aviso': |
|||
return response.redirect('mensagem_emitir_proc') |
|||
else: |
|||
response.redirect(caminho) |
|||
|
@ -1,200 +1,210 @@ |
|||
import os |
|||
|
|||
request=context.REQUEST |
|||
response=request.RESPONSE |
|||
session= request.SESSION |
|||
request = context.REQUEST |
|||
response = request.RESPONSE |
|||
session = request.SESSION |
|||
|
|||
data=DateTime().strftime('%d/%m/%Y') |
|||
data = DateTime().strftime('%d/%m/%Y') |
|||
|
|||
#Abaixo é gerada a string para o rodapé da página |
|||
casa={} |
|||
aux=context.sapl_documentos.props_sapl.propertyItems() |
|||
# Abaixo é gerada a string para o rodapé da página |
|||
casa = {} |
|||
aux = context.sapl_documentos.props_sapl.propertyItems() |
|||
for item in aux: |
|||
casa[item[0]]=item[1] |
|||
localidade=context.zsql.localidade_obter_zsql(cod_localidade=casa["cod_localidade"]) |
|||
if len(casa["num_cep"])==8: |
|||
cep=casa["num_cep"][:4]+"-"+casa["num_cep"][5:] |
|||
casa[item[0]] = item[1] |
|||
localidade = context.zsql.localidade_obter_zsql( |
|||
cod_localidade=casa["cod_localidade"]) |
|||
if len(casa["num_cep"]) == 8: |
|||
cep = casa["num_cep"][:4] + "-" + casa["num_cep"][5:] |
|||
else: |
|||
cep="" |
|||
cep = "" |
|||
|
|||
linha1=casa["end_casa"] |
|||
if cep!="": |
|||
if casa["end_casa"]!="" and casa["end_casa"]!=None: |
|||
linha1 = casa["end_casa"] |
|||
if cep != "": |
|||
if casa["end_casa"] != "" and casa["end_casa"] != None: |
|||
linha1 = linha1 + " - " |
|||
linha1 = linha1 + "CEP "+cep |
|||
if localidade[0].nom_localidade!="" and localidade[0].nom_localidade!=None: |
|||
linha1 = linha1 + " - "+localidade[0].nom_localidade+" "+localidade[0].sgl_uf |
|||
if casa["num_tel"]!="" and casa["num_tel"]!=None: |
|||
linha1 = linha1 + " Tel.: "+ casa["num_tel"] |
|||
|
|||
linha2=casa["end_web_casa"] |
|||
if casa["end_email_casa"]!="" and casa["end_email_casa"]!=None: |
|||
if casa["end_web_casa"]!="" and casa["end_web_casa"]!=None: |
|||
linha1 = linha1 + "CEP " + cep |
|||
if localidade[0].nom_localidade != "" and localidade[0].nom_localidade != None: |
|||
linha1 = linha1 + " - " + \ |
|||
localidade[0].nom_localidade + " " + localidade[0].sgl_uf |
|||
if casa["num_tel"] != "" and casa["num_tel"] != None: |
|||
linha1 = linha1 + " Tel.: " + casa["num_tel"] |
|||
|
|||
linha2 = casa["end_web_casa"] |
|||
if casa["end_email_casa"] != "" and casa["end_email_casa"] != None: |
|||
if casa["end_web_casa"] != "" and casa["end_web_casa"] != None: |
|||
linha2 = linha2 + " - " |
|||
linha2 = linha2 + "E-mail: "+casa["end_email_casa"] |
|||
linha2 = linha2 + "E-mail: " + casa["end_email_casa"] |
|||
|
|||
data_emissao=DateTime().strftime("%d/%m/%Y") |
|||
rodape=[linha1,linha2,data_emissao] |
|||
data_emissao = DateTime().strftime("%d/%m/%Y") |
|||
rodape = [linha1, linha2, data_emissao] |
|||
|
|||
#Por fim, gera-se as entradas para o cabeçalho |
|||
estados=context.zsql.localidade_obter_zsql(tip_localidade="u") |
|||
# Por fim, gera-se as entradas para o cabeçalho |
|||
estados = context.zsql.localidade_obter_zsql(tip_localidade="u") |
|||
for uf in estados: |
|||
if localidade[0].sgl_uf==uf.sgl_uf: |
|||
nom_estado=uf.nom_localidade |
|||
if localidade[0].sgl_uf == uf.sgl_uf: |
|||
nom_estado = uf.nom_localidade |
|||
break |
|||
cabecalho={} |
|||
cabecalho["nom_casa"]=casa["nom_casa"] |
|||
cabecalho["nom_estado"]="Estado de "+nom_estado |
|||
cabecalho = {} |
|||
cabecalho["nom_casa"] = casa["nom_casa"] |
|||
cabecalho["nom_estado"] = "Estado de " + nom_estado |
|||
|
|||
# tenta buscar o logotipo da casa LOGO_CASA |
|||
if hasattr(context.sapl_documentos.props_sapl,'logo_casa.gif'): |
|||
if hasattr(context.sapl_documentos.props_sapl, 'logo_casa.gif'): |
|||
imagem = context.sapl_documentos.props_sapl['logo_casa.gif'].absolute_url() |
|||
else: |
|||
imagem = context.sapl_site.sapl_skin.imagens.absolute_url() + "/brasao_transp.gif" |
|||
|
|||
#Verifica o tamanho da lista das materias selecionadas vindas do form |
|||
REQUEST=context.REQUEST |
|||
if REQUEST.txt_check=='1': |
|||
# Verifica o tamanho da lista das materias selecionadas vindas do form |
|||
REQUEST = context.REQUEST |
|||
if REQUEST.txt_check == '1': |
|||
cod_mat = REQUEST['check_ind'] |
|||
materias=[] |
|||
REQUEST=context.REQUEST |
|||
materias = [] |
|||
REQUEST = context.REQUEST |
|||
for materia in context.zsql.materia_obter_zsql(cod_materia=cod_mat): |
|||
dic={} |
|||
dic['titulo']="INDICAÇÃO: "+str(materia.num_ident_basica)+" "+str(materia.ano_ident_basica) |
|||
dic['materia']=str(materia.num_ident_basica)+"/"+str(materia.ano_ident_basica) |
|||
dic['dat_apresentacao']=materia.dat_apresentacao |
|||
dic['txt_ementa']=materia.txt_ementa |
|||
dic = {} |
|||
dic['titulo'] = "INDICAÇÃO: " + \ |
|||
str(materia.num_ident_basica) + " " + str(materia.ano_ident_basica) |
|||
dic['materia'] = str(materia.num_ident_basica) + \ |
|||
"/" + str(materia.ano_ident_basica) |
|||
dic['dat_apresentacao'] = materia.dat_apresentacao |
|||
dic['txt_ementa'] = materia.txt_ementa |
|||
|
|||
dic['nom_autor'] = " " |
|||
for autoria in context.zsql.autoria_obter_zsql(cod_materia=materia.cod_materia, ind_primeiro_autor=1): |
|||
for autor in context.zsql.autor_obter_zsql(cod_autor=autoria.cod_autor): |
|||
if autor.des_tipo_autor=='Parlamentar': |
|||
if autor.des_tipo_autor == 'Parlamentar': |
|||
for parlamentar in context.zsql.parlamentar_obter_zsql(cod_parlamentar=autor.cod_parlamentar): |
|||
dic['nom_autor']=parlamentar.nom_completo |
|||
elif autor.des_tipo_autor=='Comissao': |
|||
dic['nom_autor'] = parlamentar.nom_completo |
|||
elif autor.des_tipo_autor == 'Comissao': |
|||
for comissao in context.zsql.comissao_obter_zsql(cod_comissao=autor.cod_comissao): |
|||
dic['nom_autor']=comissao.nom_comissao |
|||
dic['nom_autor'] = comissao.nom_comissao |
|||
else: |
|||
dic['nom_autor']=autor.nom_autor |
|||
dic['nom_autor'] = autor.nom_autor |
|||
|
|||
des_status = '' |
|||
txt_tramitacao='' |
|||
txt_tramitacao = '' |
|||
data_ultima_acao = '' |
|||
|
|||
dic['localizacao_atual']=" " |
|||
for tramitacao in context.zsql.tramitacao_obter_zsql(cod_materia=materia.cod_materia,ind_ult_tramitacao=1): |
|||
dic['localizacao_atual'] = " " |
|||
for tramitacao in context.zsql.tramitacao_obter_zsql(cod_materia=materia.cod_materia, ind_ult_tramitacao=1): |
|||
if tramitacao.cod_unid_tram_dest: |
|||
cod_unid_tram = tramitacao.cod_unid_tram_dest |
|||
else: |
|||
cod_unid_tram = tramitacao.cod_unid_tram_local |
|||
|
|||
for unidade_tramitacao in context.zsql.unidade_tramitacao_obter_zsql(cod_unid_tramitacao = cod_unid_tram): |
|||
for unidade_tramitacao in context.zsql.unidade_tramitacao_obter_zsql(cod_unid_tramitacao=cod_unid_tram): |
|||
if unidade_tramitacao.cod_orgao: |
|||
dic['localizacao_atual']=unidade_tramitacao.nom_orgao |
|||
dic['localizacao_atual'] = unidade_tramitacao.nom_orgao |
|||
elif unidade_tramitacao.cod_parlamentar: |
|||
dic['localizacao_atual']=unidade_tramitacao.nom_parlamentar |
|||
dic['localizacao_atual'] = unidade_tramitacao.nom_parlamentar |
|||
else: |
|||
dic['localizacao_atual']=unidade_tramitacao.nom_comissao |
|||
dic['localizacao_atual'] = unidade_tramitacao.nom_comissao |
|||
|
|||
des_status=tramitacao.des_status |
|||
txt_tramitacao=tramitacao.txt_tramitacao |
|||
des_status = tramitacao.des_status |
|||
txt_tramitacao = tramitacao.txt_tramitacao |
|||
data_ultima_acao = tramitacao.dat_tramitacao |
|||
|
|||
dic['des_situacao']=des_status |
|||
dic['ultima_acao']=txt_tramitacao |
|||
dic['data_ultima_acao']=data_ultima_acao |
|||
dic['des_situacao'] = des_status |
|||
dic['ultima_acao'] = txt_tramitacao |
|||
dic['data_ultima_acao'] = data_ultima_acao |
|||
|
|||
dic['norma_juridica_vinculada'] = "Não há nenhuma norma jurídica vinculada" |
|||
for norma in context.zsql.materia_buscar_norma_juridica_zsql(cod_materia=materia.cod_materia): |
|||
dic['norma_juridica_vinculada']=norma.des_norma+" "+str(norma.num_norma)+"/"+str(norma.ano_norma) |
|||
dic['norma_juridica_vinculada'] = norma.des_norma + " " + \ |
|||
str(norma.num_norma) + "/" + str(norma.ano_norma) |
|||
|
|||
materias.append(dic) |
|||
|
|||
else: |
|||
codigo = REQUEST.check_ind |
|||
materias=[] |
|||
REQUEST=context.REQUEST |
|||
materias = [] |
|||
REQUEST = context.REQUEST |
|||
for cod_mat in codigo: |
|||
for materia in context.zsql.materia_obter_zsql(cod_materia=cod_mat): |
|||
dic={} |
|||
dic['titulo']="INDICAÃÃO: "+str(materia.num_ident_basica)+" "+str(materia.ano_ident_basica) |
|||
dic['materia']=str(materia.num_ident_basica)+"/"+str(materia.ano_ident_basica) |
|||
dic['dat_apresentacao']=materia.dat_apresentacao |
|||
dic['txt_ementa']=materia.txt_ementa |
|||
dic = {} |
|||
dic['titulo'] = "INDICAÃÃO: " + \ |
|||
str(materia.num_ident_basica) + " " + \ |
|||
str(materia.ano_ident_basica) |
|||
dic['materia'] = str(materia.num_ident_basica) + \ |
|||
"/" + str(materia.ano_ident_basica) |
|||
dic['dat_apresentacao'] = materia.dat_apresentacao |
|||
dic['txt_ementa'] = materia.txt_ementa |
|||
|
|||
dic['nom_autor'] = " " |
|||
for autoria in context.zsql.autoria_obter_zsql(cod_materia=materia.cod_materia, ind_primeiro_autor=1): |
|||
for autor in context.zsql.autor_obter_zsql(cod_autor=autoria.cod_autor): |
|||
if autor.des_tipo_autor=='Parlamentar': |
|||
if autor.des_tipo_autor == 'Parlamentar': |
|||
for parlamentar in context.zsql.parlamentar_obter_zsql(cod_parlamentar=autor.cod_parlamentar): |
|||
dic['nom_autor']=parlamentar.nom_completo |
|||
elif autor.des_tipo_autor=='Comissao': |
|||
dic['nom_autor'] = parlamentar.nom_completo |
|||
elif autor.des_tipo_autor == 'Comissao': |
|||
for comissao in context.zsql.comissao_obter_zsql(cod_comissao=autor.cod_comissao): |
|||
dic['nom_autor']=comissao.nom_comissao |
|||
dic['nom_autor'] = comissao.nom_comissao |
|||
else: |
|||
dic['nom_autor']=autor.nom_autor |
|||
dic['nom_autor'] = autor.nom_autor |
|||
|
|||
des_status = '' |
|||
txt_tramitacao='' |
|||
txt_tramitacao = '' |
|||
data_ultima_acao = '' |
|||
|
|||
dic['localizacao_atual']=" " |
|||
for tramitacao in context.zsql.tramitacao_obter_zsql(cod_materia=materia.cod_materia,ind_ult_tramitacao=1): |
|||
dic['localizacao_atual'] = " " |
|||
for tramitacao in context.zsql.tramitacao_obter_zsql(cod_materia=materia.cod_materia, ind_ult_tramitacao=1): |
|||
if tramitacao.cod_unid_tram_dest: |
|||
cod_unid_tram = tramitacao.cod_unid_tram_dest |
|||
else: |
|||
cod_unid_tram = tramitacao.cod_unid_tram_local |
|||
|
|||
for unidade_tramitacao in context.zsql.unidade_tramitacao_obter_zsql(cod_unid_tramitacao = cod_unid_tram): |
|||
for unidade_tramitacao in context.zsql.unidade_tramitacao_obter_zsql(cod_unid_tramitacao=cod_unid_tram): |
|||
if unidade_tramitacao.cod_orgao: |
|||
dic['localizacao_atual']=unidade_tramitacao.nom_orgao |
|||
dic['localizacao_atual'] = unidade_tramitacao.nom_orgao |
|||
elif unidade_tramitacao.cod_parlamentar: |
|||
dic['localizacao_atual']=unidade_tramitacao.nom_parlamentar |
|||
dic['localizacao_atual'] = unidade_tramitacao.nom_parlamentar |
|||
else: |
|||
dic['localizacao_atual']=unidade_tramitacao.nom_comissao |
|||
dic['localizacao_atual'] = unidade_tramitacao.nom_comissao |
|||
|
|||
des_status=tramitacao.des_status |
|||
txt_tramitacao=tramitacao.txt_tramitacao |
|||
des_status = tramitacao.des_status |
|||
txt_tramitacao = tramitacao.txt_tramitacao |
|||
data_ultima_acao = tramitacao.dat_tramitacao |
|||
|
|||
dic['des_situacao']=des_status |
|||
dic['ultima_acao']=txt_tramitacao |
|||
dic['data_ultima_acao']=data_ultima_acao |
|||
dic['des_situacao'] = des_status |
|||
dic['ultima_acao'] = txt_tramitacao |
|||
dic['data_ultima_acao'] = data_ultima_acao |
|||
|
|||
dic['norma_juridica_vinculada'] = "Não há nenhuma norma jurídica vinculada" |
|||
for norma in context.zsql.materia_buscar_norma_juridica_zsql(cod_materia=materia.cod_materia): |
|||
dic['norma_juridica_vinculada']=norma.des_norma+" "+str(norma.num_norma)+"/"+str(norma.ano_norma) |
|||
dic['norma_juridica_vinculada'] = norma.des_norma + " " + \ |
|||
str(norma.num_norma) + "/" + str(norma.ano_norma) |
|||
|
|||
materias.append(dic) |
|||
|
|||
filtro={} # Dicionário que conterá os dados do filtro |
|||
filtro = {} # Dicionário que conterá os dados do filtro |
|||
|
|||
# Atribuições diretas do REQUEST |
|||
#filtro['data_apres']=REQUEST.data |
|||
# filtro['data_apres']=REQUEST.data |
|||
|
|||
#filtro['tipo_materia']='' |
|||
#for tipo_materia in context.zsql.tipo_materia_legislativa_obter_zsql(ind_excluido=0, tip_materia=9): |
|||
# filtro['tipo_materia']='' |
|||
# for tipo_materia in context.zsql.tipo_materia_legislativa_obter_zsql(ind_excluido=0, tip_materia=9): |
|||
# filtro['tipo_materia']= tipo_materia.sgl_tipo_materia + ' - ' + tipo_materia.des_tipo_materia |
|||
|
|||
#filtro['partido']='' |
|||
#if REQUEST.lst_cod_partido!='': |
|||
# filtro['partido']='' |
|||
# if REQUEST.lst_cod_partido!='': |
|||
# for partido in context.zsql.partido_obter_zsql(ind_excluido=0,cod_partido=REQUEST.lst_cod_partido): |
|||
# filtro['partido']=partido.sgl_partido + ' - ' + partido.nom_partido |
|||
|
|||
#filtro['tramitando']='' |
|||
#if REQUEST.rad_tramitando=='1': |
|||
# filtro['tramitando']='' |
|||
# if REQUEST.rad_tramitando=='1': |
|||
# filtro['tramitacao']='Sim' |
|||
#elif REQUEST['rad_tramitando']=='0': |
|||
# elif REQUEST['rad_tramitando']=='0': |
|||
# filtro['tramitacao']='Não' |
|||
|
|||
#filtro['situacao_atual']='' |
|||
#if REQUEST.lst_status!='': |
|||
# filtro['situacao_atual']='' |
|||
# if REQUEST.lst_status!='': |
|||
# for status in context.zsql.status_tramitacao_obter_zsql(ind_exluido=0,cod_status=REQUEST.lst_status): |
|||
# filtro['situacao_atual']=status.sgl_status + ' - ' + status.des_status |
|||
|
|||
sessao=session.id |
|||
caminho = context.pdf_espelho_gerar(sessao,imagem,data,materias,cabecalho,rodape,filtro) |
|||
if caminho=='aviso': |
|||
sessao = session.id |
|||
caminho = context.pdf_espelho_gerar( |
|||
sessao, imagem, data, materias, cabecalho, rodape, filtro) |
|||
if caminho == 'aviso': |
|||
return response.redirect('mensagem_emitir_proc') |
|||
else: |
|||
response.redirect(caminho) |
|||
|
@ -1,127 +1,137 @@ |
|||
import os |
|||
|
|||
request=context.REQUEST |
|||
response=request.RESPONSE |
|||
session= request.SESSION |
|||
request = context.REQUEST |
|||
response = request.RESPONSE |
|||
session = request.SESSION |
|||
|
|||
data=DateTime().strftime('%d/%m/%Y') |
|||
data = DateTime().strftime('%d/%m/%Y') |
|||
|
|||
#Abaixo é gerada a string para o rodapé da página |
|||
casa={} |
|||
aux=context.sapl_documentos.props_sapl.propertyItems() |
|||
# Abaixo é gerada a string para o rodapé da página |
|||
casa = {} |
|||
aux = context.sapl_documentos.props_sapl.propertyItems() |
|||
for item in aux: |
|||
casa[item[0]]=item[1] |
|||
localidade=context.zsql.localidade_obter_zsql(cod_localidade=casa["cod_localidade"]) |
|||
if len(casa["num_cep"])==8: |
|||
cep=casa["num_cep"][:4]+"-"+casa["num_cep"][5:] |
|||
casa[item[0]] = item[1] |
|||
localidade = context.zsql.localidade_obter_zsql( |
|||
cod_localidade=casa["cod_localidade"]) |
|||
if len(casa["num_cep"]) == 8: |
|||
cep = casa["num_cep"][:4] + "-" + casa["num_cep"][5:] |
|||
else: |
|||
cep="" |
|||
cep = "" |
|||
|
|||
linha1=casa["end_casa"] |
|||
if cep!="": |
|||
if casa["end_casa"]!="" and casa["end_casa"]!=None: |
|||
linha1 = casa["end_casa"] |
|||
if cep != "": |
|||
if casa["end_casa"] != "" and casa["end_casa"] != None: |
|||
linha1 = linha1 + " - " |
|||
linha1 = linha1 + "CEP "+cep |
|||
if localidade[0].nom_localidade!="" and localidade[0].nom_localidade!=None: |
|||
linha1 = linha1 + " - "+localidade[0].nom_localidade+" "+localidade[0].sgl_uf |
|||
if casa["num_tel"]!="" and casa["num_tel"]!=None: |
|||
linha1 = linha1 + " Tel.: "+ casa["num_tel"] |
|||
|
|||
linha2=casa["end_web_casa"] |
|||
if casa["end_email_casa"]!="" and casa["end_email_casa"]!=None: |
|||
if casa["end_web_casa"]!="" and casa["end_web_casa"]!=None: |
|||
linha1 = linha1 + "CEP " + cep |
|||
if localidade[0].nom_localidade != "" and localidade[0].nom_localidade != None: |
|||
linha1 = linha1 + " - " + \ |
|||
localidade[0].nom_localidade + " " + localidade[0].sgl_uf |
|||
if casa["num_tel"] != "" and casa["num_tel"] != None: |
|||
linha1 = linha1 + " Tel.: " + casa["num_tel"] |
|||
|
|||
linha2 = casa["end_web_casa"] |
|||
if casa["end_email_casa"] != "" and casa["end_email_casa"] != None: |
|||
if casa["end_web_casa"] != "" and casa["end_web_casa"] != None: |
|||
linha2 = linha2 + " - " |
|||
linha2 = linha2 + "E-mail: "+casa["end_email_casa"] |
|||
linha2 = linha2 + "E-mail: " + casa["end_email_casa"] |
|||
|
|||
data_emissao=DateTime().strftime("%d/%m/%Y") |
|||
rodape=[linha1,linha2,data_emissao] |
|||
data_emissao = DateTime().strftime("%d/%m/%Y") |
|||
rodape = [linha1, linha2, data_emissao] |
|||
|
|||
#Por fim, gera-se as entradas para o cabeçalho |
|||
estados=context.zsql.localidade_obter_zsql(tip_localidade="u") |
|||
# Por fim, gera-se as entradas para o cabeçalho |
|||
estados = context.zsql.localidade_obter_zsql(tip_localidade="u") |
|||
for uf in estados: |
|||
if localidade[0].sgl_uf==uf.sgl_uf: |
|||
nom_estado=uf.nom_localidade |
|||
if localidade[0].sgl_uf == uf.sgl_uf: |
|||
nom_estado = uf.nom_localidade |
|||
break |
|||
cabecalho={} |
|||
cabecalho["nom_casa"]=casa["nom_casa"] |
|||
cabecalho["nom_estado"]="Estado de "+nom_estado |
|||
cabecalho = {} |
|||
cabecalho["nom_casa"] = casa["nom_casa"] |
|||
cabecalho["nom_estado"] = "Estado de " + nom_estado |
|||
|
|||
# tenta buscar o logotipo da casa LOGO_CASA |
|||
if hasattr(context.sapl_documentos.props_sapl,'logo_casa.gif'): |
|||
if hasattr(context.sapl_documentos.props_sapl, 'logo_casa.gif'): |
|||
imagem = context.sapl_documentos.props_sapl['logo_casa.gif'].absolute_url() |
|||
else: |
|||
imagem = context.imagens.absolute_url() + "/brasao_transp.gif" |
|||
|
|||
#Por fim, utiliza o PythonScript para pesquisar os protocolos e gerar os dados |
|||
# Por fim, utiliza o PythonScript para pesquisar os protocolos e gerar os dados |
|||
|
|||
protocolos=[] |
|||
REQUEST=context.REQUEST |
|||
protocolos = [] |
|||
REQUEST = context.REQUEST |
|||
for protocolo in context.zsql.protocolo_pesquisar_zsql(tip_protocolo=REQUEST['rad_tip_protocolo'], |
|||
cod_protocolo=REQUEST['txt_num_protocolo'], ano_protocolo=REQUEST['txt_ano_protocolo'], |
|||
tip_documento=REQUEST['lst_tip_documento'], tip_processo=REQUEST['rad_tip_processo'], |
|||
tip_materia=REQUEST['lst_tip_materia'], des_assunto=REQUEST['txt_assunto'], |
|||
cod_autor=REQUEST['hdn_cod_autor'], des_interessado=REQUEST['txa_txt_interessado'], |
|||
cod_protocolo=REQUEST['txt_num_protocolo'], ano_protocolo=REQUEST[ |
|||
'txt_ano_protocolo'], |
|||
tip_documento=REQUEST['lst_tip_documento'], tip_processo=REQUEST[ |
|||
'rad_tip_processo'], |
|||
tip_materia=REQUEST[ |
|||
'lst_tip_materia'], des_assunto=REQUEST['txt_assunto'], |
|||
cod_autor=REQUEST['hdn_cod_autor'], des_interessado=REQUEST[ |
|||
'txa_txt_interessado'], |
|||
dat_apres=REQUEST['dt_apres'], dat_apres2=REQUEST['dt_apres2']): |
|||
dic={} |
|||
dic = {} |
|||
|
|||
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'] = " " |
|||
if protocolo.cod_autor!=None: |
|||
if protocolo.cod_autor != None: |
|||
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): |
|||
dic['nom_autor']=parlamentar.nom_completo |
|||
elif autor.des_tipo_autor=='Comissao': |
|||
dic['nom_autor'] = parlamentar.nom_completo |
|||
elif autor.des_tipo_autor == 'Comissao': |
|||
for comissao in context.zsql.comissao_obter_zsql(cod_comissao=autor.cod_comissao): |
|||
dic['nom_autor']=comissao.nom_comissao |
|||
dic['nom_autor'] = comissao.nom_comissao |
|||
else: |
|||
dic['nom_autor']=autor.nom_autor |
|||
dic['nom_autor'] = autor.nom_autor |
|||
|
|||
dic['natureza']='' |
|||
if protocolo.tip_processo==0: |
|||
dic['natureza']='Administrativo' |
|||
if protocolo.tip_processo==1: |
|||
dic['natureza']='Legislativo' |
|||
dic['natureza'] = '' |
|||
if protocolo.tip_processo == 0: |
|||
dic['natureza'] = 'Administrativo' |
|||
if protocolo.tip_processo == 1: |
|||
dic['natureza'] = 'Legislativo' |
|||
|
|||
dic['num_materia']='' |
|||
for materia in context.zsql.materia_obter_zsql(num_protocolo=protocolo.cod_protocolo,ano_ident_basica=protocolo.ano_protocolo): |
|||
dic['num_materia']=materia.sgl_tipo_materia+' '+str(materia.num_ident_basica)+'/'+str(materia.ano_ident_basica) |
|||
dic['num_materia'] = '' |
|||
for materia in context.zsql.materia_obter_zsql(num_protocolo=protocolo.cod_protocolo, ano_ident_basica=protocolo.ano_protocolo): |
|||
dic['num_materia'] = materia.sgl_tipo_materia + ' ' + \ |
|||
str(materia.num_ident_basica) + '/' + str(materia.ano_ident_basica) |
|||
|
|||
dic['num_documento']='' |
|||
dic['num_documento'] = '' |
|||
for documento in context.zsql.documento_administrativo_obter_zsql(num_protocolo=protocolo.cod_protocolo): |
|||
dic['num_documento']=documento.sgl_tipo_documento+' '+str(documento.num_documento)+'/'+ str(documento.ano_documento) |
|||
dic['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']='' |
|||
if protocolo.ind_anulado==1: |
|||
dic['anulado']='Nulo' |
|||
dic['anulado'] = '' |
|||
if protocolo.ind_anulado == 1: |
|||
dic['anulado'] = 'Nulo' |
|||
|
|||
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 |
|||
filtro['numero']=REQUEST.txt_num_protocolo |
|||
filtro['ano']=REQUEST.txt_ano_protocolo |
|||
filtro['tipo_protocolo']=REQUEST.rad_tip_protocolo |
|||
filtro['tipo_processo']=REQUEST.rad_tip_processo |
|||
filtro['assunto']=REQUEST.txt_assunto |
|||
filtro['autor']=REQUEST.hdn_cod_autor |
|||
filtro['interessado']=REQUEST.txa_txt_interessado |
|||
|
|||
sessao=session.id |
|||
caminho = context.pdf_etiqueta_protocolo_gerar(sessao,imagem,data,protocolos,cabecalho,rodape,filtro) |
|||
if caminho=='aviso': |
|||
filtro['numero'] = REQUEST.txt_num_protocolo |
|||
filtro['ano'] = REQUEST.txt_ano_protocolo |
|||
filtro['tipo_protocolo'] = REQUEST.rad_tip_protocolo |
|||
filtro['tipo_processo'] = REQUEST.rad_tip_processo |
|||
filtro['assunto'] = REQUEST.txt_assunto |
|||
filtro['autor'] = REQUEST.hdn_cod_autor |
|||
filtro['interessado'] = REQUEST.txa_txt_interessado |
|||
|
|||
sessao = session.id |
|||
caminho = context.pdf_etiqueta_protocolo_gerar( |
|||
sessao, imagem, data, protocolos, cabecalho, rodape, filtro) |
|||
if caminho == 'aviso': |
|||
return response.redirect('mensagem_emitir_proc') |
|||
else: |
|||
response.redirect(caminho) |
|||
|
@ -1,155 +1,169 @@ |
|||
import os |
|||
|
|||
request=context.REQUEST |
|||
#print request |
|||
#return printed |
|||
response=request.RESPONSE |
|||
session= request.SESSION |
|||
request = context.REQUEST |
|||
# print request |
|||
# return printed |
|||
response = request.RESPONSE |
|||
session = request.SESSION |
|||
|
|||
data=DateTime().strftime('%d/%m/%Y') |
|||
data = DateTime().strftime('%d/%m/%Y') |
|||
|
|||
#Abaixo é gerada a string para o rodapé da página |
|||
casa={} |
|||
aux=context.sapl_documentos.props_sapl.propertyItems() |
|||
# Abaixo é gerada a string para o rodapé da página |
|||
casa = {} |
|||
aux = context.sapl_documentos.props_sapl.propertyItems() |
|||
for item in aux: |
|||
casa[item[0]]=item[1] |
|||
localidade=context.zsql.localidade_obter_zsql(cod_localidade=casa["cod_localidade"]) |
|||
if len(casa["num_cep"])==8: |
|||
cep=casa["num_cep"][:4]+"-"+casa["num_cep"][5:] |
|||
casa[item[0]] = item[1] |
|||
localidade = context.zsql.localidade_obter_zsql( |
|||
cod_localidade=casa["cod_localidade"]) |
|||
if len(casa["num_cep"]) == 8: |
|||
cep = casa["num_cep"][:4] + "-" + casa["num_cep"][5:] |
|||
else: |
|||
cep="" |
|||
cep = "" |
|||
|
|||
linha1=casa["end_casa"] |
|||
if cep!="": |
|||
if casa["end_casa"]!="" and casa["end_casa"]!=None: |
|||
linha1 = casa["end_casa"] |
|||
if cep != "": |
|||
if casa["end_casa"] != "" and casa["end_casa"] != None: |
|||
linha1 = linha1 + " - " |
|||
linha1 = linha1 + "CEP "+cep |
|||
if localidade[0].nom_localidade!="" and localidade[0].nom_localidade!=None: |
|||
linha1 = linha1 + " - "+localidade[0].nom_localidade+" "+localidade[0].sgl_uf |
|||
if casa["num_tel"]!="" and casa["num_tel"]!=None: |
|||
linha1 = linha1 + " Tel.: "+ casa["num_tel"] |
|||
|
|||
linha2=casa["end_web_casa"] |
|||
if casa["end_email_casa"]!="" and casa["end_email_casa"]!=None: |
|||
if casa["end_web_casa"]!="" and casa["end_web_casa"]!=None: |
|||
linha1 = linha1 + "CEP " + cep |
|||
if localidade[0].nom_localidade != "" and localidade[0].nom_localidade != None: |
|||
linha1 = linha1 + " - " + \ |
|||
localidade[0].nom_localidade + " " + localidade[0].sgl_uf |
|||
if casa["num_tel"] != "" and casa["num_tel"] != None: |
|||
linha1 = linha1 + " Tel.: " + casa["num_tel"] |
|||
|
|||
linha2 = casa["end_web_casa"] |
|||
if casa["end_email_casa"] != "" and casa["end_email_casa"] != None: |
|||
if casa["end_web_casa"] != "" and casa["end_web_casa"] != None: |
|||
linha2 = linha2 + " - " |
|||
linha2 = linha2 + "E-mail: "+casa["end_email_casa"] |
|||
linha2 = linha2 + "E-mail: " + casa["end_email_casa"] |
|||
|
|||
data_emissao=DateTime().strftime("%d/%m/%Y") |
|||
rodape=[linha1,linha2,data_emissao] |
|||
data_emissao = DateTime().strftime("%d/%m/%Y") |
|||
rodape = [linha1, linha2, data_emissao] |
|||
|
|||
#Por fim, gera-se as entradas para o cabeçalho |
|||
estados=context.zsql.localidade_obter_zsql(tip_localidade="u") |
|||
# Por fim, gera-se as entradas para o cabeçalho |
|||
estados = context.zsql.localidade_obter_zsql(tip_localidade="u") |
|||
for uf in estados: |
|||
if localidade[0].sgl_uf==uf.sgl_uf: |
|||
nom_estado=uf.nom_localidade |
|||
if localidade[0].sgl_uf == uf.sgl_uf: |
|||
nom_estado = uf.nom_localidade |
|||
break |
|||
cabecalho={} |
|||
cabecalho["nom_casa"]=casa["nom_casa"] |
|||
cabecalho["nom_estado"]="Estado de "+nom_estado |
|||
cabecalho = {} |
|||
cabecalho["nom_casa"] = casa["nom_casa"] |
|||
cabecalho["nom_estado"] = "Estado de " + nom_estado |
|||
|
|||
# tenta buscar o logotipo da casa LOGO_CASA |
|||
if hasattr(context.sapl_documentos.props_sapl,'logo_casa.gif'): |
|||
if hasattr(context.sapl_documentos.props_sapl, 'logo_casa.gif'): |
|||
imagem = context.sapl_documentos.props_sapl['logo_casa.gif'].absolute_url() |
|||
else: |
|||
imagem = context.imagens.absolute_url() + "/brasao_transp.gif" |
|||
|
|||
#Por fim, utiliza o PythonScript para pesquisar as matérias e gerar os dados |
|||
# Por fim, utiliza o PythonScript para pesquisar as matérias e gerar os dados |
|||
|
|||
materias=[] |
|||
REQUEST=context.REQUEST |
|||
materias = [] |
|||
REQUEST = context.REQUEST |
|||
for materia in context.zsql.materia_pesquisar_zsql(tip_id_basica=REQUEST['lst_tip_materia'], num_ident_basica=REQUEST['txt_numero'], |
|||
ano_ident_basica=REQUEST['txt_ano'], ind_tramitacao=REQUEST['rad_tramitando'], |
|||
des_assunto=REQUEST['txt_assunto'], nom_relator=REQUEST['txt_relator'], |
|||
cod_status=REQUEST['lst_status'], des_tipo_autor=REQUEST['lst_tip_autor'], |
|||
dat_apresentacao=REQUEST['dt_apres'], dat_apresentacao2=REQUEST['dt_apres2'], |
|||
dat_publicacao=REQUEST['dt_public'], dat_publicacao2=REQUEST['dt_public2'], |
|||
cod_partido=REQUEST['lst_cod_partido'],cod_autor=REQUEST['hdn_cod_autor'], |
|||
rd_ordem=REQUEST['rd_ordenacao'],rd_ordem_td=REQUEST['rd_ordem_td']): |
|||
|
|||
dic={} |
|||
|
|||
dic['titulo']=materia.sgl_tipo_materia+" "+materia.des_tipo_materia+" "+str(materia.num_ident_basica)+"/"+str(materia.ano_ident_basica) |
|||
dic['txt_ementa']=materia.txt_ementa |
|||
ano_ident_basica=REQUEST[ |
|||
'txt_ano'], ind_tramitacao=REQUEST['rad_tramitando'], |
|||
des_assunto=REQUEST[ |
|||
'txt_assunto'], nom_relator=REQUEST['txt_relator'], |
|||
cod_status=REQUEST['lst_status'], des_tipo_autor=REQUEST[ |
|||
'lst_tip_autor'], |
|||
dat_apresentacao=REQUEST[ |
|||
'dt_apres'], dat_apresentacao2=REQUEST['dt_apres2'], |
|||
dat_publicacao=REQUEST[ |
|||
'dt_public'], dat_publicacao2=REQUEST['dt_public2'], |
|||
cod_partido=REQUEST['lst_cod_partido'], cod_autor=REQUEST[ |
|||
'hdn_cod_autor'], |
|||
rd_ordem=REQUEST['rd_ordenacao'], rd_ordem_td=REQUEST['rd_ordem_td']): |
|||
|
|||
dic = {} |
|||
|
|||
dic['titulo'] = materia.sgl_tipo_materia + " " + materia.des_tipo_materia + \ |
|||
" " + str(materia.num_ident_basica) + "/" + \ |
|||
str(materia.ano_ident_basica) |
|||
dic['txt_ementa'] = materia.txt_ementa |
|||
dic['nom_autor'] = " " |
|||
for autoria in context.zsql.autoria_obter_zsql(cod_materia=materia.cod_materia): |
|||
for autor in context.zsql.autor_obter_zsql(cod_autor=autoria.cod_autor): |
|||
if autor.des_tipo_autor=='Parlamentar': |
|||
if autor.des_tipo_autor == 'Parlamentar': |
|||
for parlamentar in context.zsql.parlamentar_obter_zsql(cod_parlamentar=autor.cod_parlamentar): |
|||
dic['nom_autor']=parlamentar.nom_completo |
|||
elif autor.des_tipo_autor=='Comissao': |
|||
dic['nom_autor'] = parlamentar.nom_completo |
|||
elif autor.des_tipo_autor == 'Comissao': |
|||
for comissao in context.zsql.comissao_obter_zsql(cod_comissao=autor.cod_comissao): |
|||
dic['nom_autor']=comissao.nom_comissao |
|||
dic['nom_autor'] = comissao.nom_comissao |
|||
else: |
|||
dic['nom_autor']=autor.nom_autor |
|||
dic['nom_autor'] = autor.nom_autor |
|||
|
|||
des_status = '' |
|||
txt_tramitacao='' |
|||
txt_tramitacao = '' |
|||
|
|||
dic['localizacao_atual']=" " |
|||
for tramitacao in context.zsql.tramitacao_obter_zsql(cod_materia=materia.cod_materia,ind_ult_tramitacao=1): |
|||
dic['localizacao_atual'] = " " |
|||
for tramitacao in context.zsql.tramitacao_obter_zsql(cod_materia=materia.cod_materia, ind_ult_tramitacao=1): |
|||
if tramitacao.cod_unid_tram_dest: |
|||
cod_unid_tram = tramitacao.cod_unid_tram_dest |
|||
else: |
|||
cod_unid_tram = tramitacao.cod_unid_tram_local |
|||
|
|||
for unidade_tramitacao in context.zsql.unidade_tramitacao_obter_zsql(cod_unid_tramitacao = cod_unid_tram): |
|||
for unidade_tramitacao in context.zsql.unidade_tramitacao_obter_zsql(cod_unid_tramitacao=cod_unid_tram): |
|||
if unidade_tramitacao.cod_orgao: |
|||
dic['localizacao_atual']=unidade_tramitacao.nom_orgao |
|||
dic['localizacao_atual'] = unidade_tramitacao.nom_orgao |
|||
else: |
|||
dic['localizacao_atual']=unidade_tramitacao.nom_comissao |
|||
dic['localizacao_atual'] = unidade_tramitacao.nom_comissao |
|||
|
|||
des_status=tramitacao.des_status |
|||
txt_tramitacao=tramitacao.txt_tramitacao |
|||
des_status = tramitacao.des_status |
|||
txt_tramitacao = tramitacao.txt_tramitacao |
|||
|
|||
dic['des_situacao']=des_status |
|||
dic['ultima_acao']=txt_tramitacao |
|||
dic['des_situacao'] = des_status |
|||
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): |
|||
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) |
|||
|
|||
filtro={} # Dicionário que conterá os dados do filtro |
|||
filtro = {} # Dicionário que conterá os dados do filtro |
|||
|
|||
# Atribuições diretas do REQUEST |
|||
filtro['numero']=REQUEST.txt_numero |
|||
filtro['ano']=REQUEST.txt_ano |
|||
filtro['autor']=REQUEST.hdn_txt_autor |
|||
filtro['tipo_autor']=REQUEST.lst_tip_autor |
|||
filtro['relator']=REQUEST.txt_relator |
|||
filtro['assunto']=REQUEST.txt_assunto |
|||
filtro['numero'] = REQUEST.txt_numero |
|||
filtro['ano'] = REQUEST.txt_ano |
|||
filtro['autor'] = REQUEST.hdn_txt_autor |
|||
filtro['tipo_autor'] = REQUEST.lst_tip_autor |
|||
filtro['relator'] = REQUEST.txt_relator |
|||
filtro['assunto'] = REQUEST.txt_assunto |
|||
|
|||
# Atribuição do restante dos dados que precisam de processamento |
|||
if REQUEST.hdn_txt_autor==' ': # Corrige bug do Netscape |
|||
filtro['autor']='' |
|||
if REQUEST.hdn_txt_autor == ' ': # Corrige bug do Netscape |
|||
filtro['autor'] = '' |
|||
|
|||
filtro['tipo_materia']='' |
|||
if REQUEST.lst_tip_materia!='': |
|||
filtro['tipo_materia'] = '' |
|||
if REQUEST.lst_tip_materia != '': |
|||
for tipo_materia in context.zsql.tipo_materia_legislativa_obter_zsql(ind_excluido=0, tip_materia=REQUEST.lst_tip_materia): |
|||
filtro['tipo_materia']= tipo_materia.sgl_tipo_materia + ' - ' + tipo_materia.des_tipo_materia |
|||
|
|||
filtro['partido']='' |
|||
if REQUEST.lst_cod_partido!='': |
|||
for partido in context.zsql.partido_obter_zsql(ind_excluido=0,cod_partido=REQUEST.lst_cod_partido): |
|||
filtro['partido']=partido.sgl_partido + ' - ' + partido.nom_partido |
|||
|
|||
filtro['tramitando']='' |
|||
if REQUEST.rad_tramitando=='1': |
|||
filtro['tramitacao']='Sim' |
|||
elif REQUEST['rad_tramitando']=='0': |
|||
filtro['tramitacao']='Não' |
|||
|
|||
filtro['situacao_atual']='' |
|||
if REQUEST.lst_status!='': |
|||
for status in context.zsql.status_tramitacao_obter_zsql(ind_excluido=0,cod_status=REQUEST.lst_status): |
|||
filtro['situacao_atual']=status.sgl_status + ' - ' + status.des_status |
|||
|
|||
sessao=session.id |
|||
caminho = context.pdf_materia_gerar(sessao,imagem,data,materias,cabecalho,rodape,filtro) |
|||
if caminho=='aviso': |
|||
filtro['tipo_materia'] = tipo_materia.sgl_tipo_materia + \ |
|||
' - ' + tipo_materia.des_tipo_materia |
|||
|
|||
filtro['partido'] = '' |
|||
if REQUEST.lst_cod_partido != '': |
|||
for partido in context.zsql.partido_obter_zsql(ind_excluido=0, cod_partido=REQUEST.lst_cod_partido): |
|||
filtro['partido'] = partido.sgl_partido + ' - ' + partido.nom_partido |
|||
|
|||
filtro['tramitando'] = '' |
|||
if REQUEST.rad_tramitando == '1': |
|||
filtro['tramitacao'] = 'Sim' |
|||
elif REQUEST['rad_tramitando'] == '0': |
|||
filtro['tramitacao'] = 'Não' |
|||
|
|||
filtro['situacao_atual'] = '' |
|||
if REQUEST.lst_status != '': |
|||
for status in context.zsql.status_tramitacao_obter_zsql(ind_excluido=0, cod_status=REQUEST.lst_status): |
|||
filtro['situacao_atual'] = status.sgl_status + \ |
|||
' - ' + status.des_status |
|||
|
|||
sessao = session.id |
|||
caminho = context.pdf_materia_gerar( |
|||
sessao, imagem, data, materias, cabecalho, rodape, filtro) |
|||
if caminho == 'aviso': |
|||
return response.redirect('mensagem_emitir_proc') |
|||
else: |
|||
response.redirect(caminho) |
|||
|
@ -1,94 +1,105 @@ |
|||
import os |
|||
|
|||
request=context.REQUEST |
|||
response=request.RESPONSE |
|||
session= request.SESSION |
|||
request = context.REQUEST |
|||
response = request.RESPONSE |
|||
session = request.SESSION |
|||
|
|||
data=DateTime().strftime('%d/%m/%Y') |
|||
data = DateTime().strftime('%d/%m/%Y') |
|||
|
|||
#Abaixo é gerada a string para o rodapé da página |
|||
casa={} |
|||
aux=context.sapl_documentos.props_sapl.propertyItems() |
|||
# Abaixo é gerada a string para o rodapé da página |
|||
casa = {} |
|||
aux = context.sapl_documentos.props_sapl.propertyItems() |
|||
for item in aux: |
|||
casa[item[0]]=item[1] |
|||
localidade=context.zsql.localidade_obter_zsql(cod_localidade=casa["cod_localidade"]) |
|||
if len(casa["num_cep"])==8: |
|||
cep=casa["num_cep"][:4]+"-"+casa["num_cep"][5:] |
|||
casa[item[0]] = item[1] |
|||
localidade = context.zsql.localidade_obter_zsql( |
|||
cod_localidade=casa["cod_localidade"]) |
|||
if len(casa["num_cep"]) == 8: |
|||
cep = casa["num_cep"][:4] + "-" + casa["num_cep"][5:] |
|||
else: |
|||
cep="" |
|||
cep = "" |
|||
|
|||
linha1=casa["end_casa"] |
|||
if cep!="": |
|||
if casa["end_casa"]!="" and casa["end_casa"]!=None: |
|||
linha1 = casa["end_casa"] |
|||
if cep != "": |
|||
if casa["end_casa"] != "" and casa["end_casa"] != None: |
|||
linha1 = linha1 + " - " |
|||
linha1 = linha1 + "CEP "+cep |
|||
if localidade[0].nom_localidade!="" and localidade[0].nom_localidade!=None: |
|||
linha1 = linha1 + " - "+localidade[0].nom_localidade+" "+localidade[0].sgl_uf |
|||
if casa["num_tel"]!="" and casa["num_tel"]!=None: |
|||
linha1 = linha1 + " Tel.: "+ casa["num_tel"] |
|||
|
|||
linha2=casa["end_web_casa"] |
|||
if casa["end_email_casa"]!="" and casa["end_email_casa"]!=None: |
|||
if casa["end_web_casa"]!="" and casa["end_web_casa"]!=None: |
|||
linha1 = linha1 + "CEP " + cep |
|||
if localidade[0].nom_localidade != "" and localidade[0].nom_localidade != None: |
|||
linha1 = linha1 + " - " + \ |
|||
localidade[0].nom_localidade + " " + localidade[0].sgl_uf |
|||
if casa["num_tel"] != "" and casa["num_tel"] != None: |
|||
linha1 = linha1 + " Tel.: " + casa["num_tel"] |
|||
|
|||
linha2 = casa["end_web_casa"] |
|||
if casa["end_email_casa"] != "" and casa["end_email_casa"] != None: |
|||
if casa["end_web_casa"] != "" and casa["end_web_casa"] != None: |
|||
linha2 = linha2 + " - " |
|||
linha2 = linha2 + "E-mail: "+casa["end_email_casa"] |
|||
linha2 = linha2 + "E-mail: " + casa["end_email_casa"] |
|||
|
|||
data_emissao=DateTime().strftime("%d/%m/%Y") |
|||
rodape=[linha1,linha2,data_emissao] |
|||
data_emissao = DateTime().strftime("%d/%m/%Y") |
|||
rodape = [linha1, linha2, data_emissao] |
|||
|
|||
#Por fim, gera-se as entradas para o cabeçalho |
|||
estados=context.zsql.localidade_obter_zsql(tip_localidade="u") |
|||
# Por fim, gera-se as entradas para o cabeçalho |
|||
estados = context.zsql.localidade_obter_zsql(tip_localidade="u") |
|||
for uf in estados: |
|||
if localidade[0].sgl_uf==uf.sgl_uf: |
|||
nom_estado=uf.nom_localidade |
|||
if localidade[0].sgl_uf == uf.sgl_uf: |
|||
nom_estado = uf.nom_localidade |
|||
break |
|||
cabecalho={} |
|||
cabecalho["nom_casa"]=casa["nom_casa"] |
|||
cabecalho["nom_estado"]="Estado de "+nom_estado |
|||
cabecalho = {} |
|||
cabecalho["nom_casa"] = casa["nom_casa"] |
|||
cabecalho["nom_estado"] = "Estado de " + nom_estado |
|||
|
|||
# tenta buscar o logotipo da casa LOGO_CASA |
|||
if hasattr(context.sapl_documentos.props_sapl,'logo_casa.gif'): |
|||
if hasattr(context.sapl_documentos.props_sapl, 'logo_casa.gif'): |
|||
imagem = context.sapl_documentos.props_sapl['logo_casa.gif'].absolute_url() |
|||
else: |
|||
imagem = context.imagens.absolute_url() + "/brasao_transp.gif" |
|||
|
|||
#Por fim, utiliza o PythonScript para pesquisar as normas e gerar os dados |
|||
# Por fim, utiliza o PythonScript para pesquisar as normas e gerar os dados |
|||
|
|||
normas=[] |
|||
REQUEST=context.REQUEST |
|||
normas = [] |
|||
REQUEST = context.REQUEST |
|||
for norma in context.zsql.norma_juridica_obter_zsql(tip_norma=REQUEST['lst_tip_norma'], num_norma=REQUEST['txt_numero'], |
|||
ano_norma=REQUEST['txt_ano'], des_assunto=REQUEST['txt_assunto'], |
|||
cod_assunto=REQUEST['lst_assunto_norma'], dat_norma=REQUEST['dt_norma'], |
|||
dat_norma2=REQUEST['dt_norma2'], dat_publicacao=REQUEST['dt_public'], |
|||
dat_publicacao2=REQUEST['dt_public2'],rd_ordem=REQUEST['rd_ordenacao']): |
|||
|
|||
dic={} |
|||
|
|||
dic['titulo']=norma.sgl_tipo_norma+" Nº "+str(norma.num_norma)+" de "+str(norma.dat_norma)+" - "+norma.des_tipo_norma |
|||
dic['txt_ementa']=norma.txt_ementa |
|||
|
|||
dic['materia_vinculada']=" " |
|||
if norma.cod_materia!=None: |
|||
ano_norma=REQUEST['txt_ano'], des_assunto=REQUEST[ |
|||
'txt_assunto'], |
|||
cod_assunto=REQUEST[ |
|||
'lst_assunto_norma'], dat_norma=REQUEST['dt_norma'], |
|||
dat_norma2=REQUEST[ |
|||
'dt_norma2'], dat_publicacao=REQUEST['dt_public'], |
|||
dat_publicacao2=REQUEST['dt_public2'], rd_ordem=REQUEST['rd_ordenacao']): |
|||
|
|||
dic = {} |
|||
|
|||
dic['titulo'] = norma.sgl_tipo_norma + " Nº " + \ |
|||
str(norma.num_norma) + " de " + \ |
|||
str(norma.dat_norma) + " - " + norma.des_tipo_norma |
|||
dic['txt_ementa'] = norma.txt_ementa |
|||
|
|||
dic['materia_vinculada'] = " " |
|||
if norma.cod_materia != None: |
|||
for materia_vinculada in context.zsql.materia_obter_zsql(cod_materia=str(norma.cod_materia)): |
|||
dic['materia_vinculada']=materia_vinculada.sgl_tipo_materia+" "+str(materia_vinculada.num_ident_basica)+"/"+str(materia_vinculada.ano_ident_basica) |
|||
dic['materia_vinculada'] = materia_vinculada.sgl_tipo_materia + " " + \ |
|||
str(materia_vinculada.num_ident_basica) + "/" + \ |
|||
str(materia_vinculada.ano_ident_basica) |
|||
|
|||
normas.append(dic) |
|||
|
|||
filtro={} # Dicionário que conterá os dados do filtro |
|||
filtro = {} # Dicionário que conterá os dados do filtro |
|||
|
|||
# Atribuições diretas do REQUEST |
|||
filtro['numero']=REQUEST.txt_numero |
|||
filtro['ano']=REQUEST.txt_ano |
|||
filtro['assunto']=REQUEST.txt_assunto |
|||
filtro['numero'] = REQUEST.txt_numero |
|||
filtro['ano'] = REQUEST.txt_ano |
|||
filtro['assunto'] = REQUEST.txt_assunto |
|||
|
|||
filtro['tipo_norma']='' |
|||
if REQUEST.lst_tip_norma!='': |
|||
filtro['tipo_norma'] = '' |
|||
if REQUEST.lst_tip_norma != '': |
|||
for tipo_norma in context.zsql.tipo_norma_juridica_obter_zsql(ind_excluido=0, tip_norma=REQUEST.lst_tip_norma): |
|||
filtro['tipo_norma']= tipo_norma.sgl_tipo_norma + ' - ' + tipo_norma.des_tipo_norma |
|||
filtro['tipo_norma'] = tipo_norma.sgl_tipo_norma + \ |
|||
' - ' + tipo_norma.des_tipo_norma |
|||
|
|||
sessao=session.id |
|||
caminho = context.pdf_norma_gerar(sessao,imagem,data,normas,cabecalho,rodape,filtro) |
|||
if caminho=='aviso': |
|||
sessao = session.id |
|||
caminho = context.pdf_norma_gerar( |
|||
sessao, imagem, data, normas, cabecalho, rodape, filtro) |
|||
if caminho == 'aviso': |
|||
return response.redirect('mensagem_emitir_proc') |
|||
else: |
|||
response.redirect(caminho) |
|||
|
@ -1,117 +1,126 @@ |
|||
import os |
|||
|
|||
request=context.REQUEST |
|||
response=request.RESPONSE |
|||
session= request.SESSION |
|||
request = context.REQUEST |
|||
response = request.RESPONSE |
|||
session = request.SESSION |
|||
|
|||
data=DateTime().strftime('%d/%m/%Y') |
|||
data = DateTime().strftime('%d/%m/%Y') |
|||
|
|||
#Abaixo é gerada a string para o rodapé da página |
|||
casa={} |
|||
aux=context.sapl_documentos.props_sapl.propertyItems() |
|||
# Abaixo é gerada a string para o rodapé da página |
|||
casa = {} |
|||
aux = context.sapl_documentos.props_sapl.propertyItems() |
|||
for item in aux: |
|||
casa[item[0]]=item[1] |
|||
localidade=context.zsql.localidade_obter_zsql(cod_localidade=casa["cod_localidade"]) |
|||
if len(casa["num_cep"])==8: |
|||
cep=casa["num_cep"][:4]+"-"+casa["num_cep"][5:] |
|||
casa[item[0]] = item[1] |
|||
localidade = context.zsql.localidade_obter_zsql( |
|||
cod_localidade=casa["cod_localidade"]) |
|||
if len(casa["num_cep"]) == 8: |
|||
cep = casa["num_cep"][:4] + "-" + casa["num_cep"][5:] |
|||
else: |
|||
cep="" |
|||
cep = "" |
|||
|
|||
linha1=casa["end_casa"] |
|||
if cep!="": |
|||
if casa["end_casa"]!="" and casa["end_casa"]!=None: |
|||
linha1 = casa["end_casa"] |
|||
if cep != "": |
|||
if casa["end_casa"] != "" and casa["end_casa"] != None: |
|||
linha1 = linha1 + " - " |
|||
linha1 = linha1 + "CEP "+cep |
|||
if localidade[0].nom_localidade!="" and localidade[0].nom_localidade!=None: |
|||
linha1 = linha1 + " - "+localidade[0].nom_localidade+" "+localidade[0].sgl_uf |
|||
if casa["num_tel"]!="" and casa["num_tel"]!=None: |
|||
linha1 = linha1 + " Tel.: "+ casa["num_tel"] |
|||
|
|||
linha2=casa["end_web_casa"] |
|||
if casa["end_email_casa"]!="" and casa["end_email_casa"]!=None: |
|||
if casa["end_web_casa"]!="" and casa["end_web_casa"]!=None: |
|||
linha1 = linha1 + "CEP " + cep |
|||
if localidade[0].nom_localidade != "" and localidade[0].nom_localidade != None: |
|||
linha1 = linha1 + " - " + \ |
|||
localidade[0].nom_localidade + " " + localidade[0].sgl_uf |
|||
if casa["num_tel"] != "" and casa["num_tel"] != None: |
|||
linha1 = linha1 + " Tel.: " + casa["num_tel"] |
|||
|
|||
linha2 = casa["end_web_casa"] |
|||
if casa["end_email_casa"] != "" and casa["end_email_casa"] != None: |
|||
if casa["end_web_casa"] != "" and casa["end_web_casa"] != None: |
|||
linha2 = linha2 + " - " |
|||
linha2 = linha2 + "E-mail: "+casa["end_email_casa"] |
|||
linha2 = linha2 + "E-mail: " + casa["end_email_casa"] |
|||
|
|||
data_emissao=DateTime().strftime("%d/%m/%Y") |
|||
rodape=[linha1,linha2,data_emissao] |
|||
data_emissao = DateTime().strftime("%d/%m/%Y") |
|||
rodape = [linha1, linha2, data_emissao] |
|||
|
|||
#Por fim, gera-se as entradas para o cabeçalho |
|||
estados=context.zsql.localidade_obter_zsql(tip_localidade="u") |
|||
# Por fim, gera-se as entradas para o cabeçalho |
|||
estados = context.zsql.localidade_obter_zsql(tip_localidade="u") |
|||
for uf in estados: |
|||
if localidade[0].sgl_uf==uf.sgl_uf: |
|||
nom_estado=uf.nom_localidade |
|||
if localidade[0].sgl_uf == uf.sgl_uf: |
|||
nom_estado = uf.nom_localidade |
|||
break |
|||
cabecalho={} |
|||
cabecalho["nom_casa"]=casa["nom_casa"] |
|||
cabecalho["nom_estado"]="Estado de "+nom_estado |
|||
cabecalho = {} |
|||
cabecalho["nom_casa"] = casa["nom_casa"] |
|||
cabecalho["nom_estado"] = "Estado de " + nom_estado |
|||
|
|||
# tenta buscar o logotipo da casa LOGO_CASA |
|||
if hasattr(context.sapl_documentos.props_sapl,'logo_casa.gif'): |
|||
if hasattr(context.sapl_documentos.props_sapl, 'logo_casa.gif'): |
|||
imagem = context.sapl_documentos.props_sapl['logo_casa.gif'].absolute_url() |
|||
else: |
|||
imagem = context.imagens.absolute_url() + "/brasao_transp.gif" |
|||
|
|||
#Por fim, utiliza o PythonScript para pesquisar os protocolos e gerar os dados |
|||
# Por fim, utiliza o PythonScript para pesquisar os protocolos e gerar os dados |
|||
|
|||
protocolos=[] |
|||
REQUEST=context.REQUEST |
|||
protocolos = [] |
|||
REQUEST = context.REQUEST |
|||
for protocolo in context.zsql.protocolo_pesquisar_zsql(tip_protocolo=REQUEST['rad_tip_protocolo'], |
|||
cod_protocolo=REQUEST['txt_num_protocolo'], ano_protocolo=REQUEST['txt_ano_protocolo'], |
|||
tip_documento=REQUEST['lst_tip_documento'], tip_processo=REQUEST['rad_tip_processo'], |
|||
tip_materia=REQUEST['lst_tip_materia'], des_assunto=REQUEST['txt_assunto'], |
|||
cod_autor=REQUEST['hdn_cod_autor'], des_interessado=REQUEST['txa_txt_interessado'], |
|||
cod_protocolo=REQUEST['txt_num_protocolo'], ano_protocolo=REQUEST[ |
|||
'txt_ano_protocolo'], |
|||
tip_documento=REQUEST['lst_tip_documento'], tip_processo=REQUEST[ |
|||
'rad_tip_processo'], |
|||
tip_materia=REQUEST[ |
|||
'lst_tip_materia'], des_assunto=REQUEST['txt_assunto'], |
|||
cod_autor=REQUEST['hdn_cod_autor'], des_interessado=REQUEST[ |
|||
'txa_txt_interessado'], |
|||
dat_apres=REQUEST['dt_apres'], dat_apres2=REQUEST['dt_apres2']): |
|||
dic={} |
|||
dic = {} |
|||
|
|||
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'] = " " |
|||
if protocolo.cod_autor!=None: |
|||
if protocolo.cod_autor != None: |
|||
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): |
|||
dic['nom_autor']=parlamentar.nom_completo |
|||
elif autor.des_tipo_autor=='Comissao': |
|||
dic['nom_autor'] = parlamentar.nom_completo |
|||
elif autor.des_tipo_autor == 'Comissao': |
|||
for comissao in context.zsql.comissao_obter_zsql(cod_comissao=autor.cod_comissao): |
|||
dic['nom_autor']=comissao.nom_comissao |
|||
dic['nom_autor'] = comissao.nom_comissao |
|||
else: |
|||
dic['nom_autor']=autor.nom_autor |
|||
dic['nom_autor'] = autor.nom_autor |
|||
|
|||
dic['natureza']='' |
|||
if protocolo.tip_processo==0: |
|||
dic['natureza']='Administrativo' |
|||
if protocolo.tip_processo==1: |
|||
dic['natureza']='Legislativo' |
|||
dic['natureza'] = '' |
|||
if protocolo.tip_processo == 0: |
|||
dic['natureza'] = 'Administrativo' |
|||
if protocolo.tip_processo == 1: |
|||
dic['natureza'] = 'Legislativo' |
|||
|
|||
dic['processo']=protocolo.des_tipo_materia or protocolo.des_tipo_documento |
|||
dic['processo'] = protocolo.des_tipo_materia or protocolo.des_tipo_documento |
|||
|
|||
dic['anulado']='' |
|||
if protocolo.ind_anulado==1: |
|||
dic['anulado']='Nulo' |
|||
dic['anulado'] = '' |
|||
if protocolo.ind_anulado == 1: |
|||
dic['anulado'] = 'Nulo' |
|||
|
|||
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 |
|||
filtro['numero']=REQUEST.txt_num_protocolo |
|||
filtro['ano']=REQUEST.txt_ano_protocolo |
|||
filtro['tipo_protocolo']=REQUEST.rad_tip_protocolo |
|||
filtro['tipo_processo']=REQUEST.rad_tip_processo |
|||
filtro['assunto']=REQUEST.txt_assunto |
|||
filtro['autor']=REQUEST.hdn_cod_autor |
|||
filtro['interessado']=REQUEST.txa_txt_interessado |
|||
|
|||
sessao=session.id |
|||
caminho = context.pdf_protocolo_gerar(sessao,imagem,data,protocolos,cabecalho,rodape,filtro) |
|||
if caminho=='aviso': |
|||
filtro['numero'] = REQUEST.txt_num_protocolo |
|||
filtro['ano'] = REQUEST.txt_ano_protocolo |
|||
filtro['tipo_protocolo'] = REQUEST.rad_tip_protocolo |
|||
filtro['tipo_processo'] = REQUEST.rad_tip_processo |
|||
filtro['assunto'] = REQUEST.txt_assunto |
|||
filtro['autor'] = REQUEST.hdn_cod_autor |
|||
filtro['interessado'] = REQUEST.txa_txt_interessado |
|||
|
|||
sessao = session.id |
|||
caminho = context.pdf_protocolo_gerar( |
|||
sessao, imagem, data, protocolos, cabecalho, rodape, filtro) |
|||
if caminho == 'aviso': |
|||
return response.redirect('mensagem_emitir_proc') |
|||
else: |
|||
response.redirect(caminho) |
|||
|
Some files were not shown because too many files changed in this diff
Loading…
Reference in new issue