Browse Source

Fix #1257

pull/1407/head
Eduardo Calil 8 years ago
parent
commit
6ea7c0975c
  1. 28
      sapl/sessao/forms.py
  2. 25
      sapl/sessao/views.py
  3. 8
      sapl/templates/sessao/adicionar_varias_materias_expediente.html
  4. 2
      sapl/templates/sessao/adicionar_varias_materias_ordem.html

28
sapl/sessao/forms.py

@ -10,7 +10,8 @@ from django.utils.translation import ugettext_lazy as _
from sapl.crispy_layout_mixin import form_actions, to_row from sapl.crispy_layout_mixin import form_actions, to_row
from sapl.materia.forms import MateriaLegislativaFilterSet from sapl.materia.forms import MateriaLegislativaFilterSet
from sapl.materia.models import MateriaLegislativa, TipoMateriaLegislativa from sapl.materia.models import (MateriaLegislativa, TipoMateriaLegislativa,
StatusTramitacao)
from sapl.parlamentares.models import Parlamentar from sapl.parlamentares.models import Parlamentar
from sapl.utils import (RANGE_DIAS_MES, RANGE_MESES, from sapl.utils import (RANGE_DIAS_MES, RANGE_MESES,
MateriaPesquisaOrderingFilter, autor_label, MateriaPesquisaOrderingFilter, autor_label,
@ -287,10 +288,15 @@ class SessaoPlenariaFilterSet(django_filters.FilterSet):
class AdicionarVariasMateriasFilterSet(MateriaLegislativaFilterSet): class AdicionarVariasMateriasFilterSet(MateriaLegislativaFilterSet):
o = MateriaPesquisaOrderingFilter() o = MateriaPesquisaOrderingFilter()
tramitacao__status = django_filters.ModelChoiceFilter(
required=True,
queryset=StatusTramitacao.objects.all(),
label=_('Status da Matéria'))
class Meta: class Meta:
model = MateriaLegislativa model = MateriaLegislativa
fields = ['numero', fields = ['tramitacao__status',
'numero',
'numero_protocolo', 'numero_protocolo',
'ano', 'ano',
'tipo', 'tipo',
@ -312,15 +318,17 @@ class AdicionarVariasMateriasFilterSet(MateriaLegislativaFilterSet):
self.filters['relatoria__parlamentar_id'].label = 'Relatoria' self.filters['relatoria__parlamentar_id'].label = 'Relatoria'
row1 = to_row( row1 = to_row(
[('tipo', 12)]) [('tramitacao__status', 12)])
row2 = to_row( row2 = to_row(
[('tipo', 12)])
row3 = to_row(
[('numero', 4), [('numero', 4),
('ano', 4), ('ano', 4),
('numero_protocolo', 4)]) ('numero_protocolo', 4)])
row3 = to_row( row4 = to_row(
[('data_apresentacao', 6), [('data_apresentacao', 6),
('data_publicacao', 6)]) ('data_publicacao', 6)])
row4 = to_row( row5 = to_row(
[('autoria__autor', 0), [('autoria__autor', 0),
(Button('pesquisar', (Button('pesquisar',
'Pesquisar Autor', 'Pesquisar Autor',
@ -328,17 +336,17 @@ class AdicionarVariasMateriasFilterSet(MateriaLegislativaFilterSet):
(Button('limpar', (Button('limpar',
'limpar Autor', 'limpar Autor',
css_class='btn btn-primary btn-sm'), 10)]) css_class='btn btn-primary btn-sm'), 10)])
row5 = to_row( row6 = to_row(
[('autoria__autor__tipo', 6), [('autoria__autor__tipo', 6),
# ('autoria__autor__partido', 6) # ('autoria__autor__partido', 6)
]) ])
row6 = to_row( row7 = to_row(
[('relatoria__parlamentar_id', 6), [('relatoria__parlamentar_id', 6),
('local_origem_externa', 6)]) ('local_origem_externa', 6)])
row7 = to_row( row8 = to_row(
[('em_tramitacao', 6), [('em_tramitacao', 6),
('o', 6)]) ('o', 6)])
row8 = to_row( row9 = to_row(
[('ementa', 12)]) [('ementa', 12)])
self.form.helper = FormHelper() self.form.helper = FormHelper()
@ -348,7 +356,7 @@ class AdicionarVariasMateriasFilterSet(MateriaLegislativaFilterSet):
row1, row2, row3, row1, row2, row3,
HTML(autor_label), HTML(autor_label),
HTML(autor_modal), HTML(autor_modal),
row4, row5, row6, row7, row8, row4, row5, row6, row7, row8, row9,
form_actions(save_label='Pesquisar')) form_actions(save_label='Pesquisar'))
) )

25
sapl/sessao/views.py

@ -25,7 +25,7 @@ from sapl.base.models import AppConfig as AppsAppConfig
from sapl.crud.base import (RP_DETAIL, RP_LIST, Crud, CrudAux, from sapl.crud.base import (RP_DETAIL, RP_LIST, Crud, CrudAux,
MasterDetailCrud, MasterDetailCrud,
PermissionRequiredForAppCrudMixin, make_pagination) PermissionRequiredForAppCrudMixin, make_pagination)
from sapl.materia.forms import pega_ultima_tramitacao from sapl.materia.forms import filtra_tramitacao_status
from sapl.materia.models import (Autoria, DocumentoAcessorio, from sapl.materia.models import (Autoria, DocumentoAcessorio,
TipoMateriaLegislativa, Tramitacao) TipoMateriaLegislativa, Tramitacao)
from sapl.materia.views import MateriaLegislativaPesquisaView from sapl.materia.views import MateriaLegislativaPesquisaView
@ -2434,14 +2434,6 @@ class PesquisarPautaSessaoView(PesquisarSessaoPlenariaView):
return context return context
def filtra_tramitacao_ordem_dia():
lista = pega_ultima_tramitacao()
return Tramitacao.objects.filter(
id__in=lista,
status__descricao='Ordem do Dia').distinct().values_list(
'materia_id', flat=True)
def retira_materias_ja_adicionadas(id_sessao, model): def retira_materias_ja_adicionadas(id_sessao, model):
lista = model.objects.filter( lista = model.objects.filter(
sessao_plenaria_id=id_sessao) sessao_plenaria_id=id_sessao)
@ -2463,17 +2455,21 @@ class AdicionarVariasMateriasExpediente(PermissionRequiredForAppCrudMixin,
qs = self.get_queryset() qs = self.get_queryset()
lista_ordem_dia = filtra_tramitacao_ordem_dia() if 'tramitacao__status' in self.request.GET:
if self.request.GET['tramitacao__status']:
lista_status = filtra_tramitacao_status(
self.request.GET['tramitacao__status'])
lista_materias_adicionadas = retira_materias_ja_adicionadas( lista_materias_adicionadas = retira_materias_ja_adicionadas(
self.kwargs['pk'], ExpedienteMateria) self.kwargs['pk'], ExpedienteMateria)
qs = qs.filter(id__in=lista_ordem_dia).exclude( qs = qs.filter(id__in=lista_status).exclude(
id__in=lista_materias_adicionadas).distinct() id__in=lista_materias_adicionadas).distinct()
kwargs.update({ kwargs.update({
'queryset': qs, 'queryset': qs,
}) })
return kwargs return kwargs
def get_context_data(self, **kwargs): def get_context_data(self, **kwargs):
@ -2543,12 +2539,15 @@ class AdicionarVariasMateriasOrdemDia(AdicionarVariasMateriasExpediente):
qs = self.get_queryset() qs = self.get_queryset()
lista_ordem_dia = filtra_tramitacao_ordem_dia() if 'tramitacao__status' in self.request.GET:
if self.request.GET['tramitacao__status']:
lista_status = filtra_tramitacao_status(
self.request.GET['tramitacao__status'])
lista_materias_adicionadas = retira_materias_ja_adicionadas( lista_materias_adicionadas = retira_materias_ja_adicionadas(
self.kwargs['pk'], OrdemDia) self.kwargs['pk'], OrdemDia)
qs = qs.filter(id__in=lista_ordem_dia).exclude( qs = qs.filter(id__in=lista_status).exclude(
id__in=lista_materias_adicionadas).distinct() id__in=lista_materias_adicionadas).distinct()
kwargs.update({ kwargs.update({

8
sapl/templates/sessao/adicionar_varias_materias_expediente.html

@ -9,7 +9,7 @@
{% block detail_content %} {% block detail_content %}
{% block buttons %} {% block buttons %}
{% if filter_url %} {% if filter_url and not filter.form.errors %}
<div class="actions btn-group pull-right" role="group"> <div class="actions btn-group pull-right" role="group">
<a href="{% url 'sapl.sessao:adicionar_varias_materias_expediente' pk_sessao %}" class="btn btn-default">{% trans 'Fazer nova pesquisa' %}</a> <a href="{% url 'sapl.sessao:adicionar_varias_materias_expediente' pk_sessao %}" class="btn btn-default">{% trans 'Fazer nova pesquisa' %}</a>
</div> </div>
@ -22,12 +22,16 @@
{% endblock %} {% endblock %}
{% if filter.form.errors %}
{% crispy filter.form %}
{% else %}
{% if not filter_url %} {% if not filter_url %}
{% crispy filter.form %} {% crispy filter.form %}
{% endif %} {% endif %}
{% endif %}
<p></p> <p></p>
{% if filter_url %} {% if filter_url and not filter.form.errors %}
<table class="table table-striped table-bordered"> <table class="table table-striped table-bordered">
<thead class="thead-default"> <thead class="thead-default">
<tr> <tr>

2
sapl/templates/sessao/adicionar_varias_materias_ordem.html

@ -4,7 +4,7 @@
{% block buttons %} {% block buttons %}
{% if filter_url %} {% if filter_url and not filter.form.errors %}
<div class="actions btn-group pull-right" role="group"> <div class="actions btn-group pull-right" role="group">
<a href="{% url 'sapl.sessao:adicionar_varias_materias_ordem_dia' pk_sessao %}" class="btn btn-default">{% trans 'Fazer nova pesquisa' %}</a> <a href="{% url 'sapl.sessao:adicionar_varias_materias_ordem_dia' pk_sessao %}" class="btn btn-default">{% trans 'Fazer nova pesquisa' %}</a>

Loading…
Cancel
Save