public function insert(array $data, $entity) { //antes de inserir o sistema deve criar um usuário para associar ao funcionario $dataUser = array('login' => $data['login'], 'senha' => $data['senha'], 'grupo' => $data['perfil']); $serviceUsuario = $this->getServiceLocator()->get('security-service-usuario'); $usuario = $serviceUsuario->insert($dataUser, 'Security\\Entity\\Usuario'); if ($usuario) { $data['usuario'] = $usuario; $data['usuario_id'] = $usuario->getId(); return parent::insert($data, $entity); } else { return false; } }
public function alterarDadosAcesso(array $data, $id) { /** * @var $usuario \Security\Entity\Usuario */ $usuario = $this->getEmRef('Security\\Entity\\Usuario', $id); if ($usuario) { if ($this->checaSenhaAtualUsuario($usuario, $data['senha_atual'])) { $dataUser = $usuario->toArray(); $dataUser['senha'] = $usuario->encryptPassword($data["nova_senha"]); return parent::update($dataUser, 'Security\\Entity\\Usuario', $id); } return false; } return false; }
/** 3 adicionar permissão de recurso novo */ public function adicionarPermissaoRecursosNovos($idGrupo, $recursosNovos = array()) { if (!empty($recursosNovos)) { $novosRecursoSistema = array(); $grupo = $this->getEmRef('Security\\Entity\\Grupo', $idGrupo); foreach ($recursosNovos as $recurso) { $entityRecursoSistema = $this->getEm('Security\\Entity\\RecursoSistema')->findOneByUrl($recurso); if (!$entityRecursoSistema) { $novoRecurso = new RecursoSistema(array('url' => $recurso)); $dataPermissao = array('grupo' => $grupo, 'recursoSistema' => $novoRecurso, 'permissao' => 'allow'); $novosRecursoSistema[] = parent::insert($dataPermissao, 'Security\\Entity\\PermissaoAcl'); } } } return $novosRecursoSistema; }