Browse Source

Otimiza o contexto do template Pesquisa de Matérias

pull/507/head
LeandroRoberto 9 years ago
parent
commit
ab2c0594b5
  1. 32
      sapl/materia/views.py
  2. 16
      sapl/templates/materia/materialegislativa_filter.html

32
sapl/materia/views.py

@ -469,39 +469,21 @@ class MateriaLegislativaPesquisaView(FilterView):
context = super(MateriaLegislativaPesquisaView, context = super(MateriaLegislativaPesquisaView,
self).get_context_data(**kwargs) self).get_context_data(**kwargs)
context['title'] = _('Pesquisar Matéria Legislativa')
paginator = context['paginator'] paginator = context['paginator']
page_obj = context['page_obj'] page_obj = context['page_obj']
context['page_range'] = make_pagination( context['page_range'] = make_pagination(
page_obj.number, paginator.num_pages) page_obj.number, paginator.num_pages)
return context
def get(self, request, *args, **kwargs):
super(MateriaLegislativaPesquisaView, self).get(request)
# Se a pesquisa estiver quebrando com a paginação
# Olhe esta função abaixo
# Provavelmente você criou um novo campo no Form/FilterSet
# Então a ordem da URL está diferente
data = self.filterset.data
if (data and data.get('tipo') is not None):
url = "&" + str(self.request.environ['QUERY_STRING'])
if url.startswith("&page"):
ponto_comeco = url.find('tipo=') - 1
url = url[ponto_comeco:]
else:
url = ''
self.filterset.form.fields['o'].label = _('Ordenação') self.filterset.form.fields['o'].label = _('Ordenação')
context = self.get_context_data(filter=self.filterset, qr = self.request.GET.copy()
object_list=self.object_list, if 'page' in qr:
filter_url=url, del qr['page']
numero_res=len(self.object_list) context['filter_url'] = ('&' + qr.urlencode()) if len(qr) > 0 else ''
)
return self.render_to_response(context) return context
class MateriaTaView(IntegracaoTaView): class MateriaTaView(IntegracaoTaView):

16
sapl/templates/materia/materialegislativa_filter.html

@ -7,8 +7,6 @@
{% endblock %} {% endblock %}
{% block detail_content %} {% block detail_content %}
<h1><b>Pesquisar Matéria</b></h1>
<br></br>
{% if filter_url %} {% if filter_url %}
<div class="actions btn-group pull-right" role="group"> <div class="actions btn-group pull-right" role="group">
<a href="{% url 'sapl.materia:pesquisar_materia' %}" class="btn btn-default">{% trans 'Fazer nova pesquisa' %}</a> <a href="{% url 'sapl.materia:pesquisar_materia' %}" class="btn btn-default">{% trans 'Fazer nova pesquisa' %}</a>
@ -23,16 +21,16 @@
{% if filter_url %} {% if filter_url %}
<table class="table table-striped table-bordered"> <table class="table table-striped table-bordered">
<thead class="thead-default"> <thead class="thead-default">
<tr><td><h3>Resultados</h3></td></tr> <tr><td><h3>{% trans "Resultados" %}</h3></td></tr>
</thead> </thead>
{% if page_obj|length %} {% if paginator.count %}
{% if numero_res > 1 %} {% if paginator.count > 1 %}
<h3>Pesquisa concluída com sucesso! Foram encontradas {{numero_res}} matérias.</h3> <h3>{% blocktrans with paginator.count as total_materias %}Pesquisa concluída com sucesso! Foram encontradas {{total_materias}} matérias.{% endblocktrans %}</h3>
{% elif numero_res == 1 %} {% elif paginator.count == 1 %}
<h3>Pesquisa concluída com sucesso! Foi encontrada {{numero_res}} matéria.</h3> <h3>{% trans 'Pesquisa concluída com sucesso! Foi encontrada 1 matéria.'%}</h3>
{% endif %} {% endif %}
{% for m in page_obj %}
{% for m in page_obj %}
<tr> <tr>
<td> <td>
<strong><a href="{% url 'sapl.materia:materialegislativa_detail' m.id %}">{{m.tipo.sigla}} {{m.numero}}/{{m.ano}} - {{m.tipo}}</strong></a></br> <strong><a href="{% url 'sapl.materia:materialegislativa_detail' m.id %}">{{m.tipo.sigla}} {{m.numero}}/{{m.ano}} - {{m.tipo}}</strong></a></br>

Loading…
Cancel
Save