Cadastrar novos usuários e relacionar grupos e programas cadas.. Pessoal, preciso da ajuda de vocês . Estou criando um novo form para que os usuários possam se cadastrar e acessar as páginas de acesso restrito. Como administrador já cadastrei o grupo e os programas que o grupo terá acesso. Clonei a classe SystemUserForm , agora estou meio perdido como alterar o código do onSave para que eu consiga salvar o novo usuário e relacionar ao grupo e programas ...
WR
Cadastrar novos usuários e relacionar grupos e programas cadas..  
Fechado
Pessoal, preciso da ajuda de vocês . Estou criando um novo form para que os usuários possam se cadastrar e acessar as páginas de acesso restrito. Como administrador já cadastrei o grupo e os programas que o grupo terá acesso. Clonei a classe SystemUserForm , agora estou meio perdido como alterar o código do onSave para que eu consiga salvar o novo usuário e relacionar ao grupo e programas já criados .

 
  1. <?php
  2. function onSave()
  3. {
  4. try
  5. {
  6. // open a transaction with database 'permission'
  7. TTransaction::open('permission');
  8. // get the form data into an active record System_user
  9. $object = $this->form->getData('SystemUser');
  10. // form validation
  11. $this->form->validate();
  12. $senha = $object->password;
  13. if( ! $object->id )
  14. {
  15. if( ! $object->password )
  16. throw new Exception(TAdiantiCoreTranslator::translate('The field ^1 is required', _t('Password')));
  17. }
  18. if( $object->password )
  19. {
  20. if( $object->password != $object->repassword )
  21. throw new Exception(_t('The passwords do not match'));
  22. $object->password = md5($object->password);
  23. }
  24. else
  25. unset($object->password);
  26. $object->store(); // stores the object
  27. $object->clearParts();
  28. if( $object->groups )// GRUPO 3 = COLABORADOR
  29. {
  30. foreach( $object->groups as $group )
  31. {
  32. $object->addSystemUserGroup( new SystemGroup($group) );
  33. }
  34. }
  35. if( $object->programs ) // PROGRAMAS
  36. {
  37. foreach( $object->programs as $program )
  38. {
  39. $object->addSystemUserProgram( $program );
  40. }
  41. }
  42. $object->password = $senha;
  43. // fill the form with the active record data
  44. $this->form->setData($object);
  45. // close the transaction
  46. TTransaction::close();
  47. // shows the success message
  48. new TMessage('info', TAdiantiCoreTranslator::translate('Record saved'));
  49. // reload the listing
  50. }
  51. catch (Exception $e) // in case of exception
  52. {
  53. // shows the exception error message
  54. new TMessage('error', '<b>Error</b> ' . $e->getMessage());
  55. // undo all pending operations
  56. TTransaction::rollback();
  57. }
  58. }
  59. ?>

Curso Dominando o Adianti Framework

O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado!


Dominando o Adianti Framework Quero me inscrever agora!

Comentários (1)


WR

Pessoal consegui fazer funcional!! Modifiquei as linhas a abaixo fixando o grupo e removi as linhas referentes ao programas, uma vez que já exite no cadastro do grupo.

 
  1. <?php
  2. //adiciona no grupo
  3. $group = '3';//Grupo Colaborador
  4. $object->addSystemUserGroup( new SystemGroup($group) );
  5. ?>