Browse Source

Complementa commit 4c17e9b

pull/3359/head
eribeiro 4 years ago
parent
commit
08b22fc3ce
  1. 19
      sapl/base/views.py
  2. 5
      sapl/materia/views.py
  3. 13
      sapl/templates/base/RelatorioMateriasAnoAssunto.html

19
sapl/base/views.py

@ -1108,15 +1108,16 @@ class RelatorioMateriaAnoAssuntoView(ListView):
def get_context_data(self, **kwargs): def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs) context = super().get_context_data(**kwargs)
context['title'] = _('Matérias por Ano e Assunto') context['title'] = _('Matérias por Ano e Assunto')
mat = MateriaLegislativa.objects.exclude(id__in=
MateriaAssunto.objects.distinct( # In[10]: MateriaAssunto.objects.all().values(
'materia_id').values_list( # ...: 'materia__ano').annotate(
'materia_id', # ...: total = Count('materia__ano')).order_by('-materia__ano')
flat=True
).order_by( mat = MateriaLegislativa.objects.filter(
'materia_id' materiaassunto__isnull=True).values(
)).values( 'ano').annotate(
'ano').annotate(total=Count('ano')).order_by('-ano') total=Count('ano')).order_by('-ano')
context.update({"materias_sem_assunto": mat}) context.update({"materias_sem_assunto": mat})
return context return context

5
sapl/materia/views.py

@ -2007,6 +2007,11 @@ class MateriaLegislativaPesquisaView(FilterView):
"autoria_set__autor", "autoria_set__autor",
"tipo",) "tipo",)
# retorna somente MateriaLegislativa sem MateriaAssunto se True
materia_assunto_null = self.request.GET.get("materiaassunto_null", False)
if materia_assunto_null:
qs = qs.filter(materiaassunto__isnull=True)
if 'o' in self.request.GET and not self.request.GET['o']: if 'o' in self.request.GET and not self.request.GET['o']:
qs = qs.order_by('-ano', 'tipo__sigla', '-numero') qs = qs.order_by('-ano', 'tipo__sigla', '-numero')

13
sapl/templates/base/RelatorioMateriasAnoAssunto.html

@ -3,7 +3,14 @@
{% load crispy_forms_tags %} {% load crispy_forms_tags %}
{% block base_content %} {% block base_content %}
<fieldset> <fieldset>
<legend>Matérias por Ano e Assunto</legend> <div class="ancora">
<p class="titulo-conteudo">Conteúdo</p>
<ol>
<li><a href="#com-assunto">Matérias com assunto cadastrado</a></li>
<li><a href="#sem-assunto">Matérias sem assunto cadastrado</a></li>
</ol>
</div>
<span id="com-assunto"><h2>Matérias com assunto cadastrado</h2></span>
{% if not object_list %} {% if not object_list %}
<p>{{ NO_ENTRIES_MSG }}</p> <p>{{ NO_ENTRIES_MSG }}</p>
{% else %} {% else %}
@ -29,7 +36,7 @@
</table> </table>
{% endif %} {% endif %}
<br/> <br/>
<legend>Matérias sem Assunto</legend> <span id="sem-assunto"><h2 >Matérias sem assunto cadastrado</h2></span>
<table class="table table-striped table-hover"> <table class="table table-striped table-hover">
<thead> <thead>
<tr> <tr>
@ -40,7 +47,7 @@
<tbody> <tbody>
{% for o in materias_sem_assunto %} {% for o in materias_sem_assunto %}
<tr> <tr>
<td><a href="{% url 'sapl.materia:pesquisar_materia' %}?ano={{o.ano}}"> <td><a href="{% url 'sapl.materia:pesquisar_materia' %}?ano={{o.ano}}&materiaassunto_null=true">
{{o.ano}} {{o.ano}}
</a></td> </a></td>
<td>{{o.total}}</td> <td>{{o.total}}</td>

Loading…
Cancel
Save