From 5823bc314be9be2905efd1203b38a973b5b6a0a2 Mon Sep 17 00:00:00 2001 From: Eriksen Costa Paixão Date: Tue, 23 Mar 2010 22:40:23 +0000 Subject: [PATCH] Adicionada classes de Model para os diferentes tipos de parecer descrito de RegraAvaliacao. Delta das tabelas correspondente adicionado e arquivo SQL para distribuição atualizado --- ieducar/misc/database/deltas/18_cria_tabelas_de_parecer_descritivo.sql | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ieducar/misc/database/ieducar.sql | 194 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ieducar/modules/Avaliacao/Model/ParecerDescritivoAbstract.php | 75 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ieducar/modules/Avaliacao/Model/ParecerDescritivoAbstractDataMapper.php | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ ieducar/modules/Avaliacao/Model/ParecerDescritivoAluno.php | 73 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ieducar/modules/Avaliacao/Model/ParecerDescritivoAlunoDataMapper.php | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ieducar/modules/Avaliacao/Model/ParecerDescritivoComponente.php | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ieducar/modules/Avaliacao/Model/ParecerDescritivoComponenteDataMapper.php | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ ieducar/modules/Avaliacao/Model/ParecerDescritivoGeral.php | 47 +++++++++++++++++++++++++++++++++++++++++++++++ ieducar/modules/Avaliacao/Model/ParecerDescritivoGeralDataMapper.php | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ ieducar/modules/Avaliacao/_tests/ParecerDescritivoAbstractTest.php | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ieducar/modules/Avaliacao/_tests/ParecerDescritivoAlunoTest.php | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ieducar/modules/Avaliacao/_tests/_stub/ParecerDescritivoAbstract.php | 47 +++++++++++++++++++++++++++++++++++++++++++++++ ieducar/modules/RegraAvaliacao/Model/TipoParecerDescritivo.php | 6 +++--- 14 files changed, 910 insertions(+), 3 deletions(-) create mode 100644 ieducar/misc/database/deltas/18_cria_tabelas_de_parecer_descritivo.sql create mode 100644 ieducar/modules/Avaliacao/Model/ParecerDescritivoAbstract.php create mode 100644 ieducar/modules/Avaliacao/Model/ParecerDescritivoAbstractDataMapper.php create mode 100644 ieducar/modules/Avaliacao/Model/ParecerDescritivoAluno.php create mode 100644 ieducar/modules/Avaliacao/Model/ParecerDescritivoAlunoDataMapper.php create mode 100644 ieducar/modules/Avaliacao/Model/ParecerDescritivoComponente.php create mode 100644 ieducar/modules/Avaliacao/Model/ParecerDescritivoComponenteDataMapper.php create mode 100644 ieducar/modules/Avaliacao/Model/ParecerDescritivoGeral.php create mode 100644 ieducar/modules/Avaliacao/Model/ParecerDescritivoGeralDataMapper.php create mode 100644 ieducar/modules/Avaliacao/_tests/ParecerDescritivoAbstractTest.php create mode 100644 ieducar/modules/Avaliacao/_tests/ParecerDescritivoAlunoTest.php create mode 100644 ieducar/modules/Avaliacao/_tests/_stub/ParecerDescritivoAbstract.php diff --git a/ieducar/misc/database/deltas/18_cria_tabelas_de_parecer_descritivo.sql b/ieducar/misc/database/deltas/18_cria_tabelas_de_parecer_descritivo.sql new file mode 100644 index 0000000..107156f --- /dev/null +++ b/ieducar/misc/database/deltas/18_cria_tabelas_de_parecer_descritivo.sql @@ -0,0 +1,65 @@ +-- // + +-- +-- Cria as tabelas para armazenamento de pareceres descritivos para o módulo +-- Avaliação. +-- +-- Essa medida faz parte da tarefa de substituição do sistema de notas/faltas +-- por um módulo mais robusto e parametrizável. +-- +-- @author Eriksen Costa Paixão +-- @license @@license@@ +-- @version $Id$ +-- + +CREATE TABLE "modules"."parecer_aluno" ( + "id" serial NOT NULL, + "matricula_id" int NOT NULL, + "parecer_descritivo" smallint NOT NULL, + PRIMARY KEY("id") +); + +CREATE TABLE "modules"."parecer_componente_curricular" ( + "id" serial NOT NULL, + "parecer_aluno_id" int NOT NULL, + "componente_curricular_id" int NOT NULL, + "parecer" text NULL, + "etapa" varchar(2) NOT NULL, + PRIMARY KEY("id") +); + +CREATE TABLE "modules"."parecer_geral" ( + "id" serial NOT NULL, + "parecer_aluno_id" int NOT NULL, + "parecer" text NULL, + "etapa" varchar(2) NOT NULL, + PRIMARY KEY("id") +); + +ALTER TABLE "modules"."parecer_componente_curricular" + ADD CONSTRAINT "parecer_componente_curricular_parecer_aluno_fk" + FOREIGN KEY("parecer_aluno_id") + REFERENCES "modules"."parecer_aluno"("id") + ON DELETE CASCADE + ON UPDATE NO ACTION; + +ALTER TABLE "modules"."parecer_geral" + ADD CONSTRAINT "parecer_geral_parecer_aluno_fk" + FOREIGN KEY("parecer_aluno_id") + REFERENCES "modules"."parecer_aluno"("id") + ON DELETE CASCADE + ON UPDATE NO ACTION; + +-- //@UNDO + +ALTER TABLE "modules"."parecer_componente_curricular" + DROP CONSTRAINT "parecer_componente_curricular_parecer_aluno_fk" CASCADE; + +ALTER TABLE "modules"."parecer_geral" + DROP CONSTRAINT "parecer_geral_parecer_aluno_fk" CASCADE; + +DROP TABLE "modules"."parecer_aluno"; +DROP TABLE "modules"."parecer_componente_curricular"; +DROP TABLE "modules"."parecer_geral"; + +-- // \ No newline at end of file diff --git a/ieducar/misc/database/ieducar.sql b/ieducar/misc/database/ieducar.sql index 85552b3..dd616bf 100644 --- a/ieducar/misc/database/ieducar.sql +++ b/ieducar/misc/database/ieducar.sql @@ -10566,6 +10566,120 @@ CREATE TABLE nota_componente_curricular_media ( -- +-- Name: parecer_aluno; Type: TABLE; Schema: modules; Owner: -; Tablespace: +-- + +CREATE TABLE parecer_aluno ( + id integer NOT NULL, + matricula_id integer NOT NULL, + parecer_descritivo smallint NOT NULL +); + + +-- +-- Name: parecer_aluno_id_seq; Type: SEQUENCE; Schema: modules; Owner: - +-- + +CREATE SEQUENCE parecer_aluno_id_seq + START WITH 1 + INCREMENT BY 1 + NO MAXVALUE + NO MINVALUE + CACHE 1; + + +-- +-- Name: parecer_aluno_id_seq; Type: SEQUENCE OWNED BY; Schema: modules; Owner: - +-- + +ALTER SEQUENCE parecer_aluno_id_seq OWNED BY parecer_aluno.id; + + +-- +-- Name: parecer_aluno_id_seq; Type: SEQUENCE SET; Schema: modules; Owner: - +-- + +SELECT pg_catalog.setval('parecer_aluno_id_seq', 1, false); + + +-- +-- Name: parecer_componente_curricular; Type: TABLE; Schema: modules; Owner: -; Tablespace: +-- + +CREATE TABLE parecer_componente_curricular ( + id integer NOT NULL, + parecer_aluno_id integer NOT NULL, + componente_curricular_id integer NOT NULL, + parecer text, + etapa character varying(2) NOT NULL +); + + +-- +-- Name: parecer_componente_curricular_id_seq; Type: SEQUENCE; Schema: modules; Owner: - +-- + +CREATE SEQUENCE parecer_componente_curricular_id_seq + START WITH 1 + INCREMENT BY 1 + NO MAXVALUE + NO MINVALUE + CACHE 1; + + +-- +-- Name: parecer_componente_curricular_id_seq; Type: SEQUENCE OWNED BY; Schema: modules; Owner: - +-- + +ALTER SEQUENCE parecer_componente_curricular_id_seq OWNED BY parecer_componente_curricular.id; + + +-- +-- Name: parecer_componente_curricular_id_seq; Type: SEQUENCE SET; Schema: modules; Owner: - +-- + +SELECT pg_catalog.setval('parecer_componente_curricular_id_seq', 1, false); + + +-- +-- Name: parecer_geral; Type: TABLE; Schema: modules; Owner: -; Tablespace: +-- + +CREATE TABLE parecer_geral ( + id integer NOT NULL, + parecer_aluno_id integer NOT NULL, + parecer text, + etapa character varying(2) NOT NULL +); + + +-- +-- Name: parecer_geral_id_seq; Type: SEQUENCE; Schema: modules; Owner: - +-- + +CREATE SEQUENCE parecer_geral_id_seq + START WITH 1 + INCREMENT BY 1 + NO MAXVALUE + NO MINVALUE + CACHE 1; + + +-- +-- Name: parecer_geral_id_seq; Type: SEQUENCE OWNED BY; Schema: modules; Owner: - +-- + +ALTER SEQUENCE parecer_geral_id_seq OWNED BY parecer_geral.id; + + +-- +-- Name: parecer_geral_id_seq; Type: SEQUENCE SET; Schema: modules; Owner: - +-- + +SELECT pg_catalog.setval('parecer_geral_id_seq', 1, false); + + +-- -- Name: regra_avaliacao; Type: TABLE; Schema: modules; Owner: -; Tablespace: -- @@ -16709,6 +16823,27 @@ ALTER TABLE nota_componente_curricular ALTER COLUMN id SET DEFAULT nextval('nota -- Name: id; Type: DEFAULT; Schema: modules; Owner: - -- +ALTER TABLE parecer_aluno ALTER COLUMN id SET DEFAULT nextval('parecer_aluno_id_seq'::regclass); + + +-- +-- Name: id; Type: DEFAULT; Schema: modules; Owner: - +-- + +ALTER TABLE parecer_componente_curricular ALTER COLUMN id SET DEFAULT nextval('parecer_componente_curricular_id_seq'::regclass); + + +-- +-- Name: id; Type: DEFAULT; Schema: modules; Owner: - +-- + +ALTER TABLE parecer_geral ALTER COLUMN id SET DEFAULT nextval('parecer_geral_id_seq'::regclass); + + +-- +-- Name: id; Type: DEFAULT; Schema: modules; Owner: - +-- + ALTER TABLE regra_avaliacao ALTER COLUMN id SET DEFAULT nextval('regra_avaliacao_id_seq'::regclass); @@ -17606,6 +17741,24 @@ SET search_path = modules, pg_catalog; -- +-- Data for Name: parecer_aluno; Type: TABLE DATA; Schema: modules; Owner: - +-- + + + +-- +-- Data for Name: parecer_componente_curricular; Type: TABLE DATA; Schema: modules; Owner: - +-- + + + +-- +-- Data for Name: parecer_geral; Type: TABLE DATA; Schema: modules; Owner: - +-- + + + +-- -- Data for Name: regra_avaliacao; Type: TABLE DATA; Schema: modules; Owner: - -- @@ -19943,6 +20096,7 @@ INSERT INTO changelog VALUES (14, 'Main', 'NOW()', 'NOW()', 'dbdeploy', '14_adic INSERT INTO changelog VALUES (15, 'Main', 'NOW()', 'NOW()', 'dbdeploy', '15_atualiza_foreign_key_modules_falta_geral.sql'); INSERT INTO changelog VALUES (16, 'Main', 'NOW()', 'NOW()', 'dbdeploy', '16_permissoes_para_modules_e_correcao_menus.sql'); INSERT INTO changelog VALUES (17, 'Main', 'NOW()', 'NOW()', 'dbdeploy', '17_adiciona_campo_curso_componente_ano_escolar_e_atualiza_constraint_servidor_disciplina.sql'); +INSERT INTO changelog VALUES (18, 'Main', 'NOW()', 'NOW()', 'dbdeploy', '18_cria_tabelas_de_parecer_descritivo.sql'); -- @@ -26893,6 +27047,30 @@ ALTER TABLE ONLY nota_componente_curricular -- +-- Name: parecer_aluno_pkey; Type: CONSTRAINT; Schema: modules; Owner: -; Tablespace: +-- + +ALTER TABLE ONLY parecer_aluno + ADD CONSTRAINT parecer_aluno_pkey PRIMARY KEY (id); + + +-- +-- Name: parecer_componente_curricular_pkey; Type: CONSTRAINT; Schema: modules; Owner: -; Tablespace: +-- + +ALTER TABLE ONLY parecer_componente_curricular + ADD CONSTRAINT parecer_componente_curricular_pkey PRIMARY KEY (id); + + +-- +-- Name: parecer_geral_pkey; Type: CONSTRAINT; Schema: modules; Owner: -; Tablespace: +-- + +ALTER TABLE ONLY parecer_geral + ADD CONSTRAINT parecer_geral_pkey PRIMARY KEY (id); + + +-- -- Name: regra_avaliacao_pkey; Type: CONSTRAINT; Schema: modules; Owner: -; Tablespace: -- @@ -32630,6 +32808,22 @@ ALTER TABLE ONLY nota_componente_curricular -- +-- Name: parecer_componente_curricular_parecer_aluno_fk; Type: FK CONSTRAINT; Schema: modules; Owner: - +-- + +ALTER TABLE ONLY parecer_componente_curricular + ADD CONSTRAINT parecer_componente_curricular_parecer_aluno_fk FOREIGN KEY (parecer_aluno_id) REFERENCES parecer_aluno(id) ON DELETE CASCADE; + + +-- +-- Name: parecer_geral_parecer_aluno_fk; Type: FK CONSTRAINT; Schema: modules; Owner: - +-- + +ALTER TABLE ONLY parecer_geral + ADD CONSTRAINT parecer_geral_parecer_aluno_fk FOREIGN KEY (parecer_aluno_id) REFERENCES parecer_aluno(id) ON DELETE CASCADE; + + +-- -- Name: regra_avaliacao_formula_media_formula_media_fk; Type: FK CONSTRAINT; Schema: modules; Owner: - -- diff --git a/ieducar/modules/Avaliacao/Model/ParecerDescritivoAbstract.php b/ieducar/modules/Avaliacao/Model/ParecerDescritivoAbstract.php new file mode 100644 index 0000000..00247b1 --- /dev/null +++ b/ieducar/modules/Avaliacao/Model/ParecerDescritivoAbstract.php @@ -0,0 +1,75 @@ + + * + * 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. + * + * @author Eriksen Costa Paixão + * @category i-Educar + * @license @@license@@ + * @package Avaliacao + * @subpackage Modules + * @since Arquivo disponível desde a versão 1.1.0 + * @version $Id$ + */ + +require_once 'Avaliacao/Model/Etapa.php'; + +/** + * Avaliacao_Model_ParecerDescritivoAbstract abstract class. + * + * @author Eriksen Costa Paixão + * @category i-Educar + * @license @@license@@ + * @package Avaliacao + * @subpackage Modules + * @since Classe disponível desde a versão 1.1.0 + * @version @@package_version@@ + */ +abstract class Avaliacao_Model_ParecerDescritivoAbstract extends Avaliacao_Model_Etapa +{ + protected $_data = array( + 'parecerDescritivoAluno' => NULL, + 'parecer' => NULL + ); + + protected $_references = array( + 'parecerDescritivoAluno' => array( + 'value' => NULL, + 'class' => 'Avaliacao_Model_ParecerDescritivoAluno', + 'file' => 'Avaliacao/Model/ParecerDescritivoAluno.php' + ) + ); + + /** + * @see CoreExt_Entity_Validatable#getDefaultValidatorCollection() + */ + public function getDefaultValidatorCollection() + { + $etapa = $this->getValidator('etapa'); + $etapas = $etapa->getOption('choices') + array('An'); + + $etapa->setOptions(array('choices' => $etapas)); + + return array( + 'etapa' => $etapa, + 'parecer' => new CoreExt_Validate_String() + ); + } +} \ No newline at end of file diff --git a/ieducar/modules/Avaliacao/Model/ParecerDescritivoAbstractDataMapper.php b/ieducar/modules/Avaliacao/Model/ParecerDescritivoAbstractDataMapper.php new file mode 100644 index 0000000..ddfa5ed --- /dev/null +++ b/ieducar/modules/Avaliacao/Model/ParecerDescritivoAbstractDataMapper.php @@ -0,0 +1,54 @@ + + * + * 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. + * + * @author Eriksen Costa Paixão + * @category i-Educar + * @license @@license@@ + * @package Avaliacao + * @subpackage Modules + * @since Arquivo disponível desde a versão 1.1.0 + * @version $Id$ + */ + +require_once 'CoreExt/DataMapper.php'; + +/** + * Avaliacao_Model_ParecerDescritivoAbstractDataMapper class. + * + * @author Eriksen Costa Paixão + * @category i-Educar + * @license @@license@@ + * @package Avaliacao + * @subpackage Modules + * @since Classe disponível desde a versão 1.1.0 + * @version @@package_version@@ + */ +abstract class Avaliacao_Model_ParecerDescritivoAbstractDataMapper extends CoreExt_DataMapper +{ + protected $_tableSchema = 'modules'; + + public function __construct(clsBanco $db = NULL) + { + parent::__construct($db); + $this->_attributeMap['parecerDescritivoAluno'] = 'parecer_aluno_id'; + } +} \ No newline at end of file diff --git a/ieducar/modules/Avaliacao/Model/ParecerDescritivoAluno.php b/ieducar/modules/Avaliacao/Model/ParecerDescritivoAluno.php new file mode 100644 index 0000000..c8c414d --- /dev/null +++ b/ieducar/modules/Avaliacao/Model/ParecerDescritivoAluno.php @@ -0,0 +1,73 @@ + + * + * 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. + * + * @author Eriksen Costa Paixão + * @category i-Educar + * @license @@license@@ + * @package Avaliacao + * @subpackage Modules + * @since Arquivo disponível desde a versão 1.1.0 + * @version $Id$ + */ + +require_once 'CoreExt/Entity.php'; +require_once 'RegraAvaliacao/Model/TipoParecerDescritivo.php'; + +/** + * Avaliacao_Model_ParecerDescritivoAluno class. + * + * @author Eriksen Costa Paixão + * @category i-Educar + * @license @@license@@ + * @package Avaliacao + * @subpackage Modules + * @since Classe disponível desde a versão 1.1.0 + * @version @@package_version@@ + */ +class Avaliacao_Model_ParecerDescritivoAluno extends CoreExt_Entity +{ + protected $_data = array( + 'matricula' => NULL, + 'parecerDescritivo' => NULL + ); + + protected $_references = array( + 'parecerDescritivo' => array( + 'value' => NULL, + 'class' => 'RegraAvaliacao_Model_TipoParecerDescritivo', + 'file' => 'RegraAvaliacao/Model/TipoParecerDescritivo.php' + ) + ); + + /** + * @see CoreExt_Entity_Validatable#getDefaultValidatorCollection() + */ + public function getDefaultValidatorCollection() + { + $parecer = RegraAvaliacao_Model_TipoParecerDescritivo::getInstance(); + + return array( + 'matricula' => new CoreExt_Validate_Numeric(array('min' => 0)), + 'parecerDescritivo' => new CoreExt_Validate_Choice(array('choices' => $parecer->getKeys())), + ); + } +} \ No newline at end of file diff --git a/ieducar/modules/Avaliacao/Model/ParecerDescritivoAlunoDataMapper.php b/ieducar/modules/Avaliacao/Model/ParecerDescritivoAlunoDataMapper.php new file mode 100644 index 0000000..aede7ad --- /dev/null +++ b/ieducar/modules/Avaliacao/Model/ParecerDescritivoAlunoDataMapper.php @@ -0,0 +1,56 @@ + + * + * 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. + * + * @author Eriksen Costa Paixão + * @category i-Educar + * @license @@license@@ + * @package Avaliacao + * @subpackage Modules + * @since Arquivo disponível desde a versão 1.1.0 + * @version $Id$ + */ + +require_once 'CoreExt/DataMapper.php'; +require_once 'Avaliacao/Model/ParecerDescritivoAluno.php'; + +/** + * Avaliacao_Model_ParecerDescritivoAlunoDataMapper class. + * + * @author Eriksen Costa Paixão + * @category i-Educar + * @license @@license@@ + * @package Avaliacao + * @subpackage Modules + * @since Classe disponível desde a versão 1.1.0 + * @version @@package_version@@ + */ +class Avaliacao_Model_ParecerDescritivoAlunoDataMapper extends CoreExt_DataMapper +{ + protected $_entityClass = 'Avaliacao_Model_ParecerDescritivoAluno'; + protected $_tableName = 'parecer_aluno'; + protected $_tableSchema = 'modules'; + + protected $_attributeMap = array( + 'matricula' => 'matricula_id', + 'parecerDescritivo' => 'parecer_descritivo' + ); +} \ No newline at end of file diff --git a/ieducar/modules/Avaliacao/Model/ParecerDescritivoComponente.php b/ieducar/modules/Avaliacao/Model/ParecerDescritivoComponente.php new file mode 100644 index 0000000..2ed7652 --- /dev/null +++ b/ieducar/modules/Avaliacao/Model/ParecerDescritivoComponente.php @@ -0,0 +1,63 @@ + + * + * 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. + * + * @author Eriksen Costa Paixão + * @category i-Educar + * @license @@license@@ + * @package Avaliacao + * @subpackage Modules + * @since Arquivo disponível desde a versão 1.1.0 + * @version $Id$ + */ + +require_once 'Avaliacao/Model/ParecerDescritivoAbstract.php'; + +/** + * Avaliacao_Model_ParecerDescritivoComponente class. + * + * @author Eriksen Costa Paixão + * @category i-Educar + * @license @@license@@ + * @package Avaliacao + * @subpackage Modules + * @since Classe disponível desde a versão 1.1.0 + * @version @@package_version@@ + */ +class Avaliacao_Model_ParecerDescritivoComponente extends Avaliacao_Model_ParecerDescritivoAbstract +{ + /** + * Construtor. + * @param array $options + */ + public function __construct($options = array()) + { + $this->_data['componenteCurricular'] = NULL; + + $this->_references['componenteCurricular'] = array( + 'value' => NULL, + 'class' => 'ComponenteCurricular_Model_Componente', + 'file' => 'ComponenteCurricular/Model/Componente.php' + ); + + parent::__construct($options); + } +} \ No newline at end of file diff --git a/ieducar/modules/Avaliacao/Model/ParecerDescritivoComponenteDataMapper.php b/ieducar/modules/Avaliacao/Model/ParecerDescritivoComponenteDataMapper.php new file mode 100644 index 0000000..b376622 --- /dev/null +++ b/ieducar/modules/Avaliacao/Model/ParecerDescritivoComponenteDataMapper.php @@ -0,0 +1,55 @@ + + * + * 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. + * + * @author Eriksen Costa Paixão + * @category i-Educar + * @license @@license@@ + * @package Avaliacao + * @subpackage Modules + * @since Arquivo disponível desde a versão 1.1.0 + * @version $Id$ + */ + +require_once 'Avaliacao/Model/ParecerDescritivoAbstractDataMapper.php'; +require_once 'Avaliacao/Model/ParecerDescritivoComponente.php'; + +/** + * Avaliacao_Model_ParecerDescritivoComponenteDataMapper class. + * + * @author Eriksen Costa Paixão + * @category i-Educar + * @license @@license@@ + * @package Avaliacao + * @subpackage Modules + * @since Classe disponível desde a versão 1.1.0 + * @version @@package_version@@ + */ +class Avaliacao_Model_ParecerDescritivoComponenteDataMapper + extends Avaliacao_Model_ParecerDescritivoAbstractDataMapper +{ + protected $_entityClass = 'Avaliacao_Model_ParecerDescritivoComponente'; + protected $_tableName = 'parecer_componente_curricular'; + + protected $_attributeMap = array( + 'componenteCurricular' => 'componente_curricular_id', + ); +} \ No newline at end of file diff --git a/ieducar/modules/Avaliacao/Model/ParecerDescritivoGeral.php b/ieducar/modules/Avaliacao/Model/ParecerDescritivoGeral.php new file mode 100644 index 0000000..30ee906 --- /dev/null +++ b/ieducar/modules/Avaliacao/Model/ParecerDescritivoGeral.php @@ -0,0 +1,47 @@ + + * + * 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. + * + * @author Eriksen Costa Paixão + * @category i-Educar + * @license @@license@@ + * @package Avaliacao + * @subpackage Modules + * @since Arquivo disponível desde a versão 1.1.0 + * @version $Id$ + */ + +require_once 'Avaliacao/Model/ParecerDescritivoAbstract.php'; + +/** + * Avaliacao_Model_ParecerDescritivoGeral class. + * + * @author Eriksen Costa Paixão + * @category i-Educar + * @license @@license@@ + * @package Avaliacao + * @subpackage Modules + * @since Classe disponível desde a versão 1.1.0 + * @version @@package_version@@ + */ +class Avaliacao_Model_ParecerDescritivoGeral extends Avaliacao_Model_ParecerDescritivoAbstract +{ +} \ No newline at end of file diff --git a/ieducar/modules/Avaliacao/Model/ParecerDescritivoGeralDataMapper.php b/ieducar/modules/Avaliacao/Model/ParecerDescritivoGeralDataMapper.php new file mode 100644 index 0000000..bbd5045 --- /dev/null +++ b/ieducar/modules/Avaliacao/Model/ParecerDescritivoGeralDataMapper.php @@ -0,0 +1,55 @@ + + * + * 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. + * + * @author Eriksen Costa Paixão + * @category i-Educar + * @license @@license@@ + * @package Avaliacao + * @subpackage Modules + * @since Arquivo disponível desde a versão 1.1.0 + * @version $Id$ + */ + +require_once 'Avaliacao/Model/ParecerDescritivoAbstractDataMapper.php'; +require_once 'Avaliacao/Model/ParecerDescritivoGeral.php'; + +/** + * Avaliacao_Model_FaltaComponenteDataMapper class. + * + * @author Eriksen Costa Paixão + * @category i-Educar + * @license @@license@@ + * @package Avaliacao + * @subpackage Modules + * @since Classe disponível desde a versão 1.1.0 + * @version @@package_version@@ + */ +class Avaliacao_Model_ParecerDescritivoGeralDataMapper + extends Avaliacao_Model_ParecerDescritivoAbstractDataMapper +{ + protected $_entityClass = 'Avaliacao_Model_ParecerDescritivoGeral'; + protected $_tableName = 'parecer_geral'; + + protected $_attributeMap = array( + 'componenteCurricular' => 'componente_curricular_id', + ); +} \ No newline at end of file diff --git a/ieducar/modules/Avaliacao/_tests/ParecerDescritivoAbstractTest.php b/ieducar/modules/Avaliacao/_tests/ParecerDescritivoAbstractTest.php new file mode 100644 index 0000000..4bbaa5b --- /dev/null +++ b/ieducar/modules/Avaliacao/_tests/ParecerDescritivoAbstractTest.php @@ -0,0 +1,63 @@ + + * + * 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. + * + * @author Eriksen Costa Paixão + * @category i-Educar + * @license @@license@@ + * @package Avaliacao + * @subpackage UnitTests + * @since Arquivo disponível desde a versão 1.1.0 + * @version $Id$ + */ + +require_once 'Avaliacao/_tests/_stub/ParecerDescritivoAbstract.php'; + +/** + * ParecerDescritivoAbstractTest class. + * + * @author Eriksen Costa Paixão + * @category i-Educar + * @license @@license@@ + * @package Avaliacao + * @subpackage UnitTests + * @since Classe disponível desde a versão 1.1.0 + * @version @@package_version@@ + */ +class ParecerDescritivoAbstractTest extends UnitBaseTest +{ + protected $_entity = NULL; + + protected function setUp() + { + $this->_entity = new Avaliacao_Model_ParecerDescritivoAbstractStub(); + } + + public function testEntityValidators() + { + $validators = $this->_entity->getValidatorCollection(); + $this->assertType('CoreExt_Validate_Choice', $validators['etapa']); + $this->assertType('CoreExt_Validate_String', $validators['parecer']); + + // Verifica se as opções de etapa incluem 'An' + $this->assertTrue(in_array('An', $validators['etapa']->getOption('choices'))); + } +} \ No newline at end of file diff --git a/ieducar/modules/Avaliacao/_tests/ParecerDescritivoAlunoTest.php b/ieducar/modules/Avaliacao/_tests/ParecerDescritivoAlunoTest.php new file mode 100644 index 0000000..71fd429 --- /dev/null +++ b/ieducar/modules/Avaliacao/_tests/ParecerDescritivoAlunoTest.php @@ -0,0 +1,60 @@ + + * + * 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. + * + * @author Eriksen Costa Paixão + * @category i-Educar + * @license @@license@@ + * @package Avaliacao + * @subpackage UnitTests + * @since Arquivo disponível desde a versão 1.1.0 + * @version $Id$ + */ + +require_once 'Avaliacao/Model/ParecerDescritivoAluno.php'; + +/** + * ParecerDescritivoAlunoTest class. + * + * @author Eriksen Costa Paixão + * @category i-Educar + * @license @@license@@ + * @package Avaliacao + * @subpackage UnitTests + * @since Classe disponível desde a versão 1.1.0 + * @version @@package_version@@ + */ +class ParecerDescritivoAlunoTest extends UnitBaseTest +{ + protected $_entity = NULL; + + protected function setUp() + { + $this->_entity = new Avaliacao_Model_ParecerDescritivoAluno(); + } + + public function testEntityValidators() + { + $validators = $this->_entity->getDefaultValidatorCollection(); + $this->assertType('CoreExt_Validate_Numeric', $validators['matricula']); + $this->assertType('CoreExt_Validate_Choice', $validators['parecerDescritivo']); + } +} \ No newline at end of file diff --git a/ieducar/modules/Avaliacao/_tests/_stub/ParecerDescritivoAbstract.php b/ieducar/modules/Avaliacao/_tests/_stub/ParecerDescritivoAbstract.php new file mode 100644 index 0000000..233629b --- /dev/null +++ b/ieducar/modules/Avaliacao/_tests/_stub/ParecerDescritivoAbstract.php @@ -0,0 +1,47 @@ + + * + * 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. + * + * @author Eriksen Costa Paixão + * @category i-Educar + * @license @@license@@ + * @package Avaliacao + * @subpackage UnitTests + * @since Arquivo disponível desde a versão 1.1.0 + * @version $Id$ + */ + +require_once 'Avaliacao/Model/ParecerDescritivoAbstract.php'; + +/** + * Avaliacao_Model_ParecerDescritivoAbstractStub class. + * + * @author Eriksen Costa Paixão + * @category i-Educar + * @license @@license@@ + * @package Avaliacao + * @subpackage UnitTests + * @since Classe disponível desde a versão 1.1.0 + * @version @@package_version@@ + */ +class Avaliacao_Model_ParecerDescritivoAbstractStub extends Avaliacao_Model_ParecerDescritivoAbstract +{ +} \ No newline at end of file diff --git a/ieducar/modules/RegraAvaliacao/Model/TipoParecerDescritivo.php b/ieducar/modules/RegraAvaliacao/Model/TipoParecerDescritivo.php index f0c1014..479d289 100644 --- a/ieducar/modules/RegraAvaliacao/Model/TipoParecerDescritivo.php +++ b/ieducar/modules/RegraAvaliacao/Model/TipoParecerDescritivo.php @@ -53,11 +53,11 @@ class RegraAvaliacao_Model_TipoParecerDescritivo extends CoreExt_Enum const ANUAL_GERAL = 6; protected $_data = array( - self::NENHUM => 'Não usar parecer descritivo', + self::NENHUM => 'Não usar parecer descritivo', self::ETAPA_COMPONENTE => 'Um parecer por etapa e por componente curricular', - self::ETAPA_GERAL => 'Um parecer por etapa, geral', + self::ETAPA_GERAL => 'Um parecer por etapa, geral', self::ANUAL_COMPONENTE => 'Uma parecer por ano letivo e por componente curricular', - self::ANUAL_GERAL => 'Um parecer por ano letivo, geral', + self::ANUAL_GERAL => 'Um parecer por ano letivo, geral', ); public static function getInstance() -- libgit2 0.21.2