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 .
- <?php
- function onSave()
- {
- try
- {
- // open a transaction with database 'permission'
- TTransaction::open('permission');
- // get the form data into an active record System_user
- $object = $this->form->getData('SystemUser');
- // form validation
- $this->form->validate();
- $senha = $object->password;
- if( ! $object->id )
- {
- if( ! $object->password )
- throw new Exception(TAdiantiCoreTranslator::translate('The field ^1 is required', _t('Password')));
- }
- if( $object->password )
- {
- if( $object->password != $object->repassword )
- throw new Exception(_t('The passwords do not match'));
- $object->password = md5($object->password);
- }
- else
- unset($object->password);
- $object->store(); // stores the object
- $object->clearParts();
- if( $object->groups )// GRUPO 3 = COLABORADOR
- {
- foreach( $object->groups as $group )
- {
- $object->addSystemUserGroup( new SystemGroup($group) );
- }
- }
- if( $object->programs ) // PROGRAMAS
- {
- foreach( $object->programs as $program )
- {
- $object->addSystemUserProgram( $program );
- }
- }
- $object->password = $senha;
- // fill the form with the active record data
- $this->form->setData($object);
- // close the transaction
- TTransaction::close();
- // shows the success message
- new TMessage('info', TAdiantiCoreTranslator::translate('Record saved'));
- // reload the listing
- }
- catch (Exception $e) // in case of exception
- {
- // shows the exception error message
- new TMessage('error', '<b>Error</b> ' . $e->getMessage());
- // undo all pending operations
- TTransaction::rollback();
- }
- }
- ?>
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.