diff --git a/sapl/base/templatetags/menus.py b/sapl/base/templatetags/menus.py index 5dda6f104..4d1f14b4c 100644 --- a/sapl/base/templatetags/menus.py +++ b/sapl/base/templatetags/menus.py @@ -1,21 +1,20 @@ -import os - +import yaml from django import template from django.core.urlresolvers import reverse -import yaml - register = template.Library() @register.inclusion_tag('menus/subnav.html', takes_context=True) def subnav(context, path=None): - """Renders a subnavigation for views of a certain object. + """Renderiza sub navegação para objetos no padrão Mestre Detalhe - If not provided, path defaults to /subnav.yaml + Existem três possíveis fontes de busca do yaml + com precedência enumerada abaixo: + 1) Se a variável path não é nula; + 2) Se existe no contexto a chave subnav_template_name; + 3) o path default: /subnav.yaml """ - # TODO: 118n !!!!!!!!!!!!!! - # How to internationalize yaml files???? menu = None root_pk = context.get('root_pk', None) if not root_pk: @@ -26,37 +25,48 @@ def subnav(context, path=None): if root_pk: request = context['request'] + """ + As implementações das Views de Modelos que são dados auxiliares e + de diversas app's estão concentradas em urls com prefixo 'sistema'. + Essas Views não possuem submenu de navegação e são incompativeis com a + execução deste subnav. Inicialmente, a maneira mais prática encontrada + de isolar foi com o teste abaixo. + """ if 'sistema' in request.path: return - app = request.resolver_match.app_name - app_template = app.split('.') - app_template = app_template[1] if app_template[ - 0] == 'sapl' and len(app_template) > 1 else app_template[0] + rm = request.resolver_match + app_template = rm.app_name.rsplit('.', 1)[-1] - yaml_path = '%s/subnav.yaml' % app_template + if path: + yaml_path = path + elif 'subnav_template_name' in context: + yaml_path = context['subnav_template_name'] + else: + yaml_path = '%s/%s' % (app_template, 'subnav.yaml') try: - """ Por padrão, são carragados dois Loaders, - filesystem.Loader - busca em TEMPLATE_DIRS do projeto atual - app_directories.Loader - busca em todas apps instaladas - A função nativa abaixo busca em todos os Loaders Configurados. + """ + Por padrão, são carragados dois Loaders, + filesystem.Loader - busca em TEMPLATE_DIRS do projeto atual + app_directories.Loader - busca em todas apps instaladas + A função nativa abaixo busca em todos os Loaders Configurados. """ yaml_template = template.loader.get_template(yaml_path) rendered = yaml_template.render() menu = yaml.load(rendered) - resolve_urls_inplace(menu, root_pk, app, context) - except: - pass + resolve_urls_inplace(menu, root_pk, rm, context) + except Exception as e: + print(e) return {'menu': menu} -def resolve_urls_inplace(menu, pk, app, context): +def resolve_urls_inplace(menu, pk, rm, context): if isinstance(menu, list): list_active = '' for item in menu: - menuactive = resolve_urls_inplace(item, pk, app, context) + menuactive = resolve_urls_inplace(item, pk, rm, context) list_active = menuactive if menuactive else list_active if not isinstance(item, list): item['active'] = menuactive @@ -65,24 +75,42 @@ def resolve_urls_inplace(menu, pk, app, context): else: if 'url' in menu: url_name = menu['url'] - menu['url'] = reverse('%s:%s' % (app, menu['url']), + menu['url'] = reverse('%s:%s' % (rm.app_name, menu['url']), kwargs={'pk': pk}) menu['active'] = 'active'\ if context['request'].path == menu['url'] else '' if not menu['active']: - # se não encontrada, procura a url acionada dentro do crud, caso - # seja um. + """ + Se não encontrada diretamente, + procura a url acionada dentro do crud, caso seja um. + Serve para manter o active no suvnav correto ao acionar + as funcionalidades diretas do MasterDetailCrud, como: + - visualização de detalhes, adição, edição, remoção. + + Casos para urls_extras: + Em relações de segundo nível, como ocorre em + (0) Comissões -> (1) Composição -> (2) Participação + + (2) não tem ligação direta com (1) através da view. Para (2) + ser localizado, e o nav-tabs ou nav-pills do front-end serem + ativados foi inserido o teste de existência de urls_extras + para serem testadas e, sendo válidado, o active do front-end + seja devidamente colocado. + """ + view = context['view'] if hasattr(view, '__class__') and\ hasattr(view.__class__, 'crud'): urls = view.__class__.crud.get_urls() for u in urls: - if u.name == url_name: + if (u.name == url_name or + 'urls_extras' in menu and + u.name in menu['urls_extras']): menu['active'] = 'active' break if 'children' in menu: menu['active'] = resolve_urls_inplace( - menu['children'], pk, app, context) + menu['children'], pk, rm, context) return menu['active'] diff --git a/sapl/base/tests/test_login.py b/sapl/base/tests/test_login.py index 40ad93264..73f9eac69 100755 --- a/sapl/base/tests/test_login.py +++ b/sapl/base/tests/test_login.py @@ -1,7 +1,6 @@ # -*- coding: utf-8 -*- -from django.contrib.auth import get_user_model import pytest - +from django.contrib.auth import get_user_model pytestmark = pytest.mark.django_db diff --git a/sapl/base/urls.py b/sapl/base/urls.py index 13b9d7eb2..9fd6f0dcb 100644 --- a/sapl/base/urls.py +++ b/sapl/base/urls.py @@ -1,6 +1,5 @@ from django.conf.urls import include, url from django.contrib.auth import views -from django.contrib.staticfiles.urls import staticfiles_urlpatterns from django.views.generic.base import TemplateView from .apps import AppConfig diff --git a/sapl/compilacao/views.py b/sapl/compilacao/views.py index 339d6a5de..ff88d627d 100644 --- a/sapl/compilacao/views.py +++ b/sapl/compilacao/views.py @@ -1,6 +1,6 @@ +import sys from collections import OrderedDict from datetime import datetime, timedelta -import sys from braces.views import FormMessagesMixin from django import forms @@ -38,7 +38,6 @@ from sapl.compilacao.models import (Dispositivo, Nota, from sapl.compilacao.utils import DISPOSITIVO_SELECT_RELATED from sapl.crud.base import Crud, CrudListView, make_pagination - TipoNotaCrud = Crud.build(TipoNota, 'tipo_nota') TipoVideCrud = Crud.build(TipoVide, 'tipo_vide') TipoPublicacaoCrud = Crud.build(TipoPublicacao, 'tipo_publicacao') @@ -2144,10 +2143,10 @@ class DispositivoSearchFragmentFormView(ListView): """ ao integrar um model ao app de compilação, se este model possuir - + texto_articulado = GenericRelation( TextoArticulado, related_query_name='texto_articulado') - + será uma integração mais eficiente para as buscas de Dispositivos """ if hasattr(model_class, 'texto_articulado'): diff --git a/sapl/crispy_layout_mixin.py b/sapl/crispy_layout_mixin.py index 638efecf5..6c60c9b79 100644 --- a/sapl/crispy_layout_mixin.py +++ b/sapl/crispy_layout_mixin.py @@ -1,13 +1,12 @@ from math import ceil -from os.path import dirname, join +import rtyaml from crispy_forms.bootstrap import FormActions from crispy_forms.helper import FormHelper from crispy_forms.layout import HTML, Div, Fieldset, Layout, Submit from django import template from django.utils import formats from django.utils.translation import ugettext as _ -import rtyaml def heads_and_tails(list_of_lists): diff --git a/sapl/crud/tests/stub_app/layouts.yaml b/sapl/crud/tests/stub_app/layouts.yaml index fc104c87e..adb32e93c 100644 --- a/sapl/crud/tests/stub_app/layouts.yaml +++ b/sapl/crud/tests/stub_app/layouts.yaml @@ -1,7 +1,7 @@ Country: - Basic Data: + {% trans 'Basic Data' %}: - name:9 continent - population is_cold - More Details: + {% trans 'More Details' %}: - description diff --git a/sapl/base/layouts.yaml b/sapl/templates/base/layouts.yaml similarity index 75% rename from sapl/base/layouts.yaml rename to sapl/templates/base/layouts.yaml index 0a377da6f..4e84ee4cd 100644 --- a/sapl/base/layouts.yaml +++ b/sapl/templates/base/layouts.yaml @@ -1,5 +1,6 @@ +{% load i18n %} CasaLegislativa: - Casa Legislativa: + {% trans 'Casa Legislativa' %}: - codigo:2 nome sigla - endereco:8 cep - municipio:10 uf diff --git a/sapl/comissoes/layouts.yaml b/sapl/templates/comissoes/layouts.yaml similarity index 68% rename from sapl/comissoes/layouts.yaml rename to sapl/templates/comissoes/layouts.yaml index 22ffa0f98..e881b0b1e 100644 --- a/sapl/comissoes/layouts.yaml +++ b/sapl/templates/comissoes/layouts.yaml @@ -1,36 +1,36 @@ - +{% load i18n %} CargoComissao: - Período de composição de Comissão: + {% trans 'Período de composição de Comissão' %}: - nome:10 unico Periodo: - Cargo de Comissão: + {% trans 'Cargo de Comissão' %}: - data_inicio data_fim TipoComissao: - Tipo Comissão: + {% trans 'Tipo Comissão' %}: - nome:9 sigla - dispositivo_regimental:9 natureza Comissao: - Dados Básicos: + {% trans 'Dados Básicos' %}: - nome:8 sigla - tipo data_criacao unidade_deliberativa data_extincao - Dados Complementares: + {% trans 'Dados Complementares' %}: - local_reuniao agenda_reuniao telefone_reuniao - endereco_secretaria telefone_secretaria fax_secretaria - secretario email - finalidade - Temporária: + {% trans 'Temporária' %}: - apelido_temp:8 data_instalacao_temp - data_final_prevista_temp data_prorrogada_temp data_fim_comissao Composicao: - Composição: + {% trans 'Composição' %}: - periodo Participacao: - Participação: + {% trans 'Participação' %}: - parlamentar cargo titular - data_designacao data_desligamento - motivo_desligamento diff --git a/sapl/templates/comissoes/subnav.yaml b/sapl/templates/comissoes/subnav.yaml index 8ee080406..02402bfee 100644 --- a/sapl/templates/comissoes/subnav.yaml +++ b/sapl/templates/comissoes/subnav.yaml @@ -1,6 +1,8 @@ -- title: Início +{% load i18n %} +- title: {% trans 'Início' %} url: comissao_detail -- title: Composição +- title: {% trans 'Composição' %} url: composicao_list -- title: Matérias em Tramitação + urls_extras: participacao_detail participacao_create participacao_edit participacao_delete +- title: {% trans 'Matérias em Tramitação' %} url: materias_em_tramitacao diff --git a/sapl/compilacao/layouts.yaml b/sapl/templates/compilacao/layouts.yaml similarity index 61% rename from sapl/compilacao/layouts.yaml rename to sapl/templates/compilacao/layouts.yaml index d512d7615..6d54631d9 100644 --- a/sapl/compilacao/layouts.yaml +++ b/sapl/templates/compilacao/layouts.yaml @@ -1,36 +1,36 @@ - +{% load i18n %} TipoNota: - Tipo da Nota: + {% trans 'Tipo da Nota' %}: - sigla:2 nome - modelo TipoVide: - Tipo de Vide: + {% trans 'Tipo de Vide' %}: - sigla:2 nome TipoPublicacao: - Tipo de Publicação: + {% trans 'Tipo de Publicação' %}: - sigla:2 nome VeiculoPublicacao: - Veículo de Publicação: + {% trans 'Veículo de Publicação' %}: - sigla:2 nome PerfilEstruturalTextoArticulado: - Perfil Estrutural de Textos Articulados: + {% trans 'Perfil Estrutural de Textos Articulados' %}: - sigla:2 nome TipoDispositivo: - Dados Básicos: + {% trans 'Dados Básicos' %}: - nome:8 class_css - Configurações para Edição do Rótulo: + {% trans 'Configurações para Edição do Rótulo' %}: - rotulo_prefixo_texto rotulo_sufixo_texto rotulo_ordinal contagem_continua - Configurações para Renderização de Rótulo e Texto: + {% trans 'Configurações para Renderização de Rótulo e Texto' %}: - rotulo_prefixo_html rotulo_sufixo_html - texto_prefixo_html dispositivo_de_articulacao texto_sufixo_html - Configurações para Nota Automática: + {% trans 'Configurações para Nota Automática' %}: - nota_automatica_prefixo_html nota_automatica_sufixo_html - Configurações para Variações Numéricas: + {% trans 'Configurações para Variações Numéricas' %}: - formato_variacao0 - rotulo_separador_variacao01:5 formato_variacao1 - rotulo_separador_variacao12:5 formato_variacao2 diff --git a/sapl/lexml/layouts.yaml b/sapl/templates/lexml/layouts.yaml similarity index 72% rename from sapl/lexml/layouts.yaml rename to sapl/templates/lexml/layouts.yaml index b09bfc62d..1dc354bd2 100644 --- a/sapl/lexml/layouts.yaml +++ b/sapl/templates/lexml/layouts.yaml @@ -1,11 +1,11 @@ - +{% load i18n %} LexmlProvedor: - Provedor Lexml: + {% trans 'Provedor Lexml' %}: - id_provedor:2 nome - id_responsavel:2 nome_responsavel email_responsavel - xml LexmlPublicador: - Publicador Lexml: + {% trans 'Publicador Lexml' %}: - id_publicador:2 nome sigla - id_responsavel:2 nome_responsavel email_responsavel diff --git a/sapl/materia/layouts.yaml b/sapl/templates/materia/layouts.yaml similarity index 65% rename from sapl/materia/layouts.yaml rename to sapl/templates/materia/layouts.yaml index 887a37349..6b32b41a7 100644 --- a/sapl/materia/layouts.yaml +++ b/sapl/templates/materia/layouts.yaml @@ -1,132 +1,133 @@ +{% load i18n %} Origem: - Origem: + {% trans 'Origem' %}: - nome:8 sigla TipoMateriaLegislativa: - Tipo Matéria Legislativa: + {% trans 'Tipo Matéria Legislativa' %}: - sigla:4 descricao RegimeTramitacao: - Tipo de Documento: + {% trans 'Tipo de Documento' %}: - descricao TipoDocumento: - Regime Tramitação: + {% trans 'Regime Tramitação' %}: - descricao TipoFimRelatoria: - Tipo Fim de Relatoria: + {% trans 'Tipo Fim de Relatoria' %}: - descricao MateriaLegislativa: - Identificação Básica: + {% trans 'Identificação Básica' %}: - tipo numero ano - data_apresentacao numero_protocolo tipo_apresentacao - texto_original - Outras Informações: + {% trans 'Outras Informações' %}: - apelido dias_prazo polemica - objeto regime_tramitacao em_tramitacao - data_fim_prazo data_publicacao complementar - Origem Externa: + {% trans 'Origem Externa' %}: - tipo_origem_externa numero_origem_externa ano_origem_externa - local_origem_externa data_origem_externa - Dados Textuais: + {% trans 'Dados Textuais' %}: - ementa - indexacao - observacao Anexada: - Matéria Anexada: + {% trans 'Matéria Anexada' %}: - tipo numero ano - data_anexacao data_desanexacao AnexadaDetail: - Matéria Anexada: + {% trans 'Matéria Anexada' %}: - materia_principal - materia_anexada - data_anexacao data_desanexacao TipoAutor: - Tipo Autor: + {% trans 'Tipo Autor' %}: - descricao Autor: - Autor: + {% trans 'Autor' %}: - tipo:3 nome - username Autoria: - Autoria: + {% trans 'Autoria' %}: - autor partido primeiro_autor DocumentoAcessorio: - Documento Acessório: + {% trans 'Documento Acessório' %}: - tipo nome data - autor - ementa - arquivo Numeracao: - Numeração: + {% trans 'Numeração' %}: - tipo_materia numero_materia ano_materia data_materia Orgao: - Órgão: + {% trans 'Órgão' %}: - nome:4 sigla telefone endereco unidade_deliberativa Relatoria: - Relatoria: + {% trans 'Relatoria' %}: - comissao - data_designacao_relator data_destituicao_relator - parlamentar tipo_fim_relatoria TipoProposicao: - Tipo Proposição: + {% trans 'Tipo Proposição' %}: - descricao - materia_ou_documento tipo_documento - modelo ProposicaoCreate: - Proposição: + {% trans 'Proposição' %}: - tipo data_envio - descricao - Materia: + {% trans 'Materia' %}: - tipo_materia numero_materia ano_materia - Complemento: + {% trans 'Complemento' %}: - texto_original Proposicao: - Proposição: + {% trans 'Proposição' %}: - tipo data_envio - descricao - Materia: + {% trans 'Materia' %}: - materia - Complemento: + {% trans 'Complemento' %}: - texto_original StatusTramitacao: - Status Tramitação: + {% trans 'Status Tramitação' %}: - indicador:3 sigla:2 descricao UnidadeTramitacao: - Unidade Tramitação: + {% trans 'Unidade Tramitação' %}: - orgao - comissao - parlamentar Tramitacao: - Tramitação: + {% trans 'Tramitação' %}: - unidade_tramitacao_local unidade_tramitacao_destino - data_tramitacao data_encaminhamento data_fim_prazo - status turno urgente - texto DespachoInicial: - Despacho Inicial: + {% trans 'Despacho Inicial' %}: - comissao LegislacaoCitadaDetail: - Legislação Citada: + {% trans 'Legislação Citada' %}: - norma - disposicoes parte livro titulo - capitulo secao subsecao artigo diff --git a/sapl/templates/materia/subnav.yaml b/sapl/templates/materia/subnav.yaml index 8dc4db159..c1a5bf8d6 100644 --- a/sapl/templates/materia/subnav.yaml +++ b/sapl/templates/materia/subnav.yaml @@ -1,25 +1,26 @@ -- title: Início +{% load i18n %} +- title: {% trans 'Início' %} url: materialegislativa_detail -- title: Anexada +- title: {% trans 'Anexada' %} url: anexada_list -- title: Autoria +- title: {% trans 'Autoria' %} url: autoria_list -- title: Despacho Inicial +- title: {% trans 'Despacho Inicial' %} url: despachoinicial_list -- title: Documento Acessório +- title: {% trans 'Documento Acessório' %} url: documentoacessorio_list -- title: Legislação Citada +- title: {% trans 'Legislação Citada' %} url: legislacaocitada_list -- title: Numeração +- title: {% trans 'Numeração' %} url: numeracao_list -- title: Tramitação +- title: {% trans 'Tramitação' %} url: tramitacao_list -- title: Relatoria +- title: {% trans 'Relatoria' %} url: relatoria_list # Opção adicionada para chamar o TextoArticulado da matéria. # para integração foram necessárias apenas criar a url materia_ta em urls.py # e a view MateriaTaView(IntegracaoTaView) em views.py # Em nada mais a integração interfere em MateriaLegislativa -- title: Texto +- title: {% trans 'Texto' %} url: materia_ta diff --git a/sapl/norma/layouts.yaml b/sapl/templates/norma/layouts.yaml similarity index 78% rename from sapl/norma/layouts.yaml rename to sapl/templates/norma/layouts.yaml index ba148045a..e7eff947e 100644 --- a/sapl/norma/layouts.yaml +++ b/sapl/templates/norma/layouts.yaml @@ -1,14 +1,14 @@ - +{% load i18n %} AssuntoNorma: - Assunto Norma Jurídica: + {% trans 'Assunto Norma Jurídica' %}: - assunto descricao TipoNormaJuridica: - Tipo Norma Jurídica: + {% trans 'Tipo Norma Jurídica' %}: - descricao sigla equivalente_lexml NormaJuridica: - Identificação Básica: + {% trans 'Identificação Básica' %}: - tipo numero ano - data esfera_federacao complemento - materia @@ -19,7 +19,7 @@ NormaJuridica: - observacao NormaJuridicaCreate: - Identificação Básica: + {% trans 'Identificação Básica' %}: - tipo numero ano - data esfera_federacao complemento - tipo_materia numero_materia ano_materia @@ -30,14 +30,14 @@ NormaJuridicaCreate: - observacao LegislacaoCitada: - Legislação Citada: + {% trans 'Legislação Citada' %}: - tipo numero ano - disposicoes parte livro titulo - capitulo secao subsecao artigo - paragrafo inciso alinea item LegislacaoCitadaDetail: - Legislação Citada: + {% trans 'Legislação Citada' %}: - norma - disposicoes parte livro titulo - capitulo secao subsecao artigo diff --git a/sapl/templates/norma/subnav.yaml b/sapl/templates/norma/subnav.yaml index 638daf96e..7704bfeb9 100644 --- a/sapl/templates/norma/subnav.yaml +++ b/sapl/templates/norma/subnav.yaml @@ -1,9 +1,10 @@ -- title: Início +{% load i18n %} +- title: {% trans 'Início' %} url: normajuridica_detail # Opção adicionada para chamar o TextoArticulado da norma. # para integração foram necessárias apenas criar a url norma_ta em urls.py # e a view NormaTaView(IntegracaoTaView) em views.py # Em nada mais a integração interfere em NormaJuridica -- title: Texto +- title: {% trans 'Texto' %} url: norma_ta diff --git a/sapl/painel/layouts.yaml b/sapl/templates/painel/layouts.yaml similarity index 53% rename from sapl/painel/layouts.yaml rename to sapl/templates/painel/layouts.yaml index e4a6f4606..e0d01ac66 100644 --- a/sapl/painel/layouts.yaml +++ b/sapl/templates/painel/layouts.yaml @@ -1,4 +1,4 @@ - +{% load i18n %} Cronometro: - Cronometro: + {% trans 'Cronometro' %}: - status:3 data_cronometro:6 tipo diff --git a/sapl/templates/parlamentares/layouts.yaml b/sapl/templates/parlamentares/layouts.yaml index f3fc6fc54..48e11240c 100644 --- a/sapl/templates/parlamentares/layouts.yaml +++ b/sapl/templates/parlamentares/layouts.yaml @@ -4,29 +4,29 @@ CargoMesa: - descricao:10 unico Legislatura: - Legislatura: + {% trans 'Legislatura' %}: - data_inicio data_fim data_eleicao Coligacao: - Coligação: + {% trans 'Coligação' %}: - nome:5 legislatura:5 numero_votos Partido: - Partido Político: + {% trans 'Partido Político' %}: - nome:6 sigla data_criacao data_extincao Dependente: - Dependentes: + {% trans 'Dependentes' %}: - nome - tipo sexo data_nascimento - cpf rg titulo_eleitor SessaoLegislativa: - Sessão Legislativa: + {% trans 'Sessão Legislativa' %}: - numero:4 tipo:4 legislatura:4 data_inicio data_fim data_inicio_intervalo data_fim_intervalo Parlamentar: - Cadastro do Parlamentar: + {% trans 'Cadastro do Parlamentar' %}: - nome_parlamentar:8 ativo - nome_completo - nivel_instrucao sexo data_nascimento @@ -43,9 +43,9 @@ Parlamentar: - biografia ParlamentarCreate: - Dados do Mandato: + {% trans 'Dados do Mandato' %}: - legislatura data_expedicao_diploma - Cadastro do Parlamentar: + {% trans 'Cadastro do Parlamentar' %}: - nome_parlamentar:8 ativo - nome_completo - nivel_instrucao sexo data_nascimento @@ -61,34 +61,33 @@ ParlamentarCreate: - fotografia - biografia - Filiacao: - 'Filiações Partidárias ': + {% trans ''Filiações Partidárias '' %}: - partido data data_desfiliacao Mandato: - Mandato: + {% trans 'Mandato' %}: - legislatura coligacao votos_recebidos - data_fim_mandato data_expedicao_diploma - tipo_afastamento - observacao TipoDependente: - Tipo de Dependente: + {% trans 'Tipo de Dependente' %}: - descricao NivelInstrucao: - Nível Instrução: + {% trans 'Nível Instrução' %}: - descricao TipoAfastamento: - Tipo de Afastamento: + {% trans 'Tipo de Afastamento' %}: - descricao:5 dispositivo:5 afastamento SituacaoMilitar: - Tipo Situação Militar: + {% trans 'Tipo Situação Militar' %}: - descricao ComposicaoColigacao: - 'Nome do Partido': + {% trans ''Nome do Partido'' %}: - partido diff --git a/sapl/templates/parlamentares/subnav.yaml b/sapl/templates/parlamentares/subnav.yaml index aa8bcc7a0..9b457cd18 100644 --- a/sapl/templates/parlamentares/subnav.yaml +++ b/sapl/templates/parlamentares/subnav.yaml @@ -1,9 +1,9 @@ {% load i18n %} - title: {% trans 'Início' %} url: parlamentar_detail -- title: Mandatos +- title: {% trans 'Mandatos' %} url: mandato_list -- title: Filiações Partidárias +- title: {% trans 'Filiações Partidárias' %} url: filiacao_list -- title: Dependentes +- title: {% trans 'Dependentes' %} url: dependente_list diff --git a/sapl/protocoloadm/layouts.yaml b/sapl/templates/protocoloadm/layouts.yaml similarity index 66% rename from sapl/protocoloadm/layouts.yaml rename to sapl/templates/protocoloadm/layouts.yaml index 304cd0bd8..c9f872b6f 100644 --- a/sapl/protocoloadm/layouts.yaml +++ b/sapl/templates/protocoloadm/layouts.yaml @@ -1,39 +1,39 @@ - +{% load i18n %} TipoDocumentoAdministrativo: - Tipo Documento Administrativo: + {% trans 'Tipo Documento Administrativo' %}: - sigla:4 descricao DocumentoAdministrativo: - Indentificação Básica: + {% trans 'Indentificação Básica' %}: - tipo numero ano - data numero_protocolo - assunto - interessado tramitacao - texto_integral - Outras Informações: + {% trans 'Outras Informações' %}: - dias_prazo data_fim_prazo - observacao DocumentoAcessorioAdministrativo: - Documento Acessório: + {% trans 'Documento Acessório' %}: - tipo nome data - autor - arquivo - assunto StatusTramitacaoAdministrativo: - Status Tramitação Administrativo: + {% trans 'Status Tramitação Administrativo' %}: - indicador:3 sigla:2 descricao TramitacaoAdministrativo: - Tramitação: + {% trans 'Tramitação' %}: - data_tramitacao:4 unidade_tramitacao_local - status:4 unidade_tramitacao_destino - data_encaminhamento data_fim_prazo - texto Protocolo: - Indentificação Documento: + {% trans 'Indentificação Documento' %}: - tipo_protocolo - tipo_documento numero_paginas - assunto_ementa @@ -41,12 +41,12 @@ Protocolo: - observacao Protocolo: - Indentificação da Matéria: + {% trans 'Indentificação da Matéria' %}: - tipo_materia numero_paginas - assunto_ementa - autor - observacao TipoInstituicao: - Tipo de Instituição: + {% trans 'Tipo de Instituição' %}: - descricao diff --git a/sapl/sessao/layouts.yaml b/sapl/templates/sessao/layouts.yaml similarity index 69% rename from sapl/sessao/layouts.yaml rename to sapl/templates/sessao/layouts.yaml index 63529bf46..981788a4e 100644 --- a/sapl/sessao/layouts.yaml +++ b/sapl/templates/sessao/layouts.yaml @@ -1,10 +1,10 @@ - +{% load i18n %} TipoSessaoPlenaria: - Tipo de Sessão Plenária: + {% trans 'Tipo de Sessão Plenária' %}: - nome quorum_minimo SessaoPlenaria: - Dados Básicos: + {% trans 'Dados Básicos' %}: - numero:1 tipo:3 legislatura sessao_legislativa - data_inicio:5 hora_inicio:5 iniciada - data_fim:5 hora_fim:5 finalizada @@ -12,62 +12,62 @@ SessaoPlenaria: - url_audio url_video ExpedienteMateria: - Cadastro de Matérias do Expediente: + {% trans 'Cadastro de Matérias do Expediente' %}: - data_ordem tip_sessao_FIXME numero_ordem - tip_id_basica_FIXME num_ident_basica_FIXME ano_ident_basica_FIXME - tipo_votacao - observacao OrdemDia: - Cadastro de Matérias da Ordem do Dia: + {% trans 'Cadastro de Matérias da Ordem do Dia' %}: - data_ordem tip_sessao_FIXME numero_ordem - tip_id_basica_FIXME num_ident_basica_FIXME ano_ident_basica_FIXME - tipo_votacao - observacao TipoResultadoVotacao: - Tipo de Resultado da Votação: + {% trans 'Tipo de Resultado da Votação' %}: - nome TipoExpediente: - Tipo de Expediente: + {% trans 'Tipo de Expediente' %}: - nome RegistroVotacao: - Votação Simbólica: + {% trans 'Votação Simbólica' %}: - numero_votos_sim numero_votos_nao numero_abstencoes nao_votou_FIXME - votacao_branco_FIXME ind_votacao_presidente_FIXME - tipo_resultado_votacao - observacao Orador: - Orador das Explicações Pessoais: + {% trans 'Orador das Explicações Pessoais' %}: - numero_ordem parlamentar url_discurso OradorExpediente: - Orador do Expediente: + {% trans 'Orador do Expediente' %}: - numero_ordem parlamentar url_discurso ExpedienteMateria: - Matéria do Expediente: + {% trans 'Matéria do Expediente' %}: - data_ordem numero_ordem - tipo_materia numero_materia ano_materia - tipo_votacao - observacao ExpedienteMateriaDetail: - Matérias do Expediente: + {% trans 'Matérias do Expediente' %}: - materia - tipo_votacao - observacao Bancada: - Bancada: + {% trans 'Bancada' %}: - legislatura - nome partido - data_criacao data_extincao - descricao CargoBancada: - Cargo de Bancada: + {% trans 'Cargo de Bancada' %}: - nome_cargo:8 cargo_unico diff --git a/sapl/templates/sessao/subnav.yaml b/sapl/templates/sessao/subnav.yaml index 82c8f7f2a..e6a32279d 100644 --- a/sapl/templates/sessao/subnav.yaml +++ b/sapl/templates/sessao/subnav.yaml @@ -1,32 +1,33 @@ -- title: Abertura +{% load i18n %} +- title: {% trans 'Abertura' %} children: - - title: Dados Básicos + - title: {% trans 'Dados Básicos' %} url: sessaoplenaria_detail - - title: Mesa + - title: {% trans 'Mesa' %} url: mesa - - title: Presença + - title: {% trans 'Presença' %} url: presenca - - title: Explicações Pessoais + - title: {% trans 'Explicações Pessoais' %} url: orador_list -- title: Expedientes +- title: {% trans 'Expedientes' %} children: - - title: Expediente Diversos + - title: {% trans 'Expediente Diversos' %} url: expediente - - title: Matérias Expediente + - title: {% trans 'Matérias Expediente' %} url: expedientemateria_list - - title: Oradores do Expediente + - title: {% trans 'Oradores do Expediente' %} url: oradorexpediente_list -- title: Ordem do Dia +- title: {% trans 'Ordem do Dia' %} children: - - title: Matérias Ordem do Dia + - title: {% trans 'Matérias Ordem do Dia' %} url: materiaordemdia_list - - title: Presença Ordem do Dia + - title: {% trans 'Presença Ordem do Dia' %} url: presencaordemdia -- title: Painel Eletrônico +- title: {% trans 'Painel Eletrônico' %} url: painel -- title: Resumo +- title: {% trans 'Resumo' %} url: resumo diff --git a/sapl/utils.py b/sapl/utils.py index 630d9032b..c4a6f8a70 100644 --- a/sapl/utils.py +++ b/sapl/utils.py @@ -1,16 +1,13 @@ from datetime import date from functools import wraps -import os.path -from compressor.utils import get_class +import magic from django.apps import apps from django.conf import settings from django.contrib import admin -from django.core.checks import Warning, register from django.core.exceptions import ValidationError from django.utils.translation import ugettext_lazy as _ from floppyforms import ClearableFileInput -import magic def get_settings_auth_user_model(): diff --git a/setup.py b/setup.py index a8ed72051..330749885 100644 --- a/setup.py +++ b/setup.py @@ -1,4 +1,5 @@ import os + from setuptools import find_packages, setup with open(os.path.join(os.path.dirname(__file__), 'README.rst')) as readme: @@ -33,7 +34,7 @@ install_requires = [ 'unipath==1.1', 'python-magic==0.4.10', 'gunicorn==19.4.5', -#git+git://github.com/interlegis/trml2pdf.git + # git+git://github.com/interlegis/trml2pdf.git ] setup( name='interlegis-sapl', @@ -60,5 +61,5 @@ setup( 'Topic :: Internet :: WWW/HTTP', 'Topic :: Internet :: WWW/HTTP :: Dynamic Content', ], - install_requires = install_requires, + install_requires=install_requires, )