Commit 4fb058800c076b751dfb7b098bdf5314af0d2d65
1 parent
5ad5c651
Exists in
master
Adicionado novo módulo {{{Docente}}}:
* Contém modelos para definir os cursos superiores/licenciaturas concluídas pelo docente * Adicionado delta e atualizado dump de criação de banco de dados
Showing
8 changed files
with
727 additions
and
0 deletions
Show diff stats
ieducar/misc/database/deltas/29_cria_tabela_modules_docente_licenciatura.sql
0 → 100644
| @@ -0,0 +1,42 @@ | @@ -0,0 +1,42 @@ | ||
| 1 | +-- // | ||
| 2 | + | ||
| 3 | +-- | ||
| 4 | +-- Cria as tabelas modules.docente_licenciatura. | ||
| 5 | +-- | ||
| 6 | +-- @author Eriksen Costa Paixão <eriksen.paixao_bs@cobra.com.br> | ||
| 7 | +-- @license @@license@@ | ||
| 8 | +-- @version $Id$ | ||
| 9 | +-- | ||
| 10 | + | ||
| 11 | +CREATE TABLE modules.docente_licenciatura | ||
| 12 | +( | ||
| 13 | + id serial, | ||
| 14 | + servidor_id integer NOT NULL, | ||
| 15 | + licenciatura integer NOT NULL, | ||
| 16 | + curso_id integer, | ||
| 17 | + ano_conclusao integer NOT NULL, | ||
| 18 | + ies_id integer, | ||
| 19 | + user_id integer NOT NULL, | ||
| 20 | + created_at timestamp without time zone NOT NULL, | ||
| 21 | + updated_at timestamp without time zone, | ||
| 22 | + CONSTRAINT docente_licenciatura_pk PRIMARY KEY (id), | ||
| 23 | + CONSTRAINT docente_licenciatura_curso_unique UNIQUE (servidor_id, curso_id, ies_id) | ||
| 24 | +) WITH (OIDS=FALSE); | ||
| 25 | + | ||
| 26 | + | ||
| 27 | +ALTER TABLE modules.docente_licenciatura ADD | ||
| 28 | + CONSTRAINT docente_licenciatura_ies_fk | ||
| 29 | + FOREIGN KEY (ies_id) | ||
| 30 | + REFERENCES modules.educacenso_ies (id) | ||
| 31 | + ON UPDATE NO ACTION ON DELETE RESTRICT; | ||
| 32 | + | ||
| 33 | +CREATE INDEX docente_licenciatura_ies_idx ON modules.docente_licenciatura(ies_id); | ||
| 34 | + | ||
| 35 | +-- //@UNDO | ||
| 36 | + | ||
| 37 | +ALTER TABLE modules.docente_licenciatura DROP | ||
| 38 | + CONSTRAINT docente_licenciatura_ies_fk; | ||
| 39 | + | ||
| 40 | +DROP TABLE modules.docente_licenciatura; | ||
| 41 | + | ||
| 42 | +-- // | ||
| 0 | \ No newline at end of file | 43 | \ No newline at end of file |
ieducar/misc/database/ieducar.sql
| @@ -10352,6 +10352,49 @@ CREATE TABLE componente_curricular_turma ( | @@ -10352,6 +10352,49 @@ CREATE TABLE componente_curricular_turma ( | ||
| 10352 | 10352 | ||
| 10353 | 10353 | ||
| 10354 | -- | 10354 | -- |
| 10355 | +-- Name: docente_licenciatura; Type: TABLE; Schema: modules; Owner: -; Tablespace: | ||
| 10356 | +-- | ||
| 10357 | + | ||
| 10358 | +CREATE TABLE docente_licenciatura ( | ||
| 10359 | + id integer NOT NULL, | ||
| 10360 | + servidor_id integer NOT NULL, | ||
| 10361 | + licenciatura integer NOT NULL, | ||
| 10362 | + curso_id integer, | ||
| 10363 | + ano_conclusao integer NOT NULL, | ||
| 10364 | + ies_id integer, | ||
| 10365 | + user_id integer NOT NULL, | ||
| 10366 | + created_at timestamp without time zone NOT NULL, | ||
| 10367 | + updated_at timestamp without time zone | ||
| 10368 | +); | ||
| 10369 | + | ||
| 10370 | + | ||
| 10371 | +-- | ||
| 10372 | +-- Name: docente_licenciatura_id_seq; Type: SEQUENCE; Schema: modules; Owner: - | ||
| 10373 | +-- | ||
| 10374 | + | ||
| 10375 | +CREATE SEQUENCE docente_licenciatura_id_seq | ||
| 10376 | + START WITH 1 | ||
| 10377 | + INCREMENT BY 1 | ||
| 10378 | + NO MAXVALUE | ||
| 10379 | + NO MINVALUE | ||
| 10380 | + CACHE 1; | ||
| 10381 | + | ||
| 10382 | + | ||
| 10383 | +-- | ||
| 10384 | +-- Name: docente_licenciatura_id_seq; Type: SEQUENCE OWNED BY; Schema: modules; Owner: - | ||
| 10385 | +-- | ||
| 10386 | + | ||
| 10387 | +ALTER SEQUENCE docente_licenciatura_id_seq OWNED BY docente_licenciatura.id; | ||
| 10388 | + | ||
| 10389 | + | ||
| 10390 | +-- | ||
| 10391 | +-- Name: docente_licenciatura_id_seq; Type: SEQUENCE SET; Schema: modules; Owner: - | ||
| 10392 | +-- | ||
| 10393 | + | ||
| 10394 | +SELECT pg_catalog.setval('docente_licenciatura_id_seq', 1, false); | ||
| 10395 | + | ||
| 10396 | + | ||
| 10397 | +-- | ||
| 10355 | -- Name: educacenso_cod_aluno; Type: TABLE; Schema: modules; Owner: -; Tablespace: | 10398 | -- Name: educacenso_cod_aluno; Type: TABLE; Schema: modules; Owner: -; Tablespace: |
| 10356 | -- | 10399 | -- |
| 10357 | 10400 | ||
| @@ -16932,6 +16975,13 @@ ALTER TABLE componente_curricular ALTER COLUMN id SET DEFAULT nextval('component | @@ -16932,6 +16975,13 @@ ALTER TABLE componente_curricular ALTER COLUMN id SET DEFAULT nextval('component | ||
| 16932 | -- Name: id; Type: DEFAULT; Schema: modules; Owner: - | 16975 | -- Name: id; Type: DEFAULT; Schema: modules; Owner: - |
| 16933 | -- | 16976 | -- |
| 16934 | 16977 | ||
| 16978 | +ALTER TABLE docente_licenciatura ALTER COLUMN id SET DEFAULT nextval('docente_licenciatura_id_seq'::regclass); | ||
| 16979 | + | ||
| 16980 | + | ||
| 16981 | +-- | ||
| 16982 | +-- Name: id; Type: DEFAULT; Schema: modules; Owner: - | ||
| 16983 | +-- | ||
| 16984 | + | ||
| 16935 | ALTER TABLE educacenso_curso_superior ALTER COLUMN id SET DEFAULT nextval('educacenso_curso_superior_id_seq'::regclass); | 16985 | ALTER TABLE educacenso_curso_superior ALTER COLUMN id SET DEFAULT nextval('educacenso_curso_superior_id_seq'::regclass); |
| 16936 | 16986 | ||
| 16937 | 16987 | ||
| @@ -17876,6 +17926,12 @@ SET search_path = modules, pg_catalog; | @@ -17876,6 +17926,12 @@ SET search_path = modules, pg_catalog; | ||
| 17876 | 17926 | ||
| 17877 | 17927 | ||
| 17878 | -- | 17928 | -- |
| 17929 | +-- Data for Name: docente_licenciatura; Type: TABLE DATA; Schema: modules; Owner: - | ||
| 17930 | +-- | ||
| 17931 | + | ||
| 17932 | + | ||
| 17933 | + | ||
| 17934 | +-- | ||
| 17879 | -- Data for Name: educacenso_cod_aluno; Type: TABLE DATA; Schema: modules; Owner: - | 17935 | -- Data for Name: educacenso_cod_aluno; Type: TABLE DATA; Schema: modules; Owner: - |
| 17880 | -- | 17936 | -- |
| 17881 | 17937 | ||
| @@ -25734,6 +25790,7 @@ INSERT INTO changelog VALUES (25, 'Main', 'NOW()', 'NOW()', 'dbdeploy', '25_adic | @@ -25734,6 +25790,7 @@ INSERT INTO changelog VALUES (25, 'Main', 'NOW()', 'NOW()', 'dbdeploy', '25_adic | ||
| 25734 | INSERT INTO changelog VALUES (26, 'Main', 'NOW()', 'NOW()', 'dbdeploy', '26_cria_tabela_modules_transporte_aluno.sql'); | 25790 | INSERT INTO changelog VALUES (26, 'Main', 'NOW()', 'NOW()', 'dbdeploy', '26_cria_tabela_modules_transporte_aluno.sql'); |
| 25735 | INSERT INTO changelog VALUES (27, 'Main', 'NOW()', 'NOW()', 'dbdeploy', '27_cria_tabela_modules_educacenso_cod_aluno_e_docente.sql'); | 25791 | INSERT INTO changelog VALUES (27, 'Main', 'NOW()', 'NOW()', 'dbdeploy', '27_cria_tabela_modules_educacenso_cod_aluno_e_docente.sql'); |
| 25736 | INSERT INTO changelog VALUES (28, 'Main', 'NOW()', 'NOW()', 'dbdeploy', '28_cria_tabelas_modules_educacenso_ies_e_curso_superior.sql'); | 25792 | INSERT INTO changelog VALUES (28, 'Main', 'NOW()', 'NOW()', 'dbdeploy', '28_cria_tabelas_modules_educacenso_ies_e_curso_superior.sql'); |
| 25793 | +INSERT INTO changelog VALUES (29, 'Main', 'NOW()', 'NOW()', 'dbdeploy', '29_cria_tabela_modules_docente_licenciatura.sql'); | ||
| 25737 | 25794 | ||
| 25738 | 25795 | ||
| 25739 | -- | 25796 | -- |
| @@ -32644,6 +32701,22 @@ ALTER TABLE ONLY componente_curricular_turma | @@ -32644,6 +32701,22 @@ ALTER TABLE ONLY componente_curricular_turma | ||
| 32644 | 32701 | ||
| 32645 | 32702 | ||
| 32646 | -- | 32703 | -- |
| 32704 | +-- Name: docente_licenciatura_curso_unique; Type: CONSTRAINT; Schema: modules; Owner: -; Tablespace: | ||
| 32705 | +-- | ||
| 32706 | + | ||
| 32707 | +ALTER TABLE ONLY docente_licenciatura | ||
| 32708 | + ADD CONSTRAINT docente_licenciatura_curso_unique UNIQUE (servidor_id, curso_id, ies_id); | ||
| 32709 | + | ||
| 32710 | + | ||
| 32711 | +-- | ||
| 32712 | +-- Name: docente_licenciatura_pk; Type: CONSTRAINT; Schema: modules; Owner: -; Tablespace: | ||
| 32713 | +-- | ||
| 32714 | + | ||
| 32715 | +ALTER TABLE ONLY docente_licenciatura | ||
| 32716 | + ADD CONSTRAINT docente_licenciatura_pk PRIMARY KEY (id); | ||
| 32717 | + | ||
| 32718 | + | ||
| 32719 | +-- | ||
| 32647 | -- Name: educacenso_cod_aluno_pk; Type: CONSTRAINT; Schema: modules; Owner: -; Tablespace: | 32720 | -- Name: educacenso_cod_aluno_pk; Type: CONSTRAINT; Schema: modules; Owner: -; Tablespace: |
| 32648 | -- | 32721 | -- |
| 32649 | 32722 | ||
| @@ -34634,6 +34707,13 @@ CREATE INDEX componente_curricular_turma_turma_idx ON componente_curricular_turm | @@ -34634,6 +34707,13 @@ CREATE INDEX componente_curricular_turma_turma_idx ON componente_curricular_turm | ||
| 34634 | 34707 | ||
| 34635 | 34708 | ||
| 34636 | -- | 34709 | -- |
| 34710 | +-- Name: docente_licenciatura_ies_idx; Type: INDEX; Schema: modules; Owner: -; Tablespace: | ||
| 34711 | +-- | ||
| 34712 | + | ||
| 34713 | +CREATE INDEX docente_licenciatura_ies_idx ON docente_licenciatura USING btree (ies_id); | ||
| 34714 | + | ||
| 34715 | + | ||
| 34716 | +-- | ||
| 34637 | -- Name: regra_avaliacao_id_key; Type: INDEX; Schema: modules; Owner: -; Tablespace: | 34717 | -- Name: regra_avaliacao_id_key; Type: INDEX; Schema: modules; Owner: -; Tablespace: |
| 34638 | -- | 34718 | -- |
| 34639 | 34719 | ||
| @@ -38500,6 +38580,14 @@ ALTER TABLE ONLY componente_curricular_turma | @@ -38500,6 +38580,14 @@ ALTER TABLE ONLY componente_curricular_turma | ||
| 38500 | 38580 | ||
| 38501 | 38581 | ||
| 38502 | -- | 38582 | -- |
| 38583 | +-- Name: docente_licenciatura_ies_fk; Type: FK CONSTRAINT; Schema: modules; Owner: - | ||
| 38584 | +-- | ||
| 38585 | + | ||
| 38586 | +ALTER TABLE ONLY docente_licenciatura | ||
| 38587 | + ADD CONSTRAINT docente_licenciatura_ies_fk FOREIGN KEY (ies_id) REFERENCES educacenso_ies(id) ON DELETE RESTRICT; | ||
| 38588 | + | ||
| 38589 | + | ||
| 38590 | +-- | ||
| 38503 | -- Name: educacenso_cod_aluno_cod_aluno_fk; Type: FK CONSTRAINT; Schema: modules; Owner: - | 38591 | -- Name: educacenso_cod_aluno_cod_aluno_fk; Type: FK CONSTRAINT; Schema: modules; Owner: - |
| 38504 | -- | 38592 | -- |
| 38505 | 38593 |
| @@ -0,0 +1,80 @@ | @@ -0,0 +1,80 @@ | ||
| 1 | +<?php | ||
| 2 | + | ||
| 3 | +/** | ||
| 4 | + * i-Educar - Sistema de gestão escolar | ||
| 5 | + * | ||
| 6 | + * Copyright (C) 2006 Prefeitura Municipal de Itajaí | ||
| 7 | + * <ctima@itajai.sc.gov.br> | ||
| 8 | + * | ||
| 9 | + * Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo | ||
| 10 | + * sob os termos da Licença Pública Geral GNU conforme publicada pela Free | ||
| 11 | + * Software Foundation; tanto a versão 2 da Licença, como (a seu critério) | ||
| 12 | + * qualquer versão posterior. | ||
| 13 | + * | ||
| 14 | + * Este programa é distribuído na expectativa de que seja útil, porém, SEM | ||
| 15 | + * NENHUMA GARANTIA; nem mesmo a garantia implícita de COMERCIABILIDADE OU | ||
| 16 | + * ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. Consulte a Licença Pública Geral | ||
| 17 | + * do GNU para mais detalhes. | ||
| 18 | + * | ||
| 19 | + * Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto | ||
| 20 | + * com este programa; se não, escreva para a Free Software Foundation, Inc., no | ||
| 21 | + * endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. | ||
| 22 | + * | ||
| 23 | + * @author Eriksen Costa Paixão <eriksen.paixao_bs@cobra.com.br> | ||
| 24 | + * @category i-Educar | ||
| 25 | + * @license @@license@@ | ||
| 26 | + * @package Docente | ||
| 27 | + * @subpackage Modules | ||
| 28 | + * @since Arquivo disponível desde a versão 1.2.0 | ||
| 29 | + * @version $Id$ | ||
| 30 | + */ | ||
| 31 | + | ||
| 32 | +require_once 'CoreExt/Entity.php'; | ||
| 33 | + | ||
| 34 | +/** | ||
| 35 | + * Docente_Model_Licenciatura class. | ||
| 36 | + * | ||
| 37 | + * @author Eriksen Costa Paixão <eriksen.paixao_bs@cobra.com.br> | ||
| 38 | + * @category i-Educar | ||
| 39 | + * @license @@license@@ | ||
| 40 | + * @package Docente | ||
| 41 | + * @subpackage Modules | ||
| 42 | + * @since Classe disponível desde a versão 1.2.0 | ||
| 43 | + * @version @@package_version@@ | ||
| 44 | + */ | ||
| 45 | +class Docente_Model_Licenciatura extends CoreExt_Entity | ||
| 46 | +{ | ||
| 47 | + protected $_data = array( | ||
| 48 | + 'servidor' => NULL, | ||
| 49 | + 'licenciatura' => NULL, | ||
| 50 | + 'curso' => NULL, | ||
| 51 | + 'anoConclusao' => NULL, | ||
| 52 | + 'ies' => NULL, | ||
| 53 | + 'user' => NULL, | ||
| 54 | + 'created_at' => NULL, | ||
| 55 | + 'updated_at' => NULL | ||
| 56 | + ); | ||
| 57 | + | ||
| 58 | + protected $_references = array( | ||
| 59 | + 'licenciatura' => array( | ||
| 60 | + 'value' => NULL, | ||
| 61 | + 'class' => 'App_Model_SimNao', | ||
| 62 | + 'file' => 'App/Model/SimNao.php' | ||
| 63 | + ), | ||
| 64 | + 'ies' => array( | ||
| 65 | + 'value' => NULL, | ||
| 66 | + 'class' => 'Educacenso_Model_IesDataMapper', | ||
| 67 | + 'file' => 'Educacenso/Model/IesDataMapper.php' | ||
| 68 | + ), | ||
| 69 | + 'curso' => array( | ||
| 70 | + 'value' => NULL, | ||
| 71 | + 'class' => 'Educacenso_Model_CursoSuperiorDataMapper', | ||
| 72 | + 'file' => 'Educacenso/Model/CursoSuperiorDataMapper.php' | ||
| 73 | + ) | ||
| 74 | + ); | ||
| 75 | + | ||
| 76 | + public function getDefaultValidatorCollection() | ||
| 77 | + { | ||
| 78 | + return array(); | ||
| 79 | + } | ||
| 80 | +} | ||
| 0 | \ No newline at end of file | 81 | \ No newline at end of file |
ieducar/modules/Docente/Model/LicenciaturaDataMapper.php
0 → 100644
| @@ -0,0 +1,62 @@ | @@ -0,0 +1,62 @@ | ||
| 1 | +<?php | ||
| 2 | + | ||
| 3 | +/** | ||
| 4 | + * i-Educar - Sistema de gestão escolar | ||
| 5 | + * | ||
| 6 | + * Copyright (C) 2006 Prefeitura Municipal de Itajaí | ||
| 7 | + * <ctima@itajai.sc.gov.br> | ||
| 8 | + * | ||
| 9 | + * Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo | ||
| 10 | + * sob os termos da Licença Pública Geral GNU conforme publicada pela Free | ||
| 11 | + * Software Foundation; tanto a versão 2 da Licença, como (a seu critério) | ||
| 12 | + * qualquer versão posterior. | ||
| 13 | + * | ||
| 14 | + * Este programa é distribuído na expectativa de que seja útil, porém, SEM | ||
| 15 | + * NENHUMA GARANTIA; nem mesmo a garantia implícita de COMERCIABILIDADE OU | ||
| 16 | + * ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. Consulte a Licença Pública Geral | ||
| 17 | + * do GNU para mais detalhes. | ||
| 18 | + * | ||
| 19 | + * Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto | ||
| 20 | + * com este programa; se não, escreva para a Free Software Foundation, Inc., no | ||
| 21 | + * endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. | ||
| 22 | + * | ||
| 23 | + * @author Eriksen Costa Paixão <eriksen.paixao_bs@cobra.com.br> | ||
| 24 | + * @category i-Educar | ||
| 25 | + * @license @@license@@ | ||
| 26 | + * @package Docente | ||
| 27 | + * @subpackage Modules | ||
| 28 | + * @since Arquivo disponível desde a versão 1.2.0 | ||
| 29 | + * @version $Id$ | ||
| 30 | + */ | ||
| 31 | + | ||
| 32 | +require_once 'CoreExt/DataMapper.php'; | ||
| 33 | +require_once 'Docente/Model/Licenciatura.php'; | ||
| 34 | + | ||
| 35 | +/** | ||
| 36 | + * Docente_Model_LicenciaturaDataMapper class. | ||
| 37 | + * | ||
| 38 | + * @author Eriksen Costa Paixão <eriksen.paixao_bs@cobra.com.br> | ||
| 39 | + * @category i-Educar | ||
| 40 | + * @license @@license@@ | ||
| 41 | + * @package Docente | ||
| 42 | + * @subpackage Modules | ||
| 43 | + * @since Classe disponível desde a versão 1.2.0 | ||
| 44 | + * @version @@package_version@@ | ||
| 45 | + */ | ||
| 46 | +class Docente_Model_LicenciaturaDataMapper extends CoreExt_DataMapper | ||
| 47 | +{ | ||
| 48 | + protected $_entityClass = 'Docente_Model_Licenciatura'; | ||
| 49 | + protected $_tableName = 'docente_licenciatura'; | ||
| 50 | + protected $_tableSchema = 'modules'; | ||
| 51 | + | ||
| 52 | + protected $_attributeMap = array( | ||
| 53 | + 'servidor' => 'servidor_id', | ||
| 54 | + 'licenciatura' => 'licenciatura', | ||
| 55 | + 'curso' => 'curso_id', | ||
| 56 | + 'anoConclusao' => 'ano_conclusao', | ||
| 57 | + 'ies' => 'ies_id', | ||
| 58 | + 'user' => 'user_id', | ||
| 59 | + 'created_at' => 'created_at', | ||
| 60 | + 'updated_at' => 'updated_at' | ||
| 61 | + ); | ||
| 62 | +} | ||
| 0 | \ No newline at end of file | 63 | \ No newline at end of file |
| @@ -0,0 +1,234 @@ | @@ -0,0 +1,234 @@ | ||
| 1 | +<?php | ||
| 2 | + | ||
| 3 | +/** | ||
| 4 | + * i-Educar - Sistema de gestão escolar | ||
| 5 | + * | ||
| 6 | + * Copyright (C) 2006 Prefeitura Municipal de Itajaí | ||
| 7 | + * <ctima@itajai.sc.gov.br> | ||
| 8 | + * | ||
| 9 | + * Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo | ||
| 10 | + * sob os termos da Licença Pública Geral GNU conforme publicada pela Free | ||
| 11 | + * Software Foundation; tanto a versão 2 da Licença, como (a seu critério) | ||
| 12 | + * qualquer versão posterior. | ||
| 13 | + * | ||
| 14 | + * Este programa é distribuído na expectativa de que seja útil, porém, SEM | ||
| 15 | + * NENHUMA GARANTIA; nem mesmo a garantia implícita de COMERCIABILIDADE OU | ||
| 16 | + * ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. Consulte a Licença Pública Geral | ||
| 17 | + * do GNU para mais detalhes. | ||
| 18 | + * | ||
| 19 | + * Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto | ||
| 20 | + * com este programa; se não, escreva para a Free Software Foundation, Inc., no | ||
| 21 | + * endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. | ||
| 22 | + * | ||
| 23 | + * @author Eriksen Costa Paixão <eriksen.paixao_bs@cobra.com.br> | ||
| 24 | + * @category i-Educar | ||
| 25 | + * @license @@license@@ | ||
| 26 | + * @package Docente | ||
| 27 | + * @subpackage Modules | ||
| 28 | + * @since Arquivo disponível desde a versão 1.1.0 | ||
| 29 | + * @version $Id$ | ||
| 30 | + */ | ||
| 31 | + | ||
| 32 | +require_once 'Core/Controller/Page/EditController.php'; | ||
| 33 | +require_once 'Educacenso/Model/CursoSuperiorDataMapper.php'; | ||
| 34 | +require_once 'Educacenso/Model/IesDataMapper.php'; | ||
| 35 | +require_once 'Docente/Model/LicenciaturaDataMapper.php'; | ||
| 36 | + | ||
| 37 | +require_once 'include/public/clsPublicUf.inc.php'; | ||
| 38 | + | ||
| 39 | +/** | ||
| 40 | + * EditController class. | ||
| 41 | + * | ||
| 42 | + * @author Eriksen Costa Paixão <eriksen.paixao_bs@cobra.com.br> | ||
| 43 | + * @category i-Educar | ||
| 44 | + * @license @@license@@ | ||
| 45 | + * @package Docente | ||
| 46 | + * @subpackage Modules | ||
| 47 | + * @since Classe disponível desde a versão 1.1.0 | ||
| 48 | + * @version @@package_version@@ | ||
| 49 | + */ | ||
| 50 | +class EditController extends Core_Controller_Page_EditController | ||
| 51 | +{ | ||
| 52 | + protected $_dataMapper = 'Docente_Model_LicenciaturaDataMapper'; | ||
| 53 | + protected $_titulo = 'Cadastro de Curso Superior/Licenciatura'; | ||
| 54 | + protected $_processoAp = 635; | ||
| 55 | + protected $_nivelAcessoOption = App_Model_NivelAcesso::SOMENTE_ESCOLA; | ||
| 56 | + protected $_saveOption = TRUE; | ||
| 57 | + protected $_deleteOption = TRUE; | ||
| 58 | + | ||
| 59 | + protected $_formMap = array( | ||
| 60 | + 'servidor' => array( | ||
| 61 | + 'label' => '', | ||
| 62 | + 'help' => '', | ||
| 63 | + 'entity' => 'servidor' | ||
| 64 | + ), | ||
| 65 | + 'licenciatura' => array( | ||
| 66 | + 'label' => 'Licenciatura', | ||
| 67 | + 'help' => '', | ||
| 68 | + 'entity' => 'licenciatura' | ||
| 69 | + ), | ||
| 70 | + 'curso' => array( | ||
| 71 | + 'label' => 'Curso', | ||
| 72 | + 'help' => '', | ||
| 73 | + 'entity' => 'curso' | ||
| 74 | + ), | ||
| 75 | + 'anoConclusao' => array( | ||
| 76 | + 'label' => 'Ano conclusão', | ||
| 77 | + 'help' => '', | ||
| 78 | + 'entity' => 'anoConclusao' | ||
| 79 | + ), | ||
| 80 | + 'ies' => array( | ||
| 81 | + 'label' => 'IES', | ||
| 82 | + 'help' => '', | ||
| 83 | + 'entity' => 'ies' | ||
| 84 | + ), | ||
| 85 | + 'user' => array( | ||
| 86 | + 'label' => '', | ||
| 87 | + 'help' => '', | ||
| 88 | + 'entity' => 'user' | ||
| 89 | + ), | ||
| 90 | + 'created_at' => array( | ||
| 91 | + 'label' => '', | ||
| 92 | + 'help' => '', | ||
| 93 | + 'entity' => 'created_at' | ||
| 94 | + ) | ||
| 95 | + ); | ||
| 96 | + | ||
| 97 | + protected function _preConstruct() | ||
| 98 | + { | ||
| 99 | + $params = array( | ||
| 100 | + 'id' => $this->getRequest()->id, | ||
| 101 | + 'servidor' => $this->getRequest()->servidor, | ||
| 102 | + 'instituicao' => $this->getRequest()->instituicao | ||
| 103 | + ); | ||
| 104 | + $this->setOptions(array('new_success_params' => $params)); | ||
| 105 | + $this->setOptions(array('edit_success_params' => $params)); | ||
| 106 | + | ||
| 107 | + unset($params['id']); | ||
| 108 | + $this->setOptions(array('delete_success_params' => $params)); | ||
| 109 | + } | ||
| 110 | + | ||
| 111 | + /** | ||
| 112 | + * @see clsCadastro#Gerar() | ||
| 113 | + */ | ||
| 114 | + public function Gerar() | ||
| 115 | + { | ||
| 116 | + global $coreExt; | ||
| 117 | + | ||
| 118 | + $this->campoOculto('id', $this->getEntity()->id); | ||
| 119 | + $this->campoOculto('servidor', $this->getRequest()->servidor); | ||
| 120 | + | ||
| 121 | + $cursoSuperiorMapper = new Educacenso_Model_CursoSuperiorDataMapper(); | ||
| 122 | + $cursos = $cursoSuperiorMapper->findAll(array(), array(), array('id' => 'ASC', 'nome' => 'ASC')); | ||
| 123 | + | ||
| 124 | + // Licenciatura | ||
| 125 | + $licenciatura = $this->getEntity()->get('licenciatura') ? | ||
| 126 | + $this->getEntity()->get('licenciatura') : 0; | ||
| 127 | + | ||
| 128 | + $this->campoRadio('licenciatura', $this->_getLabel('licenciatura'), | ||
| 129 | + array(1 => 'Sim', 0 => 'Não'), $licenciatura); | ||
| 130 | + | ||
| 131 | + // Curso | ||
| 132 | + $opcoes = array(); | ||
| 133 | + foreach ($cursos as $curso) { | ||
| 134 | + $opcoes[$curso->id] = $curso->nome; | ||
| 135 | + } | ||
| 136 | + | ||
| 137 | + $this->campoLista( | ||
| 138 | + 'curso', $this->_getLabel('curso'), $opcoes, $this->getEntity()->get('curso') | ||
| 139 | + ); | ||
| 140 | + | ||
| 141 | + // Ano conclusão | ||
| 142 | + $opcoes = range(1960, date('Y')); | ||
| 143 | + rsort($opcoes); | ||
| 144 | + $opcoes = array_combine($opcoes, $opcoes); | ||
| 145 | + $this->campoLista( | ||
| 146 | + 'anoConclusao', $this->_getLabel('anoConclusao'), $opcoes, $this->getEntity()->anoConclusao | ||
| 147 | + ); | ||
| 148 | + | ||
| 149 | + // UF da IES. | ||
| 150 | + $ufs = new clsPublicUf(); | ||
| 151 | + $ufs = $ufs->lista(); | ||
| 152 | + | ||
| 153 | + $opcoes = array(); | ||
| 154 | + foreach ($ufs as $uf) { | ||
| 155 | + $opcoes[$uf['sigla_uf']] = $uf['sigla_uf']; | ||
| 156 | + } | ||
| 157 | + ksort($opcoes); | ||
| 158 | + | ||
| 159 | + // Caso não seja uma instância persistida, usa a UF do locale. | ||
| 160 | + $uf = $this->getEntity()->ies->uf ? | ||
| 161 | + $this->getEntity()->ies->uf : $coreExt['Config']->app->locale->province; | ||
| 162 | + | ||
| 163 | + $this->campoLista('uf', 'UF', $opcoes, $uf, 'getIes()'); | ||
| 164 | + | ||
| 165 | + // IES. | ||
| 166 | + $opcoes = array(); | ||
| 167 | + $iesMapper = new Educacenso_Model_IesDataMapper(); | ||
| 168 | + $iesUf = $iesMapper->findAll(array(), array('uf' => $uf)); | ||
| 169 | + | ||
| 170 | + foreach ($iesUf as $ies) { | ||
| 171 | + $opcoes[$ies->id] = $ies->nome; | ||
| 172 | + } | ||
| 173 | + | ||
| 174 | + // Adiciona a instituição "Não cadastrada". | ||
| 175 | + $ies = $iesMapper->find(array('ies' => 9999999)); | ||
| 176 | + $opcoes[$ies->id] = $ies->nome; | ||
| 177 | + | ||
| 178 | + $this->campoLista( | ||
| 179 | + 'ies', $this->_getLabel('ies'), $opcoes, $this->getEntity()->ies->id | ||
| 180 | + ); | ||
| 181 | + | ||
| 182 | + $this->url_cancelar = sprintf( | ||
| 183 | + 'index?servidor=%d&instituicao=%d', | ||
| 184 | + $this->getRequest()->servidor, $this->getRequest()->instituicao | ||
| 185 | + ); | ||
| 186 | + | ||
| 187 | + // Javascript para Ajax. | ||
| 188 | + echo | ||
| 189 | +<<<EOT | ||
| 190 | + <script type="text/javascript"> | ||
| 191 | + function getIes() | ||
| 192 | + { | ||
| 193 | + var ies = document.getElementById('ies').value; | ||
| 194 | + var uf = document.getElementById('uf').value; | ||
| 195 | + | ||
| 196 | + var url = '/modules/Educacenso/Views/IesAjaxController.php'; | ||
| 197 | + var pars = '?uf=' + uf; | ||
| 198 | + | ||
| 199 | + var xml1 = new ajax(getIesXml); | ||
| 200 | + xml1.envia(url + pars); | ||
| 201 | + } | ||
| 202 | + | ||
| 203 | + function getIesXml(xml) | ||
| 204 | + { | ||
| 205 | + var ies = document.getElementById('ies'); | ||
| 206 | + | ||
| 207 | + ies.length = 1; | ||
| 208 | + ies.options[0] = new Option('Selecione uma IES', '', false, false); | ||
| 209 | + | ||
| 210 | + var iesItems = xml.getElementsByTagName('ies'); | ||
| 211 | + | ||
| 212 | + for (var i = 0; i < iesItems.length; i++) { | ||
| 213 | + ies.options[ies.options.length] = new Option( | ||
| 214 | + iesItems[i].firstChild.nodeValue, iesItems[i].getAttribute('id'), false, false | ||
| 215 | + ); | ||
| 216 | + } | ||
| 217 | + | ||
| 218 | + if (ies.length == 1) { | ||
| 219 | + ies.options[0] = new Option( | ||
| 220 | + 'A UF não possui IES.', '', false, false | ||
| 221 | + ); | ||
| 222 | + } | ||
| 223 | + } | ||
| 224 | + </script> | ||
| 225 | +EOT; | ||
| 226 | + } | ||
| 227 | + | ||
| 228 | + public function Novo() | ||
| 229 | + { | ||
| 230 | + $_POST['user'] = $this->getOption('id_usuario'); | ||
| 231 | + $_POST['created_at'] = 'NOW()'; | ||
| 232 | + parent::Novo(); | ||
| 233 | + } | ||
| 234 | +} | ||
| 0 | \ No newline at end of file | 235 | \ No newline at end of file |
| @@ -0,0 +1,119 @@ | @@ -0,0 +1,119 @@ | ||
| 1 | +<?php | ||
| 2 | + | ||
| 3 | +/** | ||
| 4 | + * i-Educar - Sistema de gestão escolar | ||
| 5 | + * | ||
| 6 | + * Copyright (C) 2006 Prefeitura Municipal de Itajaí | ||
| 7 | + * <ctima@itajai.sc.gov.br> | ||
| 8 | + * | ||
| 9 | + * Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo | ||
| 10 | + * sob os termos da Licença Pública Geral GNU conforme publicada pela Free | ||
| 11 | + * Software Foundation; tanto a versão 2 da Licença, como (a seu critério) | ||
| 12 | + * qualquer versão posterior. | ||
| 13 | + * | ||
| 14 | + * Este programa é distribuído na expectativa de que seja útil, porém, SEM | ||
| 15 | + * NENHUMA GARANTIA; nem mesmo a garantia implícita de COMERCIABILIDADE OU | ||
| 16 | + * ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. Consulte a Licença Pública Geral | ||
| 17 | + * do GNU para mais detalhes. | ||
| 18 | + * | ||
| 19 | + * Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto | ||
| 20 | + * com este programa; se não, escreva para a Free Software Foundation, Inc., no | ||
| 21 | + * endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. | ||
| 22 | + * | ||
| 23 | + * @author Eriksen Costa Paixão <eriksen.paixao_bs@cobra.com.br> | ||
| 24 | + * @category i-Educar | ||
| 25 | + * @license @@license@@ | ||
| 26 | + * @package Docente | ||
| 27 | + * @subpackage Modules | ||
| 28 | + * @since Arquivo disponível desde a versão 1.2.0 | ||
| 29 | + * @version $Id$ | ||
| 30 | + */ | ||
| 31 | + | ||
| 32 | +require_once 'Core/Controller/Page/ListController.php'; | ||
| 33 | +require_once 'Docente/Model/LicenciaturaDataMapper.php'; | ||
| 34 | + | ||
| 35 | +/** | ||
| 36 | + * IndexController class. | ||
| 37 | + * | ||
| 38 | + * @author Eriksen Costa Paixão <eriksen.paixao_bs@cobra.com.br> | ||
| 39 | + * @category i-Educar | ||
| 40 | + * @license @@license@@ | ||
| 41 | + * @package Docente | ||
| 42 | + * @subpackage Modules | ||
| 43 | + * @since Classe disponível desde a versão 1.2.0 | ||
| 44 | + * @version @@package_version@@ | ||
| 45 | + */ | ||
| 46 | +class IndexController extends Core_Controller_Page_ListController | ||
| 47 | +{ | ||
| 48 | + protected $_dataMapper = 'Docente_Model_LicenciaturaDataMapper'; | ||
| 49 | + protected $_titulo = 'Listagem de licenciaturas do servidor'; | ||
| 50 | + protected $_processoAp = 635; | ||
| 51 | + | ||
| 52 | + protected $_tableMap = array( | ||
| 53 | + 'Licenciatura' => 'licenciatura', | ||
| 54 | + 'Curso' => 'curso', | ||
| 55 | + 'Ano de conclusão' => 'anoConclusao', | ||
| 56 | + 'IES' => 'ies' | ||
| 57 | + ); | ||
| 58 | + | ||
| 59 | + public function getEntries() | ||
| 60 | + { | ||
| 61 | + return $this->getDataMapper()->findAll( | ||
| 62 | + array(), array('servidor' => $this->getRequest()->servidor), array('anoConclusao' => 'ASC') | ||
| 63 | + ); | ||
| 64 | + } | ||
| 65 | + | ||
| 66 | + public function setAcao() | ||
| 67 | + { | ||
| 68 | + $this->acao = sprintf( | ||
| 69 | + 'go("edit?servidor=%d&instituicao=%d")', | ||
| 70 | + $this->getRequest()->servidor, $this->getRequest()->instituicao | ||
| 71 | + ); | ||
| 72 | + | ||
| 73 | + $this->nome_acao = 'Novo'; | ||
| 74 | + } | ||
| 75 | + | ||
| 76 | + public function Gerar() | ||
| 77 | + { | ||
| 78 | + $headers = $this->getTableMap(); | ||
| 79 | + | ||
| 80 | + $this->addCabecalhos(array_keys($headers)); | ||
| 81 | + | ||
| 82 | + $entries = $this->getEntries(); | ||
| 83 | + | ||
| 84 | + // Paginador | ||
| 85 | + $this->limite = 20; | ||
| 86 | + $this->offset = ($_GET['pagina_' . $this->nome]) ? | ||
| 87 | + $_GET['pagina_' . $this->nome] * $this->limite - $this->limite | ||
| 88 | + : 0; | ||
| 89 | + | ||
| 90 | + foreach ($entries as $entry) { | ||
| 91 | + $item = array(); | ||
| 92 | + $data = $entry->toArray(); | ||
| 93 | + $options = array('query' => array( | ||
| 94 | + 'id' => $entry->id, | ||
| 95 | + 'servidor' => $entry->servidor, | ||
| 96 | + 'instituicao' => $this->getRequest()->instituicao | ||
| 97 | + )); | ||
| 98 | + | ||
| 99 | + foreach ($headers as $label => $attr) { | ||
| 100 | + $item[] = CoreExt_View_Helper_UrlHelper::l( | ||
| 101 | + $entry->$attr, 'view', $options | ||
| 102 | + ); | ||
| 103 | + } | ||
| 104 | + | ||
| 105 | + $this->addLinhas($item); | ||
| 106 | + } | ||
| 107 | + | ||
| 108 | + $this->addPaginador2("", count($entries), $_GET, $this->nome, $this->limite); | ||
| 109 | + | ||
| 110 | + $this->setAcao(); | ||
| 111 | + | ||
| 112 | + $this->acao_voltar = sprintf( | ||
| 113 | + 'go("/intranet/educar_servidor_det.php?cod_servidor=%d&ref_cod_instituicao=%d")', | ||
| 114 | + $this->getRequest()->servidor, $this->getRequest()->instituicao | ||
| 115 | + ); | ||
| 116 | + | ||
| 117 | + $this->largura = "100%"; | ||
| 118 | + } | ||
| 119 | +} | ||
| 0 | \ No newline at end of file | 120 | \ No newline at end of file |
| @@ -0,0 +1,79 @@ | @@ -0,0 +1,79 @@ | ||
| 1 | +<?php | ||
| 2 | + | ||
| 3 | +/** | ||
| 4 | + * i-Educar - Sistema de gestão escolar | ||
| 5 | + * | ||
| 6 | + * Copyright (C) 2006 Prefeitura Municipal de Itajaí | ||
| 7 | + * <ctima@itajai.sc.gov.br> | ||
| 8 | + * | ||
| 9 | + * Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo | ||
| 10 | + * sob os termos da Licença Pública Geral GNU conforme publicada pela Free | ||
| 11 | + * Software Foundation; tanto a versão 2 da Licença, como (a seu critério) | ||
| 12 | + * qualquer versão posterior. | ||
| 13 | + * | ||
| 14 | + * Este programa é distribuído na expectativa de que seja útil, porém, SEM | ||
| 15 | + * NENHUMA GARANTIA; nem mesmo a garantia implícita de COMERCIABILIDADE OU | ||
| 16 | + * ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. Consulte a Licença Pública Geral | ||
| 17 | + * do GNU para mais detalhes. | ||
| 18 | + * | ||
| 19 | + * Você deve ter recebido uma cópia da Licença Pública Geral do GNU junto | ||
| 20 | + * com este programa; se não, escreva para a Free Software Foundation, Inc., no | ||
| 21 | + * endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. | ||
| 22 | + * | ||
| 23 | + * @author Eriksen Costa Paixão <eriksen.paixao_bs@cobra.com.br> | ||
| 24 | + * @category i-Educar | ||
| 25 | + * @license @@license@@ | ||
| 26 | + * @package ComponenteCurricular | ||
| 27 | + * @subpackage Modules | ||
| 28 | + * @since Arquivo disponível desde a versão 1.2.0 | ||
| 29 | + * @version $Id$ | ||
| 30 | + */ | ||
| 31 | + | ||
| 32 | +require_once 'Core/Controller/Page/ViewController.php'; | ||
| 33 | +require_once 'Docente/Model/LicenciaturaDataMapper.php'; | ||
| 34 | + | ||
| 35 | +/** | ||
| 36 | + * ViewController class. | ||
| 37 | + * | ||
| 38 | + * @author Eriksen Costa Paixão <eriksen.paixao_bs@cobra.com.br> | ||
| 39 | + * @category i-Educar | ||
| 40 | + * @license @@license@@ | ||
| 41 | + * @package Docente | ||
| 42 | + * @subpackage Modules | ||
| 43 | + * @since Classe disponível desde a versão 1.2.0 | ||
| 44 | + * @version @@package_version@@ | ||
| 45 | + */ | ||
| 46 | +class ViewController extends Core_Controller_Page_ViewController | ||
| 47 | +{ | ||
| 48 | + protected $_dataMapper = 'Docente_Model_LicenciaturaDataMapper'; | ||
| 49 | + protected $_titulo = 'Detalhes da licenciatura'; | ||
| 50 | + protected $_processoAp = 635; | ||
| 51 | + protected $_tableMap = array( | ||
| 52 | + 'Licenciatura' => 'licenciatura', | ||
| 53 | + 'Curso' => 'curso', | ||
| 54 | + 'Ano de conclusão' => 'anoConclusao', | ||
| 55 | + 'IES' => 'ies' | ||
| 56 | + ); | ||
| 57 | + | ||
| 58 | + public function setUrlEditar(CoreExt_Entity $entry) | ||
| 59 | + { | ||
| 60 | + $this->url_editar = CoreExt_View_Helper_UrlHelper::url( | ||
| 61 | + 'edit', array('query' => array( | ||
| 62 | + 'id' => $entry->id, | ||
| 63 | + 'servidor' => $entry->servidor, | ||
| 64 | + 'instituicao' => $this->getRequest()->instituicao | ||
| 65 | + )) | ||
| 66 | + ); | ||
| 67 | + } | ||
| 68 | + | ||
| 69 | + public function setUrlCancelar(CoreExt_Entity $entry) | ||
| 70 | + { | ||
| 71 | + $this->url_cancelar = CoreExt_View_Helper_UrlHelper::url( | ||
| 72 | + 'index', array('query' => array( | ||
| 73 | + 'id' => $entry->id, | ||
| 74 | + 'servidor' => $entry->servidor, | ||
| 75 | + 'instituicao' => $this->getRequest()->instituicao | ||
| 76 | + )) | ||
| 77 | + ); | ||
| 78 | + } | ||
| 79 | +} | ||
| 0 | \ No newline at end of file | 80 | \ No newline at end of file |
| @@ -0,0 +1,23 @@ | @@ -0,0 +1,23 @@ | ||
| 1 | +CREATE TABLE modules.docente_licenciatura | ||
| 2 | +( | ||
| 3 | + id serial, | ||
| 4 | + servidor_id integer NOT NULL, | ||
| 5 | + licenciatura integer NOT NULL, | ||
| 6 | + curso_id integer, | ||
| 7 | + ano_conclusao integer NOT NULL, | ||
| 8 | + ies_id integer, | ||
| 9 | + user_id integer NOT NULL, | ||
| 10 | + created_at timestamp without time zone NOT NULL, | ||
| 11 | + updated_at timestamp without time zone, | ||
| 12 | + CONSTRAINT docente_licenciatura_pk PRIMARY KEY (id), | ||
| 13 | + CONSTRAINT docente_licenciatura_curso_unique UNIQUE (servidor_id, curso_id, ies_id) | ||
| 14 | +) WITH (OIDS=FALSE); | ||
| 15 | + | ||
| 16 | + | ||
| 17 | +ALTER TABLE modules.docente_licenciatura ADD | ||
| 18 | + CONSTRAINT docente_licenciatura_ies_fk | ||
| 19 | + FOREIGN KEY (ies_id) | ||
| 20 | + REFERENCES modules.educacenso_ies (id) | ||
| 21 | + ON UPDATE NO ACTION ON DELETE RESTRICT; | ||
| 22 | + | ||
| 23 | +CREATE INDEX docente_licenciatura_ies_idx ON modules.docente_licenciatura(ies_id); | ||
| 0 | \ No newline at end of file | 24 | \ No newline at end of file |