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, data_inicio__day = django_filters.ChoiceFilter(required=False,
label=u'Dia', label=u'Dia',
choices=DIA_CHOICES) choices=DIA_CHOICES)
titulo = _('Pesquisa de Sessão Plenária')
class Meta: class Meta:
model = SessaoPlenaria model = SessaoPlenaria
@ -190,7 +191,7 @@ class SessaoPlenariaFilterSet(django_filters.FilterSet):
self.form.helper = FormHelper() self.form.helper = FormHelper()
self.form.helper.form_method = 'GET' self.form.helper.form_method = 'GET'
self.form.helper.layout = Layout( self.form.helper.layout = Layout(
Fieldset(_('Pesquisa de Sessao Plenária'), Fieldset(self.titulo,
row1, row1,
form_actions(save_label='Pesquisar')) form_actions(save_label='Pesquisar'))
) )
@ -291,3 +292,7 @@ class OradorExpedienteForm(ModelForm):
class Meta: class Meta:
model = OradorExpediente model = OradorExpediente
exclude = ['sessao_plenaria'] 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, OradorExpedienteCrud, PainelView,
PautaExpedienteDetail, PautaOrdemDetail, PautaExpedienteDetail, PautaOrdemDetail,
PautaSessaoDetailView, PautaSessaoListView, PautaSessaoDetailView, PautaSessaoListView,
PesquisarPautaSessaoView,
PesquisarSessaoPlenariaView, PesquisarSessaoPlenariaView,
PresencaOrdemDiaView, PresencaView, ResumoView, PresencaOrdemDiaView, PresencaView, ResumoView,
SessaoCrud, SessaoPlenariaView, SessaoCrud, SessaoPlenariaView,
@ -75,6 +76,8 @@ urlpatterns = [
# PAUTA SESSÃO # PAUTA SESSÃO
url(r'^pauta-sessao$', url(r'^pauta-sessao$',
PautaSessaoListView.as_view(), name='list_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+)$', url(r'^pauta-sessao/(?P<pk>\d+)$',
PautaSessaoDetailView.as_view(), name='pauta_sessao_detail'), PautaSessaoDetailView.as_view(), name='pauta_sessao_detail'),
url(r'^pauta-sessao/(?P<pk>\d+)/expediente/$', 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.exceptions import ObjectDoesNotExist, ValidationError
from django.core.urlresolvers import reverse from django.core.urlresolvers import reverse
from django.forms.utils import ErrorList 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.http.response import HttpResponseRedirect
from django.utils.datastructures import MultiValueDictKeyError from django.utils.datastructures import MultiValueDictKeyError
from django.utils.html import strip_tags 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, from .forms import (AdicionarVariasMateriasFilterSet, BancadaForm,
ExpedienteForm, ExpedienteMateriaForm, ListMateriaForm, ExpedienteForm, ExpedienteMateriaForm, ListMateriaForm,
MesaForm, OradorExpedienteForm, OradorForm, OrdemDiaForm, MesaForm, OradorExpedienteForm, OradorForm, OrdemDiaForm,
PresencaForm, SessaoPlenariaFilterSet, VotacaoEditForm, PautaSessaoFilterSet, PresencaForm,
VotacaoForm, VotacaoNominalForm) SessaoPlenariaFilterSet, VotacaoEditForm, VotacaoForm,
VotacaoNominalForm)
from .models import (Bancada, Bloco, CargoBancada, CargoMesa, from .models import (Bancada, Bloco, CargoBancada, CargoMesa,
ExpedienteMateria, ExpedienteSessao, IntegranteMesa, ExpedienteMateria, ExpedienteSessao, IntegranteMesa,
MateriaLegislativa, Orador, OradorExpediente, OrdemDia, MateriaLegislativa, Orador, OradorExpediente, OrdemDia,
@ -2103,6 +2104,11 @@ class PesquisarSessaoPlenariaView(FilterView):
return self.render_to_response(context) return self.render_to_response(context)
class PesquisarPautaSessaoView(PesquisarSessaoPlenariaView):
filterset_class = PautaSessaoFilterSet
template_name = 'sessao/pauta_sessao_filter.html'
def filtra_tramitacao_ordem_dia(): def filtra_tramitacao_ordem_dia():
lista = pega_ultima_tramitacao() lista = pega_ultima_tramitacao()
return Tramitacao.objects.filter( return Tramitacao.objects.filter(

2
sapl/templates/base.html

@ -81,7 +81,7 @@
{% endif %} {% 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.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: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: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="{% 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> <!-- <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. 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> </p>
</div> </div>
<a href="{% url 'sapl.sessao:list_pauta_sessao' %}"></a> <a href="{% url 'sapl.sessao:pesquisar_pauta' %}"></a>
</div> </div>
<div class="homeBlock"> <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