Browse Source

Merge

pull/6/head
Caio Viotti 10 years ago
parent
commit
2b014f552b
  1. 10
      lexml/models.py
  2. 64
      materia/migrations/0003_auto_20150729_1717.py
  3. 20
      materia/models.py
  4. 34
      norma/migrations/0002_auto_20150729_1717.py
  5. 8
      norma/models.py
  6. 39
      parlamentares/migrations/0003_auto_20150729_1717.py
  7. 10
      parlamentares/models.py
  8. 59
      protocoloadm/migrations/0002_auto_20150729_1717.py
  9. 19
      protocoloadm/models.py
  10. 1
      sapl/settings.py
  11. 3
      sessao/legacy.yaml
  12. 20
      sessao/models.py
  13. 33
      sessao/views.py
  14. 245
      templates/base.html
  15. 7
      templates/sessao/expediente.html

10
lexml/models.py

@ -3,7 +3,7 @@ from django.utils.translation import ugettext_lazy as _
class LexmlProvedor(models.Model): # LexmlRegistroProvedor
id_provedor = models.IntegerField(verbose_name=_('Id do provedor'))
id_provedor = models.PositiveIntegerField(verbose_name=_('Id do provedor'))
nome = models.CharField(max_length=255, verbose_name=_('Nome do provedor'))
sigla = models.CharField(max_length=15)
email_responsavel = models.CharField(
@ -17,7 +17,7 @@ class LexmlProvedor(models.Model): # LexmlRegistroProvedor
null=True,
verbose_name=_('Nome do responsável'))
tipo = models.CharField(max_length=50)
id_responsavel = models.IntegerField(
id_responsavel = models.PositiveIntegerField(
blank=True, null=True, verbose_name=_('Id do responsável'))
xml = models.TextField(
blank=True,
@ -33,7 +33,8 @@ class LexmlProvedor(models.Model): # LexmlRegistroProvedor
class LexmlPublicador(models.Model):
id_publicador = models.IntegerField(verbose_name=_('Id do publicador'))
id_publicador = models.PositiveIntegerField(
verbose_name=_('Id do publicador'))
nome = models.CharField(
max_length=255, verbose_name=_('Nome do publicador'))
email_responsavel = models.CharField(
@ -52,7 +53,8 @@ class LexmlPublicador(models.Model):
null=True,
verbose_name=_('Nome do responsável'))
tipo = models.CharField(max_length=50)
id_responsavel = models.IntegerField(verbose_name=_('Id do responsável'))
id_responsavel = models.PositiveIntegerField(
verbose_name=_('Id do responsável'))
class Meta:
verbose_name = _('Publicador Lexml')

64
materia/migrations/0003_auto_20150729_1717.py

@ -0,0 +1,64 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import models, migrations
class Migration(migrations.Migration):
dependencies = [
('materia', '0002_auto_20150729_1310'),
]
operations = [
migrations.AlterField(
model_name='despachoinicial',
name='numero_ordem',
field=models.PositiveIntegerField(),
),
migrations.AlterField(
model_name='materialegislativa',
name='ano',
field=models.PositiveSmallIntegerField(verbose_name='Ano'),
),
migrations.AlterField(
model_name='materialegislativa',
name='ano_origem_externa',
field=models.PositiveSmallIntegerField(blank=True, verbose_name='Ano', null=True),
),
migrations.AlterField(
model_name='materialegislativa',
name='dias_prazo',
field=models.PositiveIntegerField(blank=True, verbose_name='Dias Prazo', null=True),
),
migrations.AlterField(
model_name='materialegislativa',
name='numero',
field=models.PositiveIntegerField(verbose_name='Número'),
),
migrations.AlterField(
model_name='materialegislativa',
name='numero_protocolo',
field=models.PositiveIntegerField(blank=True, verbose_name='Núm. Protocolo', null=True),
),
migrations.AlterField(
model_name='numeracao',
name='ano_materia',
field=models.PositiveSmallIntegerField(verbose_name='Ano'),
),
migrations.AlterField(
model_name='numeracao',
name='numero_ordem',
field=models.PositiveIntegerField(),
),
migrations.AlterField(
model_name='proposicao',
name='numero_proposicao',
field=models.PositiveIntegerField(blank=True, verbose_name='Número', null=True),
),
migrations.AlterField(
model_name='tipomaterialegislativa',
name='quorum_minimo_votacao',
field=models.PositiveIntegerField(),
),
]

20
materia/models.py

@ -12,7 +12,7 @@ class TipoMateriaLegislativa(models.Model):
# XXX o que é isso ?
num_automatica = models.BooleanField()
# XXX o que é isso ?
quorum_minimo_votacao = models.IntegerField()
quorum_minimo_votacao = models.PositiveIntegerField()
class Meta:
verbose_name = _('Tipo de Matéria Legislativa')
@ -52,9 +52,9 @@ class MateriaLegislativa(models.Model):
)
tipo = models.ForeignKey(TipoMateriaLegislativa, verbose_name=_('Tipo'))
numero = models.IntegerField(verbose_name=_('Número'))
ano = models.SmallIntegerField(verbose_name=_('Ano'))
numero_protocolo = models.IntegerField(
numero = models.PositiveIntegerField(verbose_name=_('Número'))
ano = models.PositiveSmallIntegerField(verbose_name=_('Ano'))
numero_protocolo = models.PositiveIntegerField(
blank=True, null=True, verbose_name=_('Núm. Protocolo'))
data_apresentacao = models.DateField(
blank=True, null=True, verbose_name=_('Data Apresentação'))
@ -74,7 +74,7 @@ class MateriaLegislativa(models.Model):
verbose_name=_('Tipo'))
numero_origem_externa = models.CharField(
max_length=5, blank=True, null=True, verbose_name=_('Número'))
ano_origem_externa = models.SmallIntegerField(
ano_origem_externa = models.PositiveSmallIntegerField(
blank=True, null=True, verbose_name=_('Ano'))
data_origem_externa = models.DateField(
blank=True, null=True, verbose_name=_('Data'))
@ -82,7 +82,7 @@ class MateriaLegislativa(models.Model):
Origem, blank=True, null=True, verbose_name=_('Local Origem'))
apelido = models.CharField(
max_length=50, blank=True, null=True, verbose_name=_('Apelido'))
dias_prazo = models.IntegerField(
dias_prazo = models.PositiveIntegerField(
blank=True, null=True, verbose_name=_('Dias Prazo'))
data_fim_prazo = models.DateField(
blank=True, null=True, verbose_name=_('Data Fim Prazo'))
@ -221,7 +221,7 @@ class Autoria(models.Model):
class DespachoInicial(models.Model):
# TODO M2M?
materia = models.ForeignKey(MateriaLegislativa)
numero_ordem = models.IntegerField()
numero_ordem = models.PositiveIntegerField()
comissao = models.ForeignKey(Comissao)
class Meta:
@ -285,11 +285,11 @@ class MateriaAssunto(models.Model):
class Numeracao(models.Model):
materia = models.ForeignKey(MateriaLegislativa)
numero_ordem = models.IntegerField()
numero_ordem = models.PositiveIntegerField()
tipo_materia = models.ForeignKey(
TipoMateriaLegislativa, verbose_name=_('Tipo de Matéria'))
numero_materia = models.CharField(max_length=5, verbose_name=_('Número'))
ano_materia = models.SmallIntegerField(verbose_name=_('Ano'))
ano_materia = models.PositiveSmallIntegerField(verbose_name=_('Ano'))
data_materia = models.DateField(
blank=True, null=True, verbose_name=_('Data'))
@ -430,7 +430,7 @@ class Proposicao(models.Model):
blank=True,
null=True,
verbose_name=_('Justificativa da Devolução'))
numero_proposicao = models.IntegerField(
numero_proposicao = models.PositiveIntegerField(
blank=True, null=True, verbose_name=_('Número'))
# mutually exclusive (depend on tipo.materia_ou_documento)

34
norma/migrations/0002_auto_20150729_1717.py

@ -0,0 +1,34 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import models, migrations
class Migration(migrations.Migration):
dependencies = [
('norma', '0001_initial'),
]
operations = [
migrations.AlterField(
model_name='normajuridica',
name='ano',
field=models.PositiveSmallIntegerField(verbose_name='Ano'),
),
migrations.AlterField(
model_name='normajuridica',
name='numero',
field=models.PositiveIntegerField(verbose_name='Número'),
),
migrations.AlterField(
model_name='normajuridica',
name='pagina_fim_publicacao',
field=models.PositiveIntegerField(blank=True, verbose_name='Pg. Fim', null=True),
),
migrations.AlterField(
model_name='normajuridica',
name='pagina_inicio_publicacao',
field=models.PositiveIntegerField(blank=True, verbose_name='Pg. Início', null=True),
),
]

8
norma/models.py

@ -61,8 +61,8 @@ class NormaJuridica(models.Model):
tipo = models.ForeignKey(TipoNormaJuridica, verbose_name=_('Tipo'))
materia = models.ForeignKey(MateriaLegislativa, blank=True, null=True)
numero = models.IntegerField(verbose_name=_('Número'))
ano = models.SmallIntegerField(verbose_name=_('Ano'))
numero = models.PositiveIntegerField(verbose_name=_('Número'))
ano = models.PositiveSmallIntegerField(verbose_name=_('Ano'))
esfera_federacao = models.CharField(
max_length=1,
verbose_name=_('Esfera Federação'),
@ -75,9 +75,9 @@ class NormaJuridica(models.Model):
blank=True,
null=True,
verbose_name=_('Veículo Publicação'))
pagina_inicio_publicacao = models.IntegerField(
pagina_inicio_publicacao = models.PositiveIntegerField(
blank=True, null=True, verbose_name=_('Pg. Início'))
pagina_fim_publicacao = models.IntegerField(
pagina_fim_publicacao = models.PositiveIntegerField(
blank=True, null=True, verbose_name=_('Pg. Fim'))
ementa = models.TextField(verbose_name=_('Ementa'))
indexacao = models.TextField(

39
parlamentares/migrations/0003_auto_20150729_1717.py

@ -0,0 +1,39 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import models, migrations
class Migration(migrations.Migration):
dependencies = [
('parlamentares', '0002_auto_20150729_1310'),
]
operations = [
migrations.AlterField(
model_name='coligacao',
name='numero_votos',
field=models.PositiveIntegerField(blank=True, verbose_name='Nº Votos Recebidos', null=True),
),
migrations.AlterField(
model_name='mandato',
name='tipo_causa_fim_mandato',
field=models.PositiveIntegerField(blank=True, null=True),
),
migrations.AlterField(
model_name='mandato',
name='votos_recebidos',
field=models.PositiveIntegerField(blank=True, verbose_name='Votos Recebidos', null=True),
),
migrations.AlterField(
model_name='parlamentar',
name='cod_casa',
field=models.PositiveIntegerField(),
),
migrations.AlterField(
model_name='sessaolegislativa',
name='numero',
field=models.PositiveIntegerField(verbose_name='Número'),
),
]

10
parlamentares/models.py

@ -37,7 +37,7 @@ class SessaoLegislativa(models.Model):
)
legislatura = models.ForeignKey(Legislatura)
numero = models.IntegerField(verbose_name=_('Número'))
numero = models.PositiveIntegerField(verbose_name=_('Número'))
tipo = models.CharField(
max_length=1, verbose_name=_('Tipo'), choices=TIPO_SESSAO_CHOICES)
data_inicio = models.DateField(verbose_name=_('Data Início'))
@ -61,7 +61,7 @@ class SessaoLegislativa(models.Model):
class Coligacao(models.Model):
legislatura = models.ForeignKey(Legislatura, verbose_name=_('Legislatura'))
nome = models.CharField(max_length=50, verbose_name=_('Nome'))
numero_votos = models.IntegerField(
numero_votos = models.PositiveIntegerField(
blank=True, null=True, verbose_name=_('Nº Votos Recebidos'))
class Meta:
@ -224,7 +224,7 @@ class Parlamentar(models.Model):
blank=True,
null=True,
verbose_name=_('Título de Eleitor'))
cod_casa = models.IntegerField()
cod_casa = models.PositiveIntegerField()
numero_gab_parlamentar = models.CharField(
max_length=10, blank=True, null=True, verbose_name=_('Nº Gabinete'))
telefone = models.CharField(
@ -360,10 +360,10 @@ class Mandato(models.Model):
coligacao = models.ForeignKey(
Coligacao, blank=True, null=True, verbose_name=_('Coligação'))
# TODO what is this field??????
tipo_causa_fim_mandato = models.IntegerField(blank=True, null=True)
tipo_causa_fim_mandato = models.PositiveIntegerField(blank=True, null=True)
data_fim_mandato = models.DateField(
blank=True, null=True, verbose_name=_('Fim do Mandato'))
votos_recebidos = models.IntegerField(
votos_recebidos = models.PositiveIntegerField(
blank=True, null=True, verbose_name=_('Votos Recebidos'))
data_expedicao_diploma = models.DateField(
blank=True, null=True, verbose_name=_('Expedição do Diploma'))

59
protocoloadm/migrations/0002_auto_20150729_1717.py

@ -0,0 +1,59 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import models, migrations
class Migration(migrations.Migration):
dependencies = [
('protocoloadm', '0001_initial'),
]
operations = [
migrations.AlterField(
model_name='documentoadministrativo',
name='ano',
field=models.PositiveSmallIntegerField(verbose_name='Ano'),
),
migrations.AlterField(
model_name='documentoadministrativo',
name='dias_prazo',
field=models.PositiveIntegerField(blank=True, verbose_name='Dias Prazo', null=True),
),
migrations.AlterField(
model_name='documentoadministrativo',
name='numero',
field=models.PositiveIntegerField(verbose_name='Número'),
),
migrations.AlterField(
model_name='documentoadministrativo',
name='numero_protocolo',
field=models.PositiveIntegerField(blank=True, verbose_name='Núm. Protocolo', null=True),
),
migrations.AlterField(
model_name='protocolo',
name='ano',
field=models.PositiveSmallIntegerField(),
),
migrations.AlterField(
model_name='protocolo',
name='numero',
field=models.PositiveIntegerField(blank=True, verbose_name='Número do Protocolo', null=True),
),
migrations.AlterField(
model_name='protocolo',
name='numero_paginas',
field=models.PositiveIntegerField(blank=True, verbose_name='Número de Páginas', null=True),
),
migrations.AlterField(
model_name='protocolo',
name='tipo_processo',
field=models.PositiveIntegerField(),
),
migrations.AlterField(
model_name='protocolo',
name='tipo_protocolo',
field=models.PositiveIntegerField(verbose_name='Tipo de Protocolo'),
),
]

19
protocoloadm/models.py

@ -20,15 +20,15 @@ class TipoDocumentoAdministrativo(models.Model):
class DocumentoAdministrativo(models.Model):
tipo = models.ForeignKey(
TipoDocumentoAdministrativo, verbose_name=_('Tipo Documento'))
numero = models.IntegerField(verbose_name=_('Número'))
ano = models.SmallIntegerField(verbose_name=_('Ano'))
numero = models.PositiveIntegerField(verbose_name=_('Número'))
ano = models.PositiveSmallIntegerField(verbose_name=_('Ano'))
data = models.DateField(verbose_name=_('Data'))
numero_protocolo = models.IntegerField(
numero_protocolo = models.PositiveIntegerField(
blank=True, null=True, verbose_name=_('Núm. Protocolo'))
interessado = models.CharField(
max_length=50, blank=True, null=True, verbose_name=_('Interessado'))
autor = models.ForeignKey(Autor, blank=True, null=True)
dias_prazo = models.IntegerField(
dias_prazo = models.PositiveIntegerField(
blank=True, null=True, verbose_name=_('Dias Prazo'))
data_fim_prazo = models.DateField(
blank=True, null=True, verbose_name=_('Data Fim Prazo'))
@ -69,14 +69,15 @@ class DocumentoAcessorioAdministrativo(models.Model):
class Protocolo(models.Model):
numero = models.IntegerField(
numero = models.PositiveIntegerField(
blank=True, null=True, verbose_name=_('Número do Protocolo'))
ano = models.SmallIntegerField()
ano = models.PositiveSmallIntegerField()
data = models.DateField()
hora = models.TimeField()
timestamp = models.DateTimeField()
tipo_protocolo = models.IntegerField(verbose_name=_('Tipo de Protocolo'))
tipo_processo = models.IntegerField()
tipo_protocolo = models.PositiveIntegerField(
verbose_name=_('Tipo de Protocolo'))
tipo_processo = models.PositiveIntegerField()
interessado = models.CharField(
max_length=60, blank=True, null=True, verbose_name=_('Interessado'))
autor = models.ForeignKey(Autor, blank=True, null=True)
@ -91,7 +92,7 @@ class Protocolo(models.Model):
blank=True,
null=True,
verbose_name=_('Tipo Matéria'))
numero_paginas = models.IntegerField(
numero_paginas = models.PositiveIntegerField(
blank=True, null=True, verbose_name=_('Número de Páginas'))
observacao = models.TextField(
blank=True, null=True, verbose_name=_('Observação'))

1
sapl/settings.py

@ -145,6 +145,7 @@ BOWER_INSTALLED_APPS = (
'foundation-datepicker',
'components-font-awesome',
'foundation-icon-fonts',
'tinymce'
)
# hack to suppress many annoying warnings from crispy_forms

3
sessao/legacy.yaml

@ -15,9 +15,6 @@ SessaoPlenaria:
tipo_expediente: tip_expediente
url_audio: url_audio
url_video: url_video
upload_pauta : upload_pauta
iniciada : iniciada
finalizada : finalizada
AbstractOrdemDia:
data_ordem: dat_ordem

20
sessao/models.py

@ -9,7 +9,8 @@ from sapl.utils import make_choices, YES_NO_CHOICES
class TipoSessaoPlenaria(models.Model):
nome = models.CharField(max_length=30, verbose_name=_('Tipo'))
quorum_minimo = models.IntegerField(verbose_name=_('Quórum mínimo'))
quorum_minimo = models.PositiveIntegerField(
verbose_name=_('Quórum mínimo'))
class Meta:
verbose_name = _('Tipo de Sessão Plenária')
@ -30,7 +31,7 @@ class SessaoPlenaria(models.Model):
# andamento_sessao = models.ForeignKey(
# AndamentoSessao, blank=True, null=True)
# TODO analyze querying all hosted databases !
cod_andamento_sessao = models.IntegerField(blank=True, null=True)
cod_andamento_sessao = models.PositiveIntegerField(blank=True, null=True)
tipo = models.ForeignKey(TipoSessaoPlenaria, verbose_name=_('Tipo'))
sessao_legislativa = models.ForeignKey(
@ -42,7 +43,7 @@ class SessaoPlenaria(models.Model):
max_length=5, verbose_name=_('Horário (hh:mm)'))
hora_fim = models.CharField(
max_length=5, blank=True, null=True, verbose_name=_('Horário (hh:mm)'))
numero = models.IntegerField(verbose_name=_('Número'))
numero = models.PositiveIntegerField(verbose_name=_('Número'))
data_fim = models.DateField(
blank=True, null=True, verbose_name=_('Encerramento'))
url_audio = models.CharField(
@ -96,9 +97,9 @@ class AbstractOrdemDia(models.Model):
data_ordem = models.DateField(verbose_name=_('Data da Sessão'))
observacao = models.TextField(
blank=True, null=True, verbose_name=_('Ementa'))
numero_ordem = models.IntegerField(verbose_name=_('Nº Ordem'))
numero_ordem = models.PositiveIntegerField(verbose_name=_('Nº Ordem'))
resultado = models.TextField(blank=True, null=True)
tipo_votacao = models.IntegerField(
tipo_votacao = models.PositiveIntegerField(
verbose_name=_('Tipo de votação'), choices=TIPO_VOTACAO_CHOICES)
class Meta:
@ -156,7 +157,7 @@ class IntegranteMesa(models.Model): # MesaSessaoPlenaria
class AbstractOrador(models.Model): # Oradores
sessao_plenaria = models.ForeignKey(SessaoPlenaria)
parlamentar = models.ForeignKey(Parlamentar, verbose_name=_('Parlamentar'))
numero_ordem = models.IntegerField(
numero_ordem = models.PositiveIntegerField(
verbose_name=_('Ordem de pronunciamento'))
url_discurso = models.CharField(
max_length=150, blank=True, null=True, verbose_name=_('URL Vídeo'))
@ -223,9 +224,10 @@ class RegistroVotacao(models.Model):
TipoResultadoVotacao, verbose_name=_('Resultado da Votação'))
materia = models.ForeignKey(MateriaLegislativa)
ordem = models.ForeignKey(OrdemDia)
numero_votos_sim = models.IntegerField(verbose_name=_('Sim'))
numero_votos_nao = models.IntegerField(verbose_name=_('Não'))
numero_abstencoes = models.IntegerField(verbose_name=_('Abstenções'))
numero_votos_sim = models.PositiveIntegerField(verbose_name=_('Sim'))
numero_votos_nao = models.PositiveIntegerField(verbose_name=_('Não'))
numero_abstencoes = models.PositiveIntegerField(
verbose_name=_('Abstenções'))
observacao = models.TextField(
blank=True, null=True, verbose_name=_('Observações'))

33
sessao/views.py

@ -1,10 +1,13 @@
from django import forms
from django.core.urlresolvers import reverse
from django.utils.translation import ugettext_lazy as _
from django.views.generic.edit import FormMixin
from sapl.crud import build_crud
from .models import (ExpedienteMateria, OrdemDia, RegistroVotacao,
SessaoPlenaria, TipoExpediente, TipoResultadoVotacao,
TipoSessaoPlenaria)
from .models import (ExpedienteMateria, ExpedienteSessao, OrdemDia,
RegistroVotacao, SessaoPlenaria, TipoExpediente,
TipoResultadoVotacao, TipoSessaoPlenaria)
tipo_sessao_crud = build_crud(
TipoSessaoPlenaria, 'tipo_sessao_plenaria', [
@ -80,6 +83,26 @@ registro_votacao_crud = build_crud(
])
class ExpedienteView(sessao_crud.CrudDetailView):
class ExpedienteForm(forms.Form):
teste = forms.CharField(widget=forms.Textarea, max_length=100)
class ExpedienteView(FormMixin, sessao_crud.CrudDetailView):
template_name = 'sessao/expediente.html'
# TODO ...
form_class = ExpedienteForm
def post(self, request, *args, **kwargs):
self.object = self.get_object()
form = self.get_form()
if form.is_valid():
expediente = ExpedienteSessao()
expediente.sessao_plenaria = self.object
expediente.tipo = TipoExpediente.objects.first()
expediente.conteudo = form.fields['teste']
expediente.save()
return self.form_valid(form)
else:
return self.form_invalid(form)
def get_success_url(self):
return self.detail_url

245
templates/base.html

@ -2,131 +2,140 @@
{% load staticfiles %}
<!DOCTYPE html>
<!--[if IE 8]> <html class="no-js lt-ie9" lang="en"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en"> <!--<![endif]-->
<head>
<meta charset="utf-8">
<title>{% block head_title %}{% trans 'SAPL - Sistema de Apoio ao Processo Legislativo' %}{% endblock %}</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
{% block head_content %}
<link rel="stylesheet" href="{% static 'foundation/css/foundation.min.css' %}">
<link rel="stylesheet" href="{% static 'foundation-datepicker/css/foundation-datepicker.min.css' %}">
<link rel="stylesheet" href="{% static 'components-font-awesome/css/font-awesome.css' %}">
<link rel="stylesheet" href="{% static 'foundation-icon-fonts/foundation-icons.css' %}">
<link rel="stylesheet" href="{% static 'styles/style.css' %}">
{# modernizr must be in head (see http://modernizr.com/docs/#installing) #}
<script type="text/javascript" src="{% static 'foundation/js/vendor/modernizr.js' %}"></script>
<script type="text/javascript" src="{% static 'foundation/js/vendor/jquery.js' %}"></script>
<script type="text/javascript" src="{% static 'foundation-datepicker/js/foundation-datepicker.js' %}"></script>
{% endblock %}
</head>
<body>
<div class="page fadein">
{# Navigation #}
{% block navigation %}
<nav id="navigation" class="navigation">
<div class="container">
<span>Navigation Placeholder!</span>
</div>
</nav>
{% endblock navigation %}
<!--[if gt IE 8]><!-->
<html class="no-js" lang="en">
<!--<![endif]-->
<head>
<meta charset="utf-8">
<title>{% block head_title %}{% trans 'SAPL - Sistema de Apoio ao Processo Legislativo' %}{% endblock %}</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
{% block head_content %}
<link rel="stylesheet" href="{% static 'foundation/css/foundation.min.css' %}">
<link rel="stylesheet" href="{% static 'foundation-datepicker/css/foundation-datepicker.min.css' %}">
<link rel="stylesheet" href="{% static 'components-font-awesome/css/font-awesome.css' %}">
<link rel="stylesheet" href="{% static 'foundation-icon-fonts/foundation-icons.css' %}">
<link rel="stylesheet" href="{% static 'styles/style.css' %}">
{# modernizr must be in head (see http://modernizr.com/docs/#installing) #}
<script type="text/javascript" src="{% static 'foundation/js/vendor/modernizr.js' %}"></script>
<script type="text/javascript" src="{% static 'foundation/js/vendor/jquery.js' %}"></script>
<script type="text/javascript" src="{% static 'foundation-datepicker/js/foundation-datepicker.js' %}"></script>
{% endblock %}
</head>
<body>
<div class="page fadein">
{# Header #}
{% block main_header %}
<header id="masthead" class="masthead page__row">
<div class="container">
<a class="masthead__logo" href="#">
<img src="{% static 'img/logo.png' %}" alt="Logo">
</a>
<div class="masthead__heading">
{# Navigation #}
{% block navigation %}
<nav id="navigation" class="navigation">
<div class="container">
<span>Navigation Placeholder!</span>
</div>
</nav>
{% endblock navigation %}
{# Header #}
{% block main_header %}
<header id="masthead" class="masthead page__row">
<div class="container">
<a class="masthead__logo" href="#">
<img src="{% static 'img/logo.png' %}" alt="Logo">
</a>
<div class="masthead__heading">
<h1>{{ parliament_type }} {% trans 'de' %} {{ city }} - {{ state }}</h1>
<h2>{% trans 'Sistema de Apoio ao Processo Legislativo' %}</h2>
</div>
</div>
</div>
</header>
{% endblock main_header %}
</header>
{% endblock main_header %}
{# Main content #}
{% block content_container %}
<main id="content" class="content page__row">
<div class="container">
{# Main content #}
{% block content_container %}
<main id="content" class="content page__row">
<div class="container">
{# Feedback messages #}
{% for message in messages %}
<div data-alert class="alert-box {% if message.tags == 'error' %}alert{% else %}{{ message.tags }}{% endif %} radius">
{{ message|safe }}
<a href="#" class="close">&times;</a>
</div>
{% endfor %}
{# Content header #}
{% block base_header %}
<div class="clearfix">
{% block help %}
{% if view.help_path %}
<a class="contextual-help right" href="{% url 'help_base' %}{{ view.help_path }}">{% trans 'Ajuda' %}</a>
{% endif %}
{% endblock %}
{% block title %}
{% if view.title %}
<h1>{{ view.title }}</h1>
{% endif %}
{% endblock %}
{# Feedback messages #}
{% for message in messages %}
<div data-alert class="alert-box {% if message.tags == 'error' %}alert{% else %}{{ message.tags }}{% endif %} radius">
{{ message|safe }}
<a href="#" class="close">&times;</a>
</div>
{% endfor %}
</div>
{% endblock base_header %}
{# Content per se #}
{% block base_content %}
{% endblock base_content %}
</div>
</main>
{% endblock content_container %}
<footer id="footer" class="footer page__row">
<div class="container">
<div class="footer__block footer__block--about footer__block--separator">
<a class="footer__logo" href="#">
<img src="{% static 'img/logo_interlegis.png' %}" alt="{% trans 'Logo do Interlegis' %} ">
</a>
<small>
Desenvolvido pelo <a href="#">Interlegis</a> em software livre e aberto sobre o <a href="#">Zope</a>.
</small>
</div>
<div class="footer__block footer__block--license footer__block--separator">
<a class="footer__logo" href="#">
<img src="{% static 'img/logo_cc.png' %}" alt="{% trans 'Logo do Creative Commons BY SA' %}">
</a>
<small>
Conteúdo e dados sob licença <a href="#">Creative Commons</a> 4.0 <a href="#">Atribuir Fonte - Compartilhar Igual</a>
</small>
</div>
{# Content header #}
{% block base_header %}
<div class="clearfix">
{% block help %}
{% if view.help_path %}
<a class="contextual-help right" href="{% url 'help_base' %}{{ view.help_path }}">{% trans 'Ajuda' %}</a>
{% endif %}
{% endblock %}
{% block title %}
{% if view.title %}
<h1>{{ view.title }}</h1>
{% endif %}
{% endblock %}
</div>
{% endblock base_header %}
{# Content per se #}
{% block base_content %}
{% endblock base_content %}
</div>
</main>
{% endblock content_container %}
<div class="footer__block footer__block--parliament-info vcard">
<span class="org">{{ parliament_type }}</span> de <span class="locality">{{ city }}</span> - <abbr class="region" title="{{ state }}">{{ state_abbr }}</abbr>
<br>
<span class="street-address">{{ address }}</span>
<br> CEP: <span class="postal-code">{{ postal_code }}</span> | Telefone: <span>{{ phone_number }}</span>
<br>
<a href="{{url_portal}}" class="url">{% trans 'Site da Câmara' %}</a> | <a href="{{url_email}}" class="email">{% trans 'Fale Conosco' %}</a>
<br>
<footer id="footer" class="footer page__row">
<div class="container">
<div class="footer__block footer__block--about footer__block--separator">
<a class="footer__logo" href="#">
<img src="{% static 'img/logo_interlegis.png' %}" alt="{% trans 'Logo do Interlegis' %} ">
</a>
<small>
Desenvolvido pelo <a href="#">Interlegis</a> em software livre e aberto sobre o <a href="#">Zope</a>.
</small>
</div>
<div class="footer__block footer__block--license footer__block--separator">
<a class="footer__logo" href="#">
<img src="{% static 'img/logo_cc.png' %}" alt="{% trans 'Logo do Creative Commons BY SA' %}">
</a>
<small>
Conteúdo e dados sob licença <a href="#">Creative Commons</a> 4.0 <a href="#">Atribuir Fonte - Compartilhar Igual</a>
</small>
</div>
<div class="footer__block footer__block--parliament-info vcard">
<span class="org">{{ parliament_type }}</span> de <span class="locality">{{ city }}</span> - <abbr class="region" title="{{ state }}">{{ state_abbr }}</abbr>
<br>
<span class="street-address">{{ address }}</span>
<br> CEP: <span class="postal-code">{{ postal_code }}</span> | Telefone: <span>{{ phone_number }}</span>
<br>
<a href="{{url_portal}}" class="url">{% trans 'Site da Câmara' %}</a> | <a href="{{url_email}}" class="email">{% trans 'Fale Conosco' %}</a>
<br>
</div>
</div>
</div>
</footer>
</div>
{% block foot_js %}
<script type="text/javascript" src="{% static 'foundation/js/foundation.min.js' %}"></script>
<script type="text/javascript" src="{% static 'foundation/js/vendor/fastclick.js' %}"></script>
<script>
$(document).foundation();
</script>
{% endblock foot_js %}
</body>
</footer>
</div>
{% block foot_js %}
<script type="text/javascript" src="{% static 'foundation/js/foundation.min.js' %}"></script>
<script type="text/javascript" src="{% static 'foundation/js/vendor/fastclick.js' %}"></script>
<script src="{% static 'tinymce/tinymce.min.js' %}"></script>
<script>
tinymce.init({selector:'textarea'});
</script>
<script>
$(document).foundation();
</script>
{% endblock foot_js %}
</body>
</html>

7
templates/sessao/expediente.html

@ -2,5 +2,10 @@
{% load i18n %}
{% block detail_content %}
TODO ... Expediente
<form method="Post" action="">
{% csrf_token %}
<textarea name="teste"></textarea>
<input type="submit" name="Salvar" />
</form>
{% endblock detail_content %}

Loading…
Cancel
Save