Browse Source

Fix #1257

pull/1407/head
Eduardo Calil 8 years ago
parent
commit
6ea7c0975c
  1. 28
      sapl/sessao/forms.py
  2. 49
      sapl/sessao/views.py
  3. 12
      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.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.utils import (RANGE_DIAS_MES, RANGE_MESES,
MateriaPesquisaOrderingFilter, autor_label,
@ -287,10 +288,15 @@ class SessaoPlenariaFilterSet(django_filters.FilterSet):
class AdicionarVariasMateriasFilterSet(MateriaLegislativaFilterSet):
o = MateriaPesquisaOrderingFilter()
tramitacao__status = django_filters.ModelChoiceFilter(
required=True,
queryset=StatusTramitacao.objects.all(),
label=_('Status da Matéria'))
class Meta:
model = MateriaLegislativa
fields = ['numero',
fields = ['tramitacao__status',
'numero',
'numero_protocolo',
'ano',
'tipo',
@ -312,15 +318,17 @@ class AdicionarVariasMateriasFilterSet(MateriaLegislativaFilterSet):
self.filters['relatoria__parlamentar_id'].label = 'Relatoria'
row1 = to_row(
[('tipo', 12)])
[('tramitacao__status', 12)])
row2 = to_row(
[('tipo', 12)])
row3 = to_row(
[('numero', 4),
('ano', 4),
('numero_protocolo', 4)])
row3 = to_row(
row4 = to_row(
[('data_apresentacao', 6),
('data_publicacao', 6)])
row4 = to_row(
row5 = to_row(
[('autoria__autor', 0),
(Button('pesquisar',
'Pesquisar Autor',
@ -328,17 +336,17 @@ class AdicionarVariasMateriasFilterSet(MateriaLegislativaFilterSet):
(Button('limpar',
'limpar Autor',
css_class='btn btn-primary btn-sm'), 10)])
row5 = to_row(
row6 = to_row(
[('autoria__autor__tipo', 6),
# ('autoria__autor__partido', 6)
])
row6 = to_row(
row7 = to_row(
[('relatoria__parlamentar_id', 6),
('local_origem_externa', 6)])
row7 = to_row(
row8 = to_row(
[('em_tramitacao', 6),
('o', 6)])
row8 = to_row(
row9 = to_row(
[('ementa', 12)])
self.form.helper = FormHelper()
@ -348,7 +356,7 @@ class AdicionarVariasMateriasFilterSet(MateriaLegislativaFilterSet):
row1, row2, row3,
HTML(autor_label),
HTML(autor_modal),
row4, row5, row6, row7, row8,
row4, row5, row6, row7, row8, row9,
form_actions(save_label='Pesquisar'))
)

49
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,
MasterDetailCrud,
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,
TipoMateriaLegislativa, Tramitacao)
from sapl.materia.views import MateriaLegislativaPesquisaView
@ -2434,14 +2434,6 @@ class PesquisarPautaSessaoView(PesquisarSessaoPlenariaView):
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):
lista = model.objects.filter(
sessao_plenaria_id=id_sessao)
@ -2463,17 +2455,21 @@ class AdicionarVariasMateriasExpediente(PermissionRequiredForAppCrudMixin,
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(
self.kwargs['pk'], ExpedienteMateria)
lista_materias_adicionadas = retira_materias_ja_adicionadas(
self.kwargs['pk'], ExpedienteMateria)
qs = qs.filter(id__in=lista_ordem_dia).exclude(
id__in=lista_materias_adicionadas).distinct()
qs = qs.filter(id__in=lista_status).exclude(
id__in=lista_materias_adicionadas).distinct()
kwargs.update({
'queryset': qs,
})
kwargs.update({
'queryset': qs,
})
return kwargs
def get_context_data(self, **kwargs):
@ -2543,17 +2539,20 @@ class AdicionarVariasMateriasOrdemDia(AdicionarVariasMateriasExpediente):
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(
self.kwargs['pk'], OrdemDia)
lista_materias_adicionadas = retira_materias_ja_adicionadas(
self.kwargs['pk'], OrdemDia)
qs = qs.filter(id__in=lista_ordem_dia).exclude(
id__in=lista_materias_adicionadas).distinct()
qs = qs.filter(id__in=lista_status).exclude(
id__in=lista_materias_adicionadas).distinct()
kwargs.update({
'queryset': qs,
})
kwargs.update({
'queryset': qs,
})
return kwargs
def post(self, request, *args, **kwargs):

12
sapl/templates/sessao/adicionar_varias_materias_expediente.html

@ -9,7 +9,7 @@
{% block detail_content %}
{% block buttons %}
{% if filter_url %}
{% if filter_url and not filter.form.errors %}
<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>
</div>
@ -22,12 +22,16 @@
{% endblock %}
{% if not filter_url %}
{% if filter.form.errors %}
{% crispy filter.form %}
{% endif %}
{% else %}
{% if not filter_url %}
{% crispy filter.form %}
{% endif %}
{% endif %}
<p></p>
{% if filter_url %}
{% if filter_url and not filter.form.errors %}
<table class="table table-striped table-bordered">
<thead class="thead-default">
<tr>

2
sapl/templates/sessao/adicionar_varias_materias_ordem.html

@ -4,7 +4,7 @@
{% block buttons %}
{% if filter_url %}
{% if filter_url and not filter.form.errors %}
<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>

Loading…
Cancel
Save