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 @@ |
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 | 43 | \ No newline at end of file | ... | ... |
ieducar/misc/database/ieducar.sql
... | ... | @@ -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 | 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 | 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 | 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 | 17926 | |
17877 | 17927 | |
17878 | 17928 | -- |
17929 | +-- Data for Name: docente_licenciatura; Type: TABLE DATA; Schema: modules; Owner: - | |
17930 | +-- | |
17931 | + | |
17932 | + | |
17933 | + | |
17934 | +-- | |
17879 | 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 | 25790 | INSERT INTO changelog VALUES (26, 'Main', 'NOW()', 'NOW()', 'dbdeploy', '26_cria_tabela_modules_transporte_aluno.sql'); |
25735 | 25791 | INSERT INTO changelog VALUES (27, 'Main', 'NOW()', 'NOW()', 'dbdeploy', '27_cria_tabela_modules_educacenso_cod_aluno_e_docente.sql'); |
25736 | 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 | 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 | 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 | 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 | 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 | 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 | 38591 | -- Name: educacenso_cod_aluno_cod_aluno_fk; Type: FK CONSTRAINT; Schema: modules; Owner: - |
38504 | 38592 | -- |
38505 | 38593 | ... | ... |
... | ... | @@ -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 | 81 | \ No newline at end of file | ... | ... |
ieducar/modules/Docente/Model/LicenciaturaDataMapper.php
0 → 100644
... | ... | @@ -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 | 63 | \ No newline at end of file | ... | ... |
... | ... | @@ -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 | 235 | \ No newline at end of file | ... | ... |
... | ... | @@ -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 | 120 | \ No newline at end of file | ... | ... |
... | ... | @@ -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 | 80 | \ No newline at end of file | ... | ... |
... | ... | @@ -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 | 24 | \ No newline at end of file | ... | ... |