Lançado Adianti Framework 7.6!
Clique aqui para saber mais
Troca de senha do usuário Olá, estou criando um sistema a partir do ERP e gostaria de criar uma tela para troca de senha, mas estou 'pedalando' para salvar a nova senha, pois está alterando a lista de grupos vinculados ao usuário. Alguém já passou por este problema? Ou faz algo parecido?...
AG
Troca de senha do usuário  
Fechado
Olá, estou criando um sistema a partir do ERP e gostaria de criar uma tela para troca de senha, mas estou 'pedalando' para salvar a nova senha, pois está alterando a lista de grupos vinculados ao usuário. Alguém já passou por este problema? Ou faz algo parecido?

Curso completo Meu Negócio Pronto
Use para si, ou transforme em um negócio: Inclui aulas e códigos-fontes
Gestor de conteúdo (SITE) + Loja Virtual (E-Commerce) + Emissor de Notas para infoprodutos


Meu negócio pronto Quero me inscrever agora!

Comentários (2)


FC

Faço assim

  1. <?php
  2.             // get the form data into an active record User
  3.             $dados $this->form->getData();
  4.         $log $dados->login;
  5.         $senha $dados->password;
  6.         $csenha $dados->password1;
  7.             
  8.         // form validation
  9.             $this->form->validate();
  10.             
  11.             
  12.                     if ($senha != $csenha){
  13.             new TMessage('error''<b>Error</b> ' 'As Senhas são diferentes');
  14.             exit();
  15.             }
  16.             
  17.         // fill the form with the active record data
  18.             $this->form->setData($dados);      
  19.             TTransaction::open('BANCO');
  20.             $repository = new TRepository('SystemUser');
  21.             
  22.             // creates a criteria
  23.             $criteria = new TCriteria;
  24.                    
  25.             // add the filter stored in the session to the criteria
  26.             $criteria->add(new TFilter('login''='$log));
  27.             
  28.             
  29.             $users $repository->load($criteria);
  30.             
  31.             foreach ($users as $user
  32.                        { 
  33.             $user->password md5($senha);
  34.             $user->frontpage_id 8;//opcional
  35.             $user->store();
  36.             }
  37.             // close the transaction
  38.             TTransaction::close();
  39. ?>


PD

Alex,

Verifique o TemplateERP pois lá já tem essas funcionalidades. O que pode estar acontecendo é você estar capturando os dados do formulário com o getData( 'SystemUser' ), sendo que o formulário não tem os grupos. Aí ele deve estar salvando o usuário zebrado no banco, sem grupos. Sugestão: Não passar a classe de usuário para o getData(), fazer mais ou menos assim:

  1. <?php
  2. $object $this->form->getData();
  3. $usuario SystemUser::newFromLoginTSession::getValue('login') );
  4. $usuario->senha $object->senha;
  5. $usuario->save();
  6. ?>


Att,
Pablo