Browse Source

Cria página de pesquisa de Pauta de Sessão

Signed-off-by: Luciano Almeida <lucianoalmeida@interlegis.leg.br>
pull/626/head
Luciano Almeida 8 years ago
parent
commit
794b759c56
  1. 7
      sapl/sessao/forms.py
  2. 3
      sapl/sessao/urls.py
  3. 12
      sapl/sessao/views.py
  4. 2
      sapl/templates/base.html
  5. 2
      sapl/templates/index.html
  6. 49
      sapl/templates/sessao/pauta_sessao_filter.html

7
sapl/sessao/forms.py

@ -173,6 +173,7 @@ class SessaoPlenariaFilterSet(django_filters.FilterSet):
data_inicio__day = django_filters.ChoiceFilter(required=False,
label=u'Dia',
choices=DIA_CHOICES)
titulo = _('Pesquisa de Sessão Plenária')
class Meta:
model = SessaoPlenaria
@ -190,7 +191,7 @@ class SessaoPlenariaFilterSet(django_filters.FilterSet):
self.form.helper = FormHelper()
self.form.helper.form_method = 'GET'
self.form.helper.layout = Layout(
Fieldset(_('Pesquisa de Sessao Plenária'),
Fieldset(self.titulo,
row1,
form_actions(save_label='Pesquisar'))
)
@ -291,3 +292,7 @@ class OradorExpedienteForm(ModelForm):
class Meta:
model = OradorExpediente
exclude = ['sessao_plenaria']
class PautaSessaoFilterSet(SessaoPlenariaFilterSet):
titulo = _('Pesquisa de Pauta de Sessão')

3
sapl/sessao/urls.py

@ -8,6 +8,7 @@ from sapl.sessao.views import (AdicionarVariasMateriasExpediente,
OradorExpedienteCrud, PainelView,
PautaExpedienteDetail, PautaOrdemDetail,
PautaSessaoDetailView, PautaSessaoListView,
PesquisarPautaSessaoView,
PesquisarSessaoPlenariaView,
PresencaOrdemDiaView, PresencaView, ResumoView,
SessaoCrud, SessaoPlenariaView,
@ -75,6 +76,8 @@ urlpatterns = [
# PAUTA SESSÃO
url(r'^pauta-sessao$',
PautaSessaoListView.as_view(), name='list_pauta_sessao'),
url(r'^pauta-sessao/pesquisar-pauta$',
PesquisarPautaSessaoView.as_view(), name='pesquisar_pauta'),
url(r'^pauta-sessao/(?P<pk>\d+)$',
PautaSessaoDetailView.as_view(), name='pauta_sessao_detail'),
url(r'^pauta-sessao/(?P<pk>\d+)/expediente/$',

12
sapl/sessao/views.py

@ -6,7 +6,7 @@ from django.contrib.auth.mixins import PermissionRequiredMixin
from django.core.exceptions import ObjectDoesNotExist, ValidationError
from django.core.urlresolvers import reverse
from django.forms.utils import ErrorList
from django.http import HttpResponse, JsonResponse
from django.http import JsonResponse
from django.http.response import HttpResponseRedirect
from django.utils.datastructures import MultiValueDictKeyError
from django.utils.html import strip_tags
@ -32,8 +32,9 @@ from sapl.utils import permissao_tb_aux, permissoes_painel, permissoes_sessao
from .forms import (AdicionarVariasMateriasFilterSet, BancadaForm,
ExpedienteForm, ExpedienteMateriaForm, ListMateriaForm,
MesaForm, OradorExpedienteForm, OradorForm, OrdemDiaForm,
PresencaForm, SessaoPlenariaFilterSet, VotacaoEditForm,
VotacaoForm, VotacaoNominalForm)
PautaSessaoFilterSet, PresencaForm,
SessaoPlenariaFilterSet, VotacaoEditForm, VotacaoForm,
VotacaoNominalForm)
from .models import (Bancada, Bloco, CargoBancada, CargoMesa,
ExpedienteMateria, ExpedienteSessao, IntegranteMesa,
MateriaLegislativa, Orador, OradorExpediente, OrdemDia,
@ -2103,6 +2104,11 @@ class PesquisarSessaoPlenariaView(FilterView):
return self.render_to_response(context)
class PesquisarPautaSessaoView(PesquisarSessaoPlenariaView):
filterset_class = PautaSessaoFilterSet
template_name = 'sessao/pauta_sessao_filter.html'
def filtra_tramitacao_ordem_dia():
lista = pega_ultima_tramitacao()
return Tramitacao.objects.filter(

2
sapl/templates/base.html

@ -81,7 +81,7 @@
{% endif %}
<li class="nav__sub-item"><a class="nav__sub-link" href="{% url 'sapl.materia:pesquisar_materia' %}">Matérias Legislativas</a></li>
<li class="nav__sub-item"><a class="nav__sub-link" href="{% url 'sapl.sessao:pesquisar_sessao' %}">Sessões Plenárias</a></li>
<li class="nav__sub-item"><a class="nav__sub-link" href="{% url 'sapl.sessao:list_pauta_sessao' %}">Pautas das Sessões</a></li>
<li class="nav__sub-item"><a class="nav__sub-link" href="{% url 'sapl.sessao:pesquisar_pauta' %}">Pautas das Sessões</a></li>
<li class="nav__sub-item"><a class="nav__sub-link" href="{% url 'sapl.materia:primeira_tramitacao_em_lote' %}">Tramitação em Lote</a></li>
<li class="nav__sub-item"><a class="nav__sub-link" href="{% url 'sapl.materia:acessorio_em_lote' %}">Acessório em Lote</a></li>
<!-- <li class="nav__sub-item"><a class="nav__sub-link" href="#">Atas das Sessões</a></li>

2
sapl/templates/index.html

@ -80,7 +80,7 @@
Utilizadas para se determinar quais matérias serão discutidas e votadas. A responsabilidade pela elaboração das Pautas, que incluem Expediente e Ordem do Dia, é definida no Regimento Interno que, em geral, dá poderes ao Presidente da Casa Legislativa para a sua elaboração. Também, pode ficar a cargo de um colégio de líderes dos partidos políticos.
</p>
</div>
<a href="{% url 'sapl.sessao:list_pauta_sessao' %}"></a>
<a href="{% url 'sapl.sessao:pesquisar_pauta' %}"></a>
</div>
<div class="homeBlock">

49
sapl/templates/sessao/pauta_sessao_filter.html

@ -0,0 +1,49 @@
{% extends "crud/detail.html" %}
{% load i18n %}
{% load crispy_forms_tags %}
{% load i18n staticfiles %}
{% block sections_nav %} {% endblock %}
{% block detail_content %}
<h1><b>Pesquisar Pauta de Sessão</b></h1>
<br></br>
{% crispy filter.form %}
<p></p>
<table class="table table-striped table-hover">
<thead class="thead-default">
<tr><td><h3>Resultados</h3></td></tr>
</thead>
{% if page_obj|length %}
{% if numero_res > 1 %}
<h3>Foram encontradas {{numero_res}} pautas de sessões.</h3></br>
{% elif numero_res == 1 %}
<h3>Foi encontrada {{numero_res}} pauta de sessão.</h3></br>
{% endif %}
{% for s in page_obj %}
<tr>
<td>
<a href="{% url 'sapl.sessao:pauta_sessao_detail' s.id %}"><strong>{{s}}</strong></br></a>
</td>
<td>
<a href="{% url 'sapl.relatorios:relatorio_sessao_plenaria' s.id %}">
<img src="{% static 'img/file.png' %}">
</a>
</td>
</tr>
{% endfor %}
{% else %}
<tr>
<td>
<h3>Nenhuma Pauta de Sessão encontrada com essas especificações</h3>
</tr>
{% endif %}
</table>
{% include "paginacao.html" %}
{% endblock detail_content %}
Loading…
Cancel
Save