Browse Source

Ocultar campos vazios do vereador para visitantes

pull/3455/head
Emiliano Alves 3 years ago
parent
commit
f880cfb5c7
  1. 7
      sapl/base/forms.py
  2. 18
      sapl/base/migrations/0048_appconfig_mostrar_campos_vazios_perfil_parlamentar.py
  3. 5
      sapl/base/models.py
  4. 4
      sapl/crud/base.py
  5. 3
      sapl/templates/base/layouts.yaml
  6. 41
      sapl/templates/parlamentares/parlamentar_perfil_publico.html

7
sapl/base/forms.py

@ -1565,7 +1565,8 @@ class ConfiguracoesAppForm(ModelForm):
'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)
@ -1590,10 +1591,10 @@ class ConfiguracoesAppForm(ModelForm):
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

18
sapl/base/migrations/0048_appconfig_mostrar_campos_vazios_perfil_parlamentar.py

@ -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
sapl/base/models.py

@ -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')

4
sapl/crud/base.py

@ -21,7 +21,7 @@ from django.views.generic import (CreateView, DeleteView, DetailView, ListView,
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.map_rules import (RP_ADD, RP_CHANGE, RP_DELETE, RP_DETAIL,
@ -782,6 +782,8 @@ class CrudDetailView(PermissionRequiredContainerCrudMixin,
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
return self.render_to_response(context)
def get_queryset(self):

3
sapl/templates/base/layouts.yaml

@ -61,6 +61,9 @@ AppConfig:
- cronometro_ordem cronometro_consideracoes
- mostrar_brasao_painel
{% trans 'Módulo Parlamentares' %}:
- mostrar_campos_vazios_perfil_parlamentar
{% trans 'Segurança' %}:
- google_recaptcha_site_key google_recaptcha_secret_key

41
sapl/templates/parlamentares/parlamentar_perfil_publico.html

@ -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 %}
</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 %}
</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 %}
</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 %}
</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 %}
</div>
</div>
</div>

Loading…
Cancel
Save