Browse Source

fix: https://github.com/interlegis/sapl/pull/3829#discussion_r3093434428

3828_refatorar_mesa_diretora
LeandroJatai 1 day ago
parent
commit
f36970c621
  1. 4
      sapl/parlamentares/models.py
  2. 6
      sapl/parlamentares/views.py
  3. 14
      sapl/templates/parlamentares/mesadiretora_filter.html

4
sapl/parlamentares/models.py

@ -298,7 +298,9 @@ class Parlamentar(models.Model):
@property
def filiacao_atual(self):
ultima_filiacao = self.filiacao_set.order_by('-data').first()
# este método conta com a ordenação default do model Filiacao para trazer a última filiação primeiro
# se order_by for adicionado aqui, o prefetch_related que inclui filiacao_set não irá pré-carregar como esperado
ultima_filiacao = self.filiacao_set.first()
if ultima_filiacao and not ultima_filiacao.data_desfiliacao:
return ultima_filiacao.partido.sigla
else:

6
sapl/parlamentares/views.py

@ -1032,6 +1032,12 @@ class MesaDiretoraCrud(Crud):
fk['data'] = {'legislatura': legislatura}
return fk
def get_queryset(self):
return super().get_queryset().prefetch_related(
'composicaomesa_set__parlamentar__filiacao_set__partido',
'composicaomesa_set__cargo'
)
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context['subnav_template_name'] = ''

14
sapl/templates/parlamentares/mesadiretora_filter.html

@ -45,19 +45,19 @@
</tr>
</thead>
<tbody>
{% for p in md.composicaomesa_set.all %}
{% for composicao in md.composicaomesa_set.all %}
<tr>
<td>
<div id="d-flex">
{% if p.parlamentar.fotografia %}
<img class="img-fluid img-thumbnail" src="{% cropped_thumbnail p.parlamentar "cropping"%}">
{% if composicao.parlamentar.fotografia %}
<img class="img-fluid img-thumbnail" src="{% cropped_thumbnail composicao.parlamentar "cropping"%}">
{% endif %}
<a class="pl-2" href="{% url 'sapl.parlamentares:parlamentar_detail' p.parlamentar.pk %}">
{{p.parlamentar.nome_parlamentar}}</a>
<a class="pl-2" href="{% url 'sapl.parlamentares:parlamentar_detail' composicao.parlamentar.pk %}">
{{composicao.parlamentar.nome_parlamentar}}</a>
</div>
</td>
<td>{{p.parlamentar.filiacao_atual}}</td>
<td>{{p.cargo}}</td>
<td>{{composicao.parlamentar.filiacao_atual}}</td>
<td>{{composicao.cargo}}</td>
</tr>
{% endfor %}
</tbody>

Loading…
Cancel
Save