Skip to content

Commit

Permalink
Conserta relatoria de matérias (#3692)
Browse files Browse the repository at this point in the history
Fix relatoria de matérias
  • Loading branch information
edwardoliveira authored Nov 28, 2023
1 parent 455aadd commit 6c00245
Show file tree
Hide file tree
Showing 8 changed files with 44 additions and 15 deletions.
10 changes: 9 additions & 1 deletion sapl/crispy_layout_mixin.py
Original file line number Diff line number Diff line change
Expand Up @@ -284,7 +284,7 @@ def get_column(self, fieldname, span):
'text': field_display,
}

def fk_urlize_for_detail(self, obj, fieldname):
def fk_urlify_for_detail(self, obj, fieldname):

field = obj._meta.get_field(fieldname)
value = getattr(obj, fieldname)
Expand All @@ -298,6 +298,14 @@ def fk_urlize_for_detail(self, obj, fieldname):

return field.verbose_name, display

def fk_urlify_for_list(self, obj, field):
value = getattr(obj, field)
return reverse(
'%s:%s_detail' % (
value._meta.app_config.name,
value._meta.model_name),
kwargs={'pk': value.id}),

def m2m_urlize_for_detail(self, obj, fieldname):

manager, fieldname = tuple(fieldname.split('__'))
Expand Down
20 changes: 16 additions & 4 deletions sapl/crud/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -413,7 +413,7 @@ def get_headers(self):
'composicao__periodo__data_inicio', 'composicao__periodo__data_fim')]
"""
r = []
for fieldname in self.list_field_names:
for (fieldname, _) in self._parse_field_names(self.list_field_names):
if not isinstance(fieldname, tuple):
fieldname = fieldname,
s = []
Expand Down Expand Up @@ -446,14 +446,26 @@ def get_headers(self):
r.append(s)
return r

def _parse_field_names(self, field_name_list):
parsed_list = []
for field_name in field_name_list:
field_tuple = tuple(field_name.split('|')) \
if '|' in field_name else (field_name, None)
parsed_list.append(field_tuple)
return parsed_list

def _as_row(self, obj):
r = []
for i, name in enumerate(self.list_field_names):
for i, (name, func) in enumerate(self._parse_field_names(self.list_field_names)):
# URL padrão para primeira coluna da listagem
url = self.resolve_url(
ACTION_DETAIL, args=(obj.id,)) if i == 0 else None
# gera URL para matéria a partir de fk_urlify_for_list em layouts.yaml
if i > 0 and func is not None:
url = getattr(self, func)(obj, name)[0]

"""Caso o crud list seja para uma relação ManyToManyField"""
if url and hasattr(self, 'crud') and\
if url and hasattr(self, 'crud') and \
hasattr(self.crud, 'is_m2m') and self.crud.is_m2m:
url = url + ('?pkk=' + self.kwargs['pk']
if 'pk' in self.kwargs else '')
Expand Down Expand Up @@ -483,7 +495,7 @@ def _as_row(self, obj):
if m:
ss = get_field_display(m, n[-1])[1]
ss = (
('<br>' if '<ul>' in ss else ' - ') + ss)\
('<br>' if '<ul>' in ss else ' - ') + ss) \
if ss and j != 0 and s else ss
except:
pass
Expand Down
3 changes: 3 additions & 0 deletions sapl/materia/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -1337,6 +1337,9 @@ def get_initial(self):

return {'comissao': localizacao}

class ListView(MasterDetailCrud.ListView):
layout_key = 'RelatoriaList'

class UpdateView(MasterDetailCrud.UpdateView):
form_class = RelatoriaForm
layout_key = None
Expand Down
15 changes: 11 additions & 4 deletions sapl/templates/materia/layouts.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -59,8 +59,8 @@ Anexada:

AnexadaDetail:
{% trans 'Matéria Anexada' %}:
- materia_principal|fk_urlize_for_detail
- materia_anexada|fk_urlize_for_detail
- materia_principal|fk_urlify_for_detail
- materia_anexada|fk_urlify_for_detail
- data_anexacao data_desanexacao

Autoria:
Expand All @@ -86,11 +86,18 @@ Orgao:

Relatoria:
{% trans 'Relatoria' %}:
- comissao|fk_urlize_for_detail
- materia|fk_urlize_for_detail
- comissao
- materia
- data_designacao_relator data_destituicao_relator
- parlamentar tipo_fim_relatoria

RelatoriaList:
{% trans 'Relatoria' %}:
- comissao
- materia|fk_urlify_for_list
- data_designacao_relator data_destituicao_relator
- parlamentar|fk_urlify_for_list tipo_fim_relatoria

TipoProposicao:
{% trans 'Tipo Proposição' %}:
- descricao content_type
Expand Down
2 changes: 1 addition & 1 deletion sapl/templates/norma/layouts.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ LegislacaoCitada:

LegislacaoCitadaDetail:
{% trans 'Legislação Citada' %}:
- norma|fk_urlize_for_detail
- norma|fk_urlify_for_detail
- disposicoes parte livro titulo
- capitulo secao subsecao artigo
- paragrafo inciso alinea item
Expand Down
6 changes: 3 additions & 3 deletions sapl/templates/protocoloadm/layouts.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,8 @@ Anexado:

AnexadoDetail:
{% trans 'Documento Anexado' %}:
- documento_principal|fk_urlize_for_detail
- documento_anexado|fk_urlize_for_detail
- documento_principal|fk_urlify_for_detail
- documento_anexado|fk_urlify_for_detail
- data_anexacao data_desanexacao

Protocolo:
Expand All @@ -70,5 +70,5 @@ VinculoDocAdminMateria:

VinculoDocAdminMateriaDetail:
{% trans 'Matéria Vinculada' %}:
- materia|fk_urlize_for_detail data_anexacao:3 data_desanexacao:3
- materia|fk_urlify_for_detail data_anexacao:3 data_desanexacao:3
- documento
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
<p style="text-align: justify;margin-top: 0">
<strong>Ocorrências da Sessão: </strong>
{{ object.ocorrenciasessao.conteudo|striptags|safe }}

</p>
</fieldset>
{% endif %}
2 changes: 1 addition & 1 deletion sapl/templates/sessao/layouts.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -133,5 +133,5 @@ Correspondencia:
CorrespondenciaDetail:
{% trans 'Correspondencia' %}:
- numero_ordem:2 tipo:3 sessao_plenaria
- documento|fk_urlize_for_detail
- documento|fk_urlify_for_detail
- observacao

0 comments on commit 6c00245

Please sign in to comment.