diff --git a/sapl/base/forms.py b/sapl/base/forms.py index 1dd54e3a7..2658e0195 100644 --- a/sapl/base/forms.py +++ b/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 diff --git a/sapl/base/migrations/0048_appconfig_mostrar_campos_vazios_perfil_parlamentar.py b/sapl/base/migrations/0048_appconfig_mostrar_campos_vazios_perfil_parlamentar.py new file mode 100644 index 000000000..0bbb9722d --- /dev/null +++ b/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?'), + ), + ] diff --git a/sapl/base/models.py b/sapl/base/models.py index fb2a3bd66..2cdf6f7ef 100644 --- a/sapl/base/models.py +++ b/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') diff --git a/sapl/crud/base.py b/sapl/crud/base.py index 389161f12..111735f95 100644 --- a/sapl/crud/base.py +++ b/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): diff --git a/sapl/templates/base/layouts.yaml b/sapl/templates/base/layouts.yaml index 658eb8e17..f8de21092 100644 --- a/sapl/templates/base/layouts.yaml +++ b/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 diff --git a/sapl/templates/parlamentares/parlamentar_perfil_publico.html b/sapl/templates/parlamentares/parlamentar_perfil_publico.html index ce2dad1d1..046878384 100644 --- a/sapl/templates/parlamentares/parlamentar_perfil_publico.html +++ b/sapl/templates/parlamentares/parlamentar_perfil_publico.html @@ -30,38 +30,59 @@
Partido:   {{object.filiacao_atual|default_if_none:"Não informado"}}
Data de Nascimento:   {{object.data_nascimento|default_if_none:"Não informado"}}
+ {% if not app_config.mostrar_campos_vazios_perfil_parlamentar and not object.data_nascimento %} + {{ pass }} + {% else %} +Data de Nascimento:   {{object.data_nascimento|default_if_none:"Não informado"}}
+ {% endif %}Telefone:   {{object.telefone|default_if_none:"Não informado"}}
+Telefone:   {{object.telefone|default:"Não informado"}}
+ {% endif %}E-mail:   {{object.email|default_if_none:"Não informado"}}
+E-mail:   {{object.email|default:"Não informado"}}
+ {% endif %}Número do Gabinete:   {{object.numero_gab_parlamentar|default_if_none:"Não informado"}}
+Número do Gabinete:   {{object.numero_gab_parlamentar|default:"Não informado"}}
+ {% endif %}Biografia:   {{object.biografia|safe}}
+ {% if not app_config.mostrar_campos_vazios_perfil_parlamentar and not object.biografia %} + {{ pass }} + {% else %} +Biografia:   {{object.biografia|safe}}
+ {% endif %}