institutotim / timtec

timtec main repo
BSD 3-Clause "New" or "Revised" License
13 stars 19 forks source link

[importante] Melhorar o cadastro de usuário #4

Closed moacirmoda closed 7 years ago

moacirmoda commented 8 years ago
  1. [x] No form de cadastro inicial, verificar se o campo "nome de usuário" corresponde a "login". Se sim e não for obrigatório, retirar;
  2. [x] Ainda no form de cadastro inicial, acrescentar os campos "primeiro nome", "sobrenome", "estado" e "cidade" e deixar como campos obrigatórios;
  3. [x] No form de cadastro interno (edição de perfil http://demo.timtec.com.br/profile/edit), acrescentar campos para data de nascimento, redes sociais (facebook, twitter, whatsapp[campo de telefone com ddd], telegram)
  4. [x] No cadastro, inserir uma mensagem (tip) ao usuário "Após o cadastro, você deve se logar usando email e senha";
  5. [x] Implementar os itens anteriores nos 2 temas: tema ifcolors (http://demo.timtec.com.br/accounts/signup/) + tema timtec (http://mooc.timtec.com.br/#)

Tela de cadastro atual tema IF: selecao_008

Tela de cadastro atual tema timtec: selecao_009

  1. [x] Detalhe importante: nos temas atuais o login do usuário é por login e senha. Depois das mudanças acima, Isto deve ser trocado para email e senha.

ex.: Login atual: selecao_019

Como deve ser: selecao_019b

moacirmoda commented 8 years ago

Para todos os itens, mexer no formulário de cadastro não implica somente em alterações de temas, mas também em alterações do core do projeto.

Como procedemos?

intrepidocabral commented 8 years ago

A obrigatoriedade tem de ser apenas na validação do form, não necessariamente no banco. Não precisa ser "not null", nem nada, mas o form tem que ter uma validação obrigando o user a preencher.

Sim, tem que mexer no core de maneira que tudo funcione dessa forma. Sugir dar pull nesse repo pegando as coisas que estão no origin (repo do hacklabr) para manter sincado. Depois fazer tudo aqui e dar o PR para lá. Daí falo com o Bruno e ele aceita o PR.

brunosmartin commented 8 years ago

Acho que é por aí, só gostaria que o segundo item (Ainda no form de cadastro inicial, acrescentar os campos "primeiro nome", "sobrenome", "estado" e "cidade" e deixar como campos obrigatórios;) não fosse feito no tema padrão, pois me parece uma coisa mais específica do Instituto TIM, o que acham? As demais me parecem interessante pra todo mundo.

intrepidocabral commented 8 years ago

@brunosmartin sim, será só para os temas atuais do timtec e if.

moacirmoda commented 8 years ago

@robertkapa temos um impasse:

Adicionei os novos campos para cadastro no formulário do endereço "/accounts/signup/", para ambos os temas timtec e ifs-colors. Porém, no caso do tema timtec, a principal forma de cadastro é pelo modal do botão "Cadastre-se" do menu do topo. Este formulário está estático, sem nenhum form django por trás. O form do "/accounts/signup/" baseia-se no SignupForm e o campo Estado está setado nessa classe e trás uma lista de estados pré-definida por uma app. Para conseguir utilizar o SignupForm no formulário do modal, eu precisaria carregá-lo em todas as páginas, o que eu acho oneroso e dispensável. Caso não carregamos, não teremos a lista de estados no form do modal.

Por qual opção sigo?

Como prossigo?

intrepidocabral commented 8 years ago

@moacirmoda, acredito que a opção a seja mais viável mesmo. Essa opção abole o modal, certo?

Antes havia uma app if que fazia esse cadastro, mas foi desabilitada.

brunosmartin commented 8 years ago

@moacirmoda o SignupForm pode ser sobrescrito nas opções djangoAllAuth. Além disso, não entendi o problema que teríamos com os modais.

Podemos bater um papo sobre este caminho hj a tarde?

2016-09-09 19:02 GMT-03:00 Robert Kapa notifications@github.com:

@moacirmoda https://github.com/moacirmoda, acredito que a opção a seja mais viável mesmo. Essa opção abole o modal, certo?

Antes havia uma app if que fazia esse cadastro, mas foi desabilitada.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/institutotim/timtec/issues/4#issuecomment-246053030, or mute the thread https://github.com/notifications/unsubscribe-auth/AAERRHcx-MhMJ99a3b4ndFy10TikZrqLks5qoddqgaJpZM4JhaPW .

Bruno Martin Hacklab/ 11 2892 0122 11 3862 1186

moacirmoda commented 8 years ago
moacirmoda commented 8 years ago

Foram adicionadas as mídias sociais ao perfil de usuário no momento de edição e na visualização.

Obs: Não adicionei Telegram pois não há ícone compatível no Font Awesome e não adicionei linkedin pois não consegui descobrir como montar o permalink.

moacirmoda commented 8 years ago

Não consegui entender este ítem: "No cadastro, inserir uma mensagem (tip) ao usuário 'Após o cadastro, você deve se logar usando email e senha'"

Quando o usuário se cadastra, automaticamente ele já é autenticado no sistema. Não haveria espaço para esta mensagem.

moacirmoda commented 8 years ago
intrepidocabral commented 8 years ago

Fizemos o teste. Segue algumas correções:

intrepidocabral commented 8 years ago

Surgiu uma nova demanda pequena relacionada a essa issue: colocar como obrigatória a pergunta sobre origem no cadastro inicial.

Como você ficou sabendo da plataforma TIM Tec? 1 - Indicação de amigo 2 - Facebook 3 - Twitter 4 - Através da imprensa 4.1 Onde? ____ 5 - Pesquisa no Google 6 - Vi em minha escola / empresa 7 - Outro: ___

moacirmoda commented 8 years ago

Surgiu uma nova demanda pequena relacionada a essa issue: colocar como obrigatória a pergunta sobre origem no cadastro inicial. ...

@robertkapa coloquei no tema Timtec, no form de cadastro. Perguntas:

intrepidocabral commented 8 years ago

1 - Sim, precisa estar contemplado no tema do if tb. 2 - No form, essa pergunta pode ser a primeira. Depois de gravada no banco, essa informação será usada em um relatório. Então por hora ela não será exibida.

intrepidocabral commented 8 years ago

Testei aqui e vi que o cadastro de perfil ainda está diferente da issue. Favor revisar.

Página de cadastro interno: download 3

Cadastro inicial: download 2

moacirmoda commented 8 years ago

Alterei as labels e a ordem dos campos.

Não consegui reproduzir o erro de os campos não virem preenchidos.

intrepidocabral commented 8 years ago

ótimo! Seria interessante que o campo de cidades fosse do tipo do tipo dropdown assim como o campo de estado. A lista completa de cidades brasileiras é essa:

http://wiki.openstreetmap.org/wiki/WikiProject_Brazil/Lista_Completa_de_Cidades

Aqui em csv:

http://www.nessauepa.com.br/blog/2010/09/mel-na-chupeta-dados-de-estados-x-cidades-do-brasil/

intrepidocabral commented 8 years ago
brunosmartin commented 8 years ago

Se foram fazer essa lista de cidades, pergunte-me como! rsrsrs A gente já fez isso em django pra outro projeto e tem app django pronta pra isso.

2016-10-11 14:22 GMT-03:00 Robert Kapa notifications@github.com:

Ainda temos problemas no layout mobile: [image: download 1] https://cloud.githubusercontent.com/assets/641411/19280911/1689f8cc-8fbe-11e6-952f-a9a283b14f31.png

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/institutotim/timtec/issues/4#issuecomment-252984424, or mute the thread https://github.com/notifications/unsubscribe-auth/AAERRIAgYRDSgnVyVAY19bUx2qKb2Btgks5qy8XCgaJpZM4JhaPW .

Bruno Martin Hacklab/ 11 2892 0122 11 3862 1186

intrepidocabral commented 8 years ago

fechado, @brunosmartin ! otimo!

intrepidocabral commented 8 years ago

Faltou a aceitação dos termos de uso (tanto na versão desktop como mobile) que deve ser obrigatória também. Nesse modelo novo ela deve constar dessa forma (linkando para isso: http://demo.timtec.com.br/pages/terms):

selecao_036

brunosmartin commented 8 years ago

Esse é o cara para lista das cidades: https://github.com/coderholic/django-cities

Em 11 de outubro de 2016 14:34, Robert Kapa notifications@github.com escreveu:

Faltou a aceitação dos termos de uso que deve ser obrigatória também. Nesse modelo novo ela deve constar dessa forma (linkando para isso: http://demo.timtec.com.br/pages/terms):

[image: selecao_036] https://cloud.githubusercontent.com/assets/641411/19281240/afba53f6-8fbf-11e6-92df-ac78243e82da.png

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/institutotim/timtec/issues/4#issuecomment-252987854, or mute the thread https://github.com/notifications/unsubscribe-auth/AAERRGBOHDn8xoM5q5HjaxfqwAn3dEn-ks5qy8iVgaJpZM4JhaPW .

Bruno Martin Hacklab/ 11 2892 0122 11 3862 1186

moacirmoda commented 8 years ago
brunosmartin commented 8 years ago

Só dando a dica q o django-cities é um trabalho considerável... mão é trivial...

2016-10-13 13:11 GMT-03:00 Moacir Moda Neto notifications@github.com:

  • Mobile arrumado
  • Termos de uso tratava-se de uma configuração no settings_local, que já foi alterada.
  • Precisamos discutir melhor sobre o django-cities. @robertkapa https://github.com/robertkapa vamos falar hoje a tarde sobre.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/institutotim/timtec/issues/4#issuecomment-253560815, or mute the thread https://github.com/notifications/unsubscribe-auth/AAERRAJKwVua4I3GZx1UDamozuv1yHnMks5qzlgvgaJpZM4JhaPW .

Bruno Martin Hacklab/ 11 2892 0122 11 3862 1186

moacirmoda commented 8 years ago

Exatamente, este é o ponto. Quero discutir com o Felipe se vale a pena acrescentar mais essas libs externas, levando em conta que temos ambientes que serão apenas atualizados, não apenas novas instalações.

intrepidocabral commented 8 years ago

@brunomartin mas fazer isso com django-cities é gastar muita bala para um problema pequeno, não? Eu faria um tabela de cidades e alimentaria um segundo dropdown cidades com a opção que o usuário escolher no dropdown de estados. Modelo classicão mesmo, sem muito b.o.

moacirmoda commented 8 years ago

Em reunião, eu e o @robertkapa decidimos que o caminho com maior custo-benefício será o de criar um arquivo .py com um dicionário com as cidades, separadas por estado, e então, servir a informação via DRF.

intrepidocabral commented 8 years ago

Excelente implementação!

Alguns ajustes:

1 - Se o usuário coloca um email já existente e o sistema dá reload, os dados de estado e cidade não persistem como Nome e Sobrenome.

selecao_045

2 - Todas as dicas de campos deixados em branco no ato do cadastro estão em inglês. Veja:

captura de tela de 2016-10-17 10 28 26 captura de tela de 2016-10-17 10 29 10

Pode ser feito dessa forma (como era antes): selecao_046

moacirmoda commented 7 years ago

2- As dicas em inglês são provenientes do browser. Não tenho controle sobre elas.

moacirmoda commented 7 years ago

Resolvido problema de não carregar cidade e estado.