From 62a0e641ec2c514b56a0d91b309e7857a33c63c1 Mon Sep 17 00:00:00 2001 From: Eriksen Costa Paixão Date: Thu, 14 May 2009 00:50:16 +0000 Subject: [PATCH] #25 by Eriksen: Corrigido bug em select de funções durante cadastro de novo servidor. Correção inclui: --- ieducar/intranet/educar_limpa_sessao_curso_disciplina_servidor.php | 47 +++++++++++++++++++++++++++++++++++++++-------- ieducar/intranet/educar_servidor_cad.php | 393 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ ieducar/tests/functional/ServidorCriarNovoSelectFuncoes.class.php | 78 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 318 insertions(+), 200 deletions(-) create mode 100644 ieducar/tests/functional/ServidorCriarNovoSelectFuncoes.class.php diff --git a/ieducar/intranet/educar_limpa_sessao_curso_disciplina_servidor.php b/ieducar/intranet/educar_limpa_sessao_curso_disciplina_servidor.php index 7b0c1d7..328efeb 100644 --- a/ieducar/intranet/educar_limpa_sessao_curso_disciplina_servidor.php +++ b/ieducar/intranet/educar_limpa_sessao_curso_disciplina_servidor.php @@ -1,10 +1,41 @@ - + * + * Este programa software livre; voc pode redistribu-lo e/ou modific-lo + * sob os termos da Licena Pblica Geral GNU conforme publicada pela Free + * Software Foundation; tanto a verso 2 da Licena, como (a seu critrio) + * qualquer verso posterior. + * + * Este programa distribudo na expectativa de que seja til, porm, SEM + * NENHUMA GARANTIA; nem mesmo a garantia implcita de COMERCIABILIDADE OU + * ADEQUAO A UMA FINALIDADE ESPECFICA. Consulte a Licena Pblica Geral + * do GNU para mais detalhes. + * + * Voc deve ter recebido uma cpia da Licena Pblica Geral do GNU junto + * com este programa; se no, escreva para a Free Software Foundation, Inc., no + * endereo 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. + */ -?> \ No newline at end of file +/** + * Apaga variveis de sesso contendo dados de funo do servidor + * + * Arquivo acessado via XMLHttpRequest + * + * @author Prefeitura Municipal de Itaja + * @license http://creativecommons.org/licenses/GPL/2.0/legalcode.pt CC GNU GPL + * @package Core + * @since Arquivo disponvel desde a verso 1.0.0 + * @version $Id$ + */ + +session_start(); +unset($_SESSION['cursos_disciplina']); +unset($_SESSION['cursos_servidor']); +unset($_SESSION['cod_servidor']); +session_write_close(); +echo ""; \ No newline at end of file diff --git a/ieducar/intranet/educar_servidor_cad.php b/ieducar/intranet/educar_servidor_cad.php index cd2e5c6..126b04c 100644 --- a/ieducar/intranet/educar_servidor_cad.php +++ b/ieducar/intranet/educar_servidor_cad.php @@ -1,42 +1,47 @@ SetTitulo( "{$this->_instituicao} i-Educar - Servidor" ); - $this->processoAp = "635"; - } + +/* + * i-Educar - Sistema de gesto de escolas + * + * Copyright (c) 2006 Prefeitura Municipal de Itaja + * + * + * Este programa software livre; voc pode redistribu-lo e/ou modific-lo + * sob os termos da Licena Pblica Geral GNU conforme publicada pela Free + * Software Foundation; tanto a verso 2 da Licena, como (a seu critrio) + * qualquer verso posterior. + * + * Este programa distribudo na expectativa de que seja til, porm, SEM + * NENHUMA GARANTIA; nem mesmo a garantia implcita de COMERCIABILIDADE OU + * ADEQUAO A UMA FINALIDADE ESPECFICA. Consulte a Licena Pblica Geral + * do GNU para mais detalhes. + * + * Voc deve ter recebido uma cpia da Licena Pblica Geral do GNU junto + * com este programa; se no, escreva para a Free Software Foundation, Inc., no + * endereo 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. + */ + +/** + * Formulrio de cadastro de servidor + * + * @author Prefeitura Municipal de Itaja + * @license http://creativecommons.org/licenses/GPL/2.0/legalcode.pt CC GNU GPL + * @package Core + * @since Arquivo disponvel desde a verso 1.0.0 + * @version $Id$ + */ + +require_once 'include/clsBase.inc.php'; +require_once 'include/clsCadastro.inc.php'; +require_once 'include/clsBanco.inc.php'; +require_once 'include/pmieducar/geral.inc.php'; + + +class clsIndexBase extends clsBase { + public function Formular() { + $this->SetTitulo($this->_instituicao . " i-Educar - Servidor"); + $this->processoAp = "635"; + } } class indice extends clsCadastro @@ -214,10 +219,10 @@ class indice extends clsCadastro echo ""; $opcoes = array( "" => "Erro na geracao" ); } - + $script = "javascript:showExpansivelIframe(350, 100, 'educar_escolaridade_cad_pop.php');"; $script = ""; - + $this->campoLista( "ref_idesco", "Escolaridade", $opcoes, $this->ref_idesco,"",false,"",$script,false,false ); /** @@ -542,180 +547,184 @@ $pagina->addForm( $miolo ); // gera o html $pagina->MakeAll(); ?> - \ No newline at end of file diff --git a/ieducar/tests/functional/ServidorCriarNovoSelectFuncoes.class.php b/ieducar/tests/functional/ServidorCriarNovoSelectFuncoes.class.php new file mode 100644 index 0000000..58bb6d7 --- /dev/null +++ b/ieducar/tests/functional/ServidorCriarNovoSelectFuncoes.class.php @@ -0,0 +1,78 @@ + + * + * Este programa é software livre; você pode redistribuÃí-lo e/ou modificá-lo + * sob os termos da Licença Pública Geral GNU conforme publicada pela Free + * Software Foundation; tanto a versão 2 da Licença, como (a seu critério) + * qualquer versão posterior. + * + * Este programa é distribuí­do na expectativa de que seja útil, porém, SEM + * NENHUMA GARANTIA; nem mesmo a garantia implí­cita de COMERCIABILIDADE OU + * ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. Consulte a Licença Pública Geral + * do GNU para mais detalhes. + * + * Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto + * com este programa; se não, escreva para a Free Software Foundation, Inc., no + * endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. + */ + + +require_once realpath(dirname(__FILE__) . '/../') . '/FunctionalBaseTest.class.php'; + +/** + * ServidorCriarNovoSelectFuncoes class + * + * Testa se a condição de carregamento de funções via XMLHttpRequest do select + * de funções está funcionando corretamente. Esse comportamento é testado para + * assegurar a correção do bug do {@link http://svn.softwarepublico.gov.br/trac/ieducar/ticket/25 ticket 25} + * + * @author Eriksen Costa Paixão + * @license http://creativecommons.org/licenses/GPL/2.0/legalcode.pt CC GNU GPL + * @package Test + * @since Classe disponível desde a versão 1.0.2 + * @version $Id$ + */ +class ServidorCriarNovoSelectFuncoes extends FunctionalBaseTest { + + /** + * Testa se o select de funções do cadastro de servidor contém mais de uma + * opção + * + * Esse teste espera que a primeira instituição lista no select + * ref_cod_instituicao tenha funções cadastradas + * + * @see educar_servidor_cad.php + */ + public function testSelectFuncoesWithOptions() { + $this->doLogin(); + $this->open('/intranet/educar_servidor_cad.php'); + + $items = 0; + $timeout = 60; + $this->select("//*[@id=\"ref_cod_instituicao\"]", "index=1"); + + for ($second = 0; ; $second++) { + if ($second >= $timeout) { + $this->fail("Requisição XMLHTTPRequest demorou mais que " . $timeout . + " segundos."); + } + + try { + $items = count($this->getSelectOptions("//*[@id=\"ref_cod_funcao[0]\"]")); + if ($items > 1) { + $this->assertTrue($items > 1); + break; + } + } catch (Exception $e) { + $this->fail("Exception: " . $e); + } + sleep(1); + } + } + +} \ No newline at end of file -- libgit2 0.21.2