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 @property
def filiacao_atual(self): 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: if ultima_filiacao and not ultima_filiacao.data_desfiliacao:
return ultima_filiacao.partido.sigla return ultima_filiacao.partido.sigla
else: else:

6
sapl/parlamentares/views.py

@ -1032,6 +1032,12 @@ class MesaDiretoraCrud(Crud):
fk['data'] = {'legislatura': legislatura} fk['data'] = {'legislatura': legislatura}
return fk 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): def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs) context = super().get_context_data(**kwargs)
context['subnav_template_name'] = '' context['subnav_template_name'] = ''

14
sapl/templates/parlamentares/mesadiretora_filter.html

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

Loading…
Cancel
Save