Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Exibir Rótulos de Campos sem Informação no Perfil do Parlamentar para Visitantes #3455

Open
wants to merge 2 commits into
base: 3.1.x
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions sapl/base/forms.py
Original file line number Diff line number Diff line change
Expand Up @@ -1565,7 +1565,8 @@ class Meta:
'tramitacao_documento',
'google_recaptcha_site_key',
'google_recaptcha_secret_key',
'sapl_as_sapn']
'sapl_as_sapn',
'mostrar_campos_vazios_perfil_parlamentar']

def __init__(self, *args, **kwargs):
super(ConfiguracoesAppForm, self).__init__(*args, **kwargs)
Expand All @@ -1590,10 +1591,10 @@ def clean(self):

if not casa.logotipo and mostrar_brasao_painel:
self.logger.warning(
'Não há logitipo configurado para esta '
'Não há logotipo configurado para esta '
'CasaLegislativa ({}).'.format(casa)
)
raise ValidationError("Não há logitipo configurado para esta "
raise ValidationError("Não há logotipo configurado para esta "
"Casa legislativa.")

return cleaned_data
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Generated by Django 2.2.24 on 2021-09-28 22:02

from django.db import migrations, models


class Migration(migrations.Migration):

dependencies = [
('base', '0047_auto_20210315_1522'),
]

operations = [
migrations.AddField(
model_name='appconfig',
name='mostrar_campos_vazios_perfil_parlamentar',
field=models.BooleanField(choices=[(True, 'Sim'), (False, 'Não')], default=True, verbose_name='Mostrar Campos sem Informação no Perfil do Parlamentar para Usuário não Logados?'),
),
]
5 changes: 5 additions & 0 deletions sapl/base/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -207,6 +207,11 @@ class AppConfig(models.Model):
'Utilizar SAPL como SAPN?'),
choices=YES_NO_CHOICES, default=False)

mostrar_campos_vazios_perfil_parlamentar = models.BooleanField(
verbose_name=_(
'Mostrar Campos sem Informação no Perfil do Parlamentar para Usuários não Logados?'),
choices=YES_NO_CHOICES, default=True)

class Meta:
verbose_name = _('Configurações da Aplicação')
verbose_name_plural = _('Configurações da Aplicação')
Expand Down
4 changes: 3 additions & 1 deletion sapl/crud/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
UpdateView)
from django.views.generic.base import ContextMixin
from django.views.generic.list import MultipleObjectMixin

