/**
  * Realiza a inscrição
  * @return null
  */
 public function fazer_inscricao()
 {
     $data = $this->input->post();
     $this->orientador_inscricao_vm->setCpf($data['cpf']);
     $this->orientador_inscricao_vm->setNome($data['nome']);
     $this->orientador_inscricao_vm->setEmail($data['email']);
     $this->orientador_inscricao_vm->setSenha($data['senha']);
     $this->orientador_inscricao_vm->setInstituicao($data['instituicao']);
     $this->orientador_inscricao_vm->setCampus($data['campus']);
     $this->orientador_inscricao_vm->setTipoServidor($data['tipo_servidor']);
     // TODO: refatorar!! Validações sempre no ViewModel
     if (comparar_email_confirmacao($data)) {
         $this->session->set_flashdata('aviso', 'Os e-mails não conferem');
         $this->inscricao_falha();
         return;
     }
     if (comparar_senha_confirmacao($data)) {
         $this->session->set_flashdata('aviso', 'As senhas não conferem');
         $this->inscricao_falha();
         return;
     }
     $orientador = $this->orientador_inscricao_vm->load_orientador();
     $usuario = $this->orientador_inscricao_vm->load_user();
     if (array_key_exists('senha', $data)) {
         $id_orientador = $this->orientador_bo->cadastrar_orientador($orientador, $usuario, $this->orientador_inscricao_vm->getCampus());
         if ($id_orientador) {
             $this->usuario_bo->setUserSession($id_orientador);
             $this->session->set_flashdata('sucesso', 'Dados cadastrados com sucesso!');
             redirect(base_url() . './usuario/orientador_ctr');
         } else {
             $this->session->set_flashdata('erro', 'Aconteceu algum erro. O usuário não foi cadastrado!');
         }
     }
     redirect('../usuario/orientador_ctr/inscricao/' . $data['cpf']);
 }
 public function fazer_inscricao()
 {
     $data = $this->input->post();
     $this->avaliador_vm->populate();
     if (comparar_email_confirmacao($data)) {
         $this->session->set_flashdata('aviso', 'Os e-mails não conferem');
         $this->inscricao_falha();
         return;
     }
     if (comparar_senha_confirmacao($data)) {
         $this->session->set_flashdata('aviso', 'As senhas não conferem');
         $this->inscricao_falha();
         return;
     }
     if (!$this->avaliador_vm->validate()) {
         $this->session->set_flashdata('erro', 'Os dados não foram preenchidos corretamente');
         $this->inscricao_falha();
         return;
     }
     $avaliador = $this->avaliador_vm->loadAvaliador();
     $usuario = $this->avaliador_vm->loadUsuario();
     $campus_id = $this->avaliador_vm->get_campus();
     $area_id = $this->avaliador_vm->get_areaTematica();
     $id_avaliador = $this->avaliador_bo->cadastrar_avaliador($avaliador, $usuario, $campus_id, $area_id);
     if ($id_avaliador) {
         $this->usuario_bo->setUserSession($id_avaliador);
         $this->session->set_flashdata('sucesso', 'Dados cadastrados com sucesso!');
         redirect(base_url() . './usuario/avaliador_ctr');
     } else {
         $this->session->set_flashdata('erro', 'Aconteceu algum erro. O usuário não foi cadastrado!');
     }
 }
 public function validate()
 {
     $cpf = valida_cpf($this->getCpf());
     if (!$cpf) {
         throw new Exception('CPF inválido.', 4);
     }
     $this->setCpf($cpf);
     if (strlen($this->getNome()) < 4) {
         throw new Exception('Nome inválido', 4);
     }
     $data = $this->input->post();
     if (strlen($this->getEmail()) < 4 || comparar_email_confirmacao($data)) {
         throw new Exception('Email inválido', 4);
     }
     if (strlen($this->getSenha()) < 3 || comparar_senha_confirmacao($data)) {
         throw new Exception('Senha inválida', 4);
     }
     if (!$this->getManhaDisponivel() && !$this->getTardeDisponivel() && !$this->getNoiteDisponivel()) {
         throw new Exception('Por favor, preencha disponibilidade em pelo menos um dos turnos', 4);
     }
     /*
     * * Não funciona em versão menor que 5.5 e no PC local Win XP não existe XAMPP 5.5.
             if (empty($this->getTelefone1()) && empty($this->getTelefone2()) && empty($this->getTelefone3())) {
        throw new Exception("Por favor, preencha pelo menos um telefone", 4);
             }
     
             if (empty($this->getCurso())) {
        throw new Exception("por favor, preencha com algum curso", 4);
             }
     *
     */
 }
 public function validate()
 {
     $cpf = valida_cpf($this->getCpf());
     if (!$cpf) {
         throw new Exception('CPF inválido.', 4);
     }
     $this->setCpf($cpf);
     if (strlen($this->getNome()) < 4) {
         throw new Exception('Nome inválido', 4);
     }
     $data = $this->input->post();
     if (strlen($this->getEmail()) < 4 || comparar_email_confirmacao($data)) {
         throw new Exception('Email inválido', 4);
     }
     if (strlen($this->getSenha()) < 3 || comparar_senha_confirmacao($data)) {
         throw new Exception('Senha inválida', 4);
     }
     $tipo_ouvinte = $this->getTipoOuvinte();
     if ($tipo_ouvinte < 1 || $tipo_ouvinte > 4) {
         throw new Exception('Tipo de ouvinte inválido', 4);
     }
     return true;
 }