Closed llrt closed 6 years ago
Quando o linkedin traz as informações profissionais do usuário podem vir vários cargos atuais. Faz sentido permitir que durante o cadastro o usuário coloque vários cargos também?
Creio que não. Entendo que estamos interessados na ocupação principal dele - nesse caso poderíamos deixar até isso claro no label do campo ou criar um Field group "ocupação atual principal" . Vamos discutir com o Moreno isso.
A ideia atual é carregar o formulário preenchido parcialmente quando o cadastro é pelo Linkedin. Nesse caso, acho que faz sentido exibir todos os cargos da pessoa. E se vale para o linkedin, talvez é válido padronizar da mesma forma para o cadastro com email.
Não vi para preenchimento ainda os campos "Meio atual", "Organização" e "Nível do Cargo".
Na exibição, algumas infos aparecem no headtitle, mas aparecem tb os campos "Cargo atual", "Meio de atuação" (seria o "setor" ou o "meio atual"?) e "Empresa" não preenchidos. Não sei se isto ocorre porque o usuário já existia na base. De qualquer forma, deveria haver uma maneira de dar refresh com as infos do linkedin.
O problema de aparecerem campos não preenchidos era realmente porque meu usuário pré-existia na base. Excluído meu usuário e recadastrado a partir do Linkedin, as infos foram corretamente puxadas daquele site. Persiste porém a necessidade dos campos "Meio atual", "Organização" e "Nível do Cargo" no form de alteração. Outra coisa: ao tentar alterar o cadastro sem mudar nenhuma informação, recebo o erro abaixo:
{"profile":{"name":"Leandro Loriato","role":"user"},"token":{"PersonId":57,"role":"user"},"hasPassword":false,"PersonId":57,"PersonTypeId":3,"LinkedinId":"JDWkvYZQJp","name":"Leandro Loriato","email":"leandroloriato@gmail.com","password":null,"salt":null,"provider":"linkedin","role":"user","EmailVerified":true,"ConfirmEmailToken":null,"ConfirmEmailExpires":null,"ResetPasswordToken":null,"ResetPasswordExpires":null,"LinkedinProfileURL":"https://www.linkedin.com/in/leandro-loriato-0011275","Headline":"IT Dev Team Coordinator at BNDES","LocationId":1,"IndustryId":4,"Summary":"Experienced IT professional with a demonstrated history of working in the banking industry. Skilled in Scrum, Java, Python, SQL, and Linux. Strong IT education, with a Master of Science (MSc) in Mathematical Finance from Instituto de Matematica Pura e Aplicada (IMPA)","Specialties":null,"ImageURL":"https://media.licdn.com/dms/image/C4E00AQHV8xp5yGq-sg/profile-originalphoto-shrink_450_600/0?e=1530583200&v=beta&t=umAQfNldvTL4B2Ix8JjYZ3j2De1YRpnX1IydhRp3PX0","ImageData":null,"FullName":"Leandro Amato Loriato","Birthdate":"1986-09-30T03:00:00.000Z","Genre":null,"Phone":"+55 (21) 99944-4302","GraduationEngineeringId":10,"GraduationYear":2008,"ProfessorSEId":null,"OptionToKnowThePageId":null,"OptionToKnowThePageOther":null,"InitiativeLinkOther":null,"CreateDate":"2018-07-02T01:03:45.000Z","LastActivityDate":"2018-07-02T01:07:23.000Z","IsApproved":false,"IsExcluded":false}
Company saved null
Position saved
(node:234) Warning: a promise was created in a handler at anonymous> (/mnt/c/Users/Leandro/dev/workspaces/alumniime/alumni-ime/server/api/user/user.controller.js:153:23 but was not returned from it, see http://goo.gl/rRqMUw
at Function.Promise.cast (/mnt/c/Users/Leandro/dev/workspaces/alumniime/alumni-ime/node_modules/bluebird/js/release/promise.js:196:13)
TypeError: val.replace is not a function
at Object.SqlString.escape (/mnt/c/Users/Leandro/dev/workspaces/alumniime/alumni-ime/node_modules/sequelize/lib/sql-string.js:63:15)
at Object.escape (/mnt/c/Users/Leandro/dev/workspaces/alumniime/alumni-ime/node_modules/sequelize/lib/dialects/abstract/query-generator.js:979:22)
at Object.whereItemQuery (/mnt/c/Users/Leandro/dev/workspaces/alumniime/alumni-ime/node_modules/sequelize/lib/dialects/abstract/query-generator.js:2380:22)
at /mnt/c/Users/Leandro/dev/workspaces/alumniime/alumni-ime/node_modules/sequelize/lib/dialects/abstract/query-generator.js:2011:25
at /mnt/c/Users/Leandro/dev/workspaces/alumniime/alumni-ime/node_modules/sequelize/node_modules/lodash/lodash.js:4389:15
at baseForOwn (/mnt/c/Users/Leandro/dev/workspaces/alumniime/alumni-ime/node_modules/sequelize/node_modules/lodash/lodash.js:2652:24)
at Function.forOwn (/mnt/c/Users/Leandro/dev/workspaces/alumniime/alumni-ime/node_modules/sequelize/node_modules/lodash/lodash.js:12254:24)
at Object.whereItemsQuery (/mnt/c/Users/Leandro/dev/workspaces/alumniime/alumni-ime/node_modules/sequelize/lib/dialects/abstract/query-generator.js:2010:9)
at Object.getWhereConditions (/mnt/c/Users/Leandro/dev/workspaces/alumniime/alumni-ime/node_modules/sequelize/lib/dialects/abstract/query-generator.js:2445:19)
at Object.selectQuery (/mnt/c/Users/Leandro/dev/workspaces/alumniime/alumni-ime/node_modules/sequelize/lib/dialects/abstract/query-generator.js:1547:28)
at QueryInterface.select (/mnt/c/Users/Leandro/dev/workspaces/alumniime/alumni-ime/node_modules/sequelize/lib/query-interface.js:709:25)
at Model.
Outra coisa: trocaria a ordem dos campos "Meio de Atuação" e "Cargo", colocando "Meio de atuação" antes (mais acima) na exibição das infos de cadastro.
Incluir para preenchimento as seguintes infos profissionais (obrigatórias):
Se o cara cadastrar via Linkedin, capturar informações e exibir para o usuário já preenchidas as infos correspondentes, mas permitindo-o alterá-las/complementá-las.