from sapl.base.models import AppConfig as ConfiguracoesAplicacao
from sapl.crispy_layout_mixin import CrispyLayoutFormMixin, get_field_display
from sapl.crispy_layout_mixin import SaplFormHelper
from sapl.rules import (RP_ADD, RP_CHANGE, RP_DELETE, RP_DETAIL,
Expand Down Expand Up @@ -780,6 +780,8 @@ def get(self, request, *args, **kwargs):
if hasattr(obj, 'model_set') and obj.model_set:
self.object_list = self.get_queryset()
context = self.get_context_data(object=self.object)
app_config = ConfiguracoesAplicacao.objects.first()
context['app_config'] = app_config
Comment on lines +783 to +784
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
app_config = ConfiguracoesAplicacao.objects.first()
context['app_config'] = app_config

Não precisa adicionar a AppConfig em view que você quiser utilizar nos templates. Existe um template filter em sapl.base.tamplatetags.common_tags.py para isso.
em todo template que você quiser utilizar uma característica definida nas configurações da aplicação é só importar com o load e usar o filter

return self.render_to_response(context)

def get_queryset(self):
Expand Down
3 changes: 3 additions & 0 deletions sapl/templates/base/layouts.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,9 @@ AppConfig:
- cronometro_ordem cronometro_consideracoes
- mostrar_brasao_painel

{% trans 'Módulo Parlamentares' %}:
- mostrar_campos_vazios_perfil_parlamentar
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Muito bacana sua iniciativa de parametrizar um comportamento no sistema e deixar o usuário decidir. E você ter entendido a lógica da construção dos formulários e inserido corretamente aqui foi massa!


{% trans 'Segurança' %}:
- google_recaptcha_site_key google_recaptcha_secret_key

Expand Down
41 changes: 31 additions & 10 deletions sapl/templates/parlamentares/parlamentar_perfil_publico.html
Original file line number Diff line number Diff line change
Expand Up @@ -30,38 +30,59 @@
</div>

<div class="col-sm-8">
<div id="div_data_nascimento" class="form-group">
<div id="div_partido" class="form-group">
<p><b>Partido: </b> &nbsp {{object.filiacao_atual|default_if_none:"Não informado"}}</p>
</div>
</div>

<div class="col-sm-8">
<div id="div_data_nascimento" class="form-group">
<p><b>Data de Nascimento: </b> &nbsp {{object.data_nascimento|default_if_none:"Não informado"}}</p>
{% if not app_config.mostrar_campos_vazios_perfil_parlamentar and not object.data_nascimento %}
{{ pass }}
{% else %}
<p><b>Data de Nascimento: </b> &nbsp {{object.data_nascimento|default_if_none:"Não informado"}}</p>
{% endif %}
Comment on lines +40 to +44
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
{% if not app_config.mostrar_campos_vazios_perfil_parlamentar and not object.data_nascimento %}
{{ pass }}
{% else %}
<p><b>Data de Nascimento: </b> &nbsp {{object.data_nascimento|default_if_none:"Não informado"}}</p>
{% endif %}
{% if "mostrar_campos_vazios_perfil_parlamentar"|get_config_attr or object.data_nascimento %}
<p><b>Data de Nascimento: </b> &nbsp {{object.data_nascimento|default_if_none:"Não informado"}}</p>
{% endif %}

</div>
</div>

<div class="col-sm-8">
<div id="div_data_nascimento" class="form-group">
<p><b>Telefone: </b> &nbsp {{object.telefone|default_if_none:"Não informado"}}</p>
<div id="div_telefone" class="form-group">
{% if not app_config.mostrar_campos_vazios_perfil_parlamentar and not object.telefone %}
{{ pass }}
{% else %}
<p><b>Telefone: </b> &nbsp {{object.telefone|default:"Não informado"}}</p>
{% endif %}
Comment on lines +49 to +54
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
<div id="div_telefone" class="form-group">
{% if not app_config.mostrar_campos_vazios_perfil_parlamentar and not object.telefone %}
{{ pass }}
{% else %}
<p><b>Telefone: </b> &nbsp {{object.telefone|default:"Não informado"}}</p>
{% endif %}
<div id="div_telefone" class="form-group">
{% if "mostrar_campos_vazios_perfil_parlamentar"|get_config_attr or object.telefone %}
<p><b>Telefone: </b> &nbsp {{object.telefone|default:"Não informado"}}</p>
{% endif %}

</div>
</div>

<div class="col-sm-8">
<div id="div_data_nascimento" class="form-group">
<p><b>E-mail: </b> &nbsp {{object.email|default_if_none:"Não informado"}}</p>
<div id="div_email" class="form-group">
{% if not app_config.mostrar_campos_vazios_perfil_parlamentar and not object.email %}
{{ pass }}
{% else %}
<p><b>E-mail: </b> &nbsp {{object.email|default:"Não informado"}}</p>
{% endif %}
Comment on lines +59 to +64
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
<div id="div_email" class="form-group">
{% if not app_config.mostrar_campos_vazios_perfil_parlamentar and not object.email %}
{{ pass }}
{% else %}
<p><b>E-mail: </b> &nbsp {{object.email|default:"Não informado"}}</p>
{% endif %}
<div id="div_email" class="form-group">
{% if "mostrar_campos_vazios_perfil_parlamentar"|get_config_attr or object.email %}
<p><b>E-mail: </b> &nbsp {{object.email|default:"Não informado"}}</p>
{% endif %}

</div>
</div>


<div class="col-sm-8">
<div id="div_data_nascimento" class="form-group">
<p><b>Número do Gabinete: </b> &nbsp {{object.numero_gab_parlamentar|default_if_none:"Não informado"}}</p>
<div id="div_num_gabinete" class="form-group">
{% if not app_config.mostrar_campos_vazios_perfil_parlamentar and not object.numero_gab_parlamentar %}
{{ pass }}
{% else %}
<p><b>Número do Gabinete: </b> &nbsp {{object.numero_gab_parlamentar|default:"Não informado"}}</p>
{% endif %}
Comment on lines +70 to +75
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
<div id="div_num_gabinete" class="form-group">
{% if not app_config.mostrar_campos_vazios_perfil_parlamentar and not object.numero_gab_parlamentar %}
{{ pass }}
{% else %}
<p><b>Número do Gabinete: </b> &nbsp {{object.numero_gab_parlamentar|default:"Não informado"}}</p>
{% endif %}
<div id="div_num_gabinete" class="form-group">
{% if "mostrar_campos_vazios_perfil_parlamentar"|get_config_attr or object.numero_gab_parlamentar %}
<p><b>Número do Gabinete: </b> &nbsp {{object.numero_gab_parlamentar|default:"Não informado"}}</p>
{% endif %}

</div>
</div>

<div class="col-sm-8">
<div id="div_biografia" class="form-group">
<p><b>Biografia: </b> &nbsp {{object.biografia|safe}}</p>
{% if not app_config.mostrar_campos_vazios_perfil_parlamentar and not object.biografia %}
{{ pass }}
{% else %}
<p><b>Biografia: </b> &nbsp {{object.biografia|safe}}</p>
{% endif %}
Comment on lines +81 to +85
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
{% if not app_config.mostrar_campos_vazios_perfil_parlamentar and not object.biografia %}
{{ pass }}
{% else %}
<p><b>Biografia: </b> &nbsp {{object.biografia|safe}}</p>
{% endif %}
{% if "mostrar_campos_vazios_perfil_parlamentar"|get_config_attr or object.biografia %}
<p><b>Biografia: </b> &nbsp {{object.biografia|safe}}</p>
{% endif %}

Não se esqueça de adicionar la no inicio do arquivo o

{% load common_tags %}

</div>
</div>
</div>
Expand Down