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

Conversation

emilianoalves
Copy link

Descrição

Criei uma migrate adicionando um campo boolean "mostrar_campos_vazios_perfil_parlamentar" na tabela "base_appconfig", padrão True, para registrar a decisão do administrador em manter o funcionamento atual ou optar por ocultar os rótulos de campos não obrigatórios no cadastro.
Alterada a forma de tratamento para que seja exibido a mensagem "Não informado", em alguns casos não exibia.
Em configurações da Aplicação, foi adicionado uma divisão "Módulos Parlamentares" e o rótulo "Mostrar Campos sem Informação no Perfil do Parlamentar para Usuários não Logados?" para informar sobre o campo opcional.
Quando SIM, serão exibidos os campos mesmo que não contenham informação, porém com a mensagem "Não informado" e quando NÃO, serão exibidos apenas os campos e rótulos com dados.

Issue Relacionada

#3454

Motivação e Contexto

Evitar perguntas quanto a problemas de sistema/portal

Como Isso Foi Testado?

O intuito é não afetar o funcionamento atual do sistema, que continua, quando em default, com a mesma funcionalidade.

Capturas de Tela (se apropriado):

...

Tipos de Mudanças

  • Bug fix (alteração que corrige uma issue e não altera funcionalidades já existentes)
  • [ x ] Nova feature (alteração que adiciona uma funcionalidade e não altera funcionalidades já existentes)
  • Alteração disruptiva (Breaking change) (Correção ou funcionalidade que causa alteração nas funcionalidades existentes)

Checklist:

  • [ x ] Eu li o documento de Contribuição (CONTRIBUTING).
  • Meu código segue o estilo de código deste projeto.
  • Minha alteração requer uma alteração na documentação.
  • Eu atualizei a documentação de acordo.
  • Eu adicionei testes para cobrir minhas mudanças.
  • Todos os testes novos e existentes passaram.

Referente aos testes, realizei fork e clonei o projeto original realizei os testes informados antes de implementar, contudo, o py.test encontrou 5 falhas. Porém sou novato no python e não sei muito sobre os testes automatizados neste ambiente.
Gostaria de contribuir com o desenvolvimento e aprimoramento do sistema.

@LeandroJatai LeandroJatai self-requested a review October 2, 2021 01:57
Comment on lines +783 to +784
app_config = ConfiguracoesAplicacao.objects.first()
context['app_config'] = app_config
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

@@ -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!

Comment on lines +40 to +44
{% 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 %}
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 %}

Comment on lines +49 to +54
<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 %}
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 %}

Comment on lines +59 to +64
<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 %}
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 %}

Comment on lines +70 to +75
<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 %}
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 %}

Comment on lines +81 to +85
{% 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 %}
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 %}

@LeandroJatai
Copy link
Member

Referente aos testes, realizei fork e clonei o projeto original realizei os testes informados antes de implementar, contudo, o py.test encontrou 5 falhas. Porém sou novato no python e não sei muito sobre os testes automatizados neste ambiente. Gostaria de contribuir com o desenvolvimento e aprimoramento do sistema.

@emilianoalves não tinha lido esse finalzinho do PR. Maravilha cara... to felizão de aparecer querendo contribuir com o SAPL, você não faz ideia!!!

Deixando contribuição de lado, porque se for falar dessa... enfim... Vamos falar de questões técnicas... Perdemos duas grandes ferramentas gratuitas nos últimos meses: 1) docker hub; 2) trevis
Sobre:

  1. Docker hub - ele gerava gratuitamente as imagens para instalação do Sapl. Não gera mais, é por isso que estamos como o código indo para 3.1.162-RC11 e todos os sapl estão limitados a 3.1.162-RC8. O @fabiorauber e o @edwardoliveira estão trabalhando na tentativa de contornar essas dificuldades, gratuitamente, para seguirmos com as atualizações.
    Se você não conhece nada de docker pode assistir meu vídeo https://youtu.be/2xGN1IfjOSI que coloca um sapl em produção, além de ficar algumas dicas no meio do caminho sobre coisas do sapl e do docker e docker-compose

  2. trevis: este tb era gratuito e a cada commit que subíamos era preparado um ambiente do zero. Uma máquina virtual limpa, instalando todas as nossas dependências criando o bando e rodando o py.test... caso algum erro ocorresse nesse processo, aqui no github, ao lado do nosso commit, era colocado um X... Isso atentava os devs de que seu commit inseria erro em algum local. Juntando três coisas: eu e Edward sobrecarregados, estagiários novos, trevis desativado, algumas implementações começaram a lançar erro nos testes... corrijamos!

Bora codar... o projeto é grande e tem muito ainda a melhorar e crescer!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants