Commit 976db410233414dd4a1d2eca31dfdf8935e72884
1 parent
6f07a95c
Exists in
master
Atualizado CRUD de aluno para conter opções de cadastro de transporte escolar
Showing
2 changed files
with
106 additions
and
2 deletions
Show diff stats
ieducar/intranet/educar_aluno_cad.php
... | ... | @@ -33,7 +33,10 @@ require_once 'include/clsCadastro.inc.php'; |
33 | 33 | require_once 'include/clsBanco.inc.php'; |
34 | 34 | require_once 'include/pmieducar/geral.inc.php'; |
35 | 35 | |
36 | +require_once 'App/Model/SimNao.php'; | |
36 | 37 | require_once 'App/Model/ZonaLocalizacao.php'; |
38 | +require_once 'Transporte/Model/AlunoDataMapper.php'; | |
39 | +require_once 'Transporte/Model/Responsavel.php'; | |
37 | 40 | |
38 | 41 | /** |
39 | 42 | * clsIndexBase class. |
... | ... | @@ -702,6 +705,26 @@ class indice extends clsCadastro |
702 | 705 | |
703 | 706 | $this->campoQuebra2('#224488'); |
704 | 707 | |
708 | + // Transporte escolar | |
709 | + $transporteMapper = new Transporte_Model_AlunoDataMapper(); | |
710 | + $transporte = NULL; | |
711 | + | |
712 | + try { | |
713 | + $transporte = $transporteMapper->find(array($this->cod_aluno)); | |
714 | + } | |
715 | + catch (Exception $e) { | |
716 | + } | |
717 | + | |
718 | + $bit = App_Model_SimNao::getInstance(); | |
719 | + $this->campoLista('transporte_aluno', 'Transporte', $bit->getEnums(), | |
720 | + !is_null($transporte) ? 1 : 0, 'transporteResponsavel();'); | |
721 | + | |
722 | + $responsavel = Transporte_Model_Responsavel::getInstance(); | |
723 | + $this->campoLista('transporte_responsavel', 'Responsável', $responsavel->getEnums(), | |
724 | + !is_null($transporte) ? $transporte->get('responsavel') : 0); | |
725 | + | |
726 | + $this->campoQuebra2('#224488'); | |
727 | + | |
705 | 728 | $obj_beneficio = new clsPmieducarAlunoBeneficio(); |
706 | 729 | $obj_beneficio_lista = $obj_beneficio->lista(NULL, NULL, NULL, NULL, NULL, |
707 | 730 | NULL, NULL, NULL, NULL, 1); |
... | ... | @@ -1611,10 +1634,11 @@ class indice extends clsCadastro |
1611 | 1634 | |
1612 | 1635 | if ($this->ref_idpes) { |
1613 | 1636 | if ($obj->existePessoa()) { |
1614 | - $obj->edita(); | |
1637 | + $aluno = $obj->edita(); | |
1638 | + $this->cod_aluno = $aluno['cod_aluno']; | |
1615 | 1639 | } |
1616 | 1640 | else { |
1617 | - $obj->cadastra(); | |
1641 | + $this->cod_aluno = $obj->cadastra(); | |
1618 | 1642 | } |
1619 | 1643 | } |
1620 | 1644 | } |
... | ... | @@ -1634,6 +1658,10 @@ class indice extends clsCadastro |
1634 | 1658 | } |
1635 | 1659 | } |
1636 | 1660 | |
1661 | + // Atualiza a informação de uso de transporte escolar. | |
1662 | + $this->_cadastraTransporte($this->cod_aluno, $this->transporte_aluno, | |
1663 | + $this->transporte_responsavel, $this->pessoa_logada); | |
1664 | + | |
1637 | 1665 | header('Location: educar_aluno_det.php?cod_aluno=' . $this->cod_aluno); |
1638 | 1666 | die(); |
1639 | 1667 | } |
... | ... | @@ -1765,6 +1793,53 @@ class indice extends clsCadastro |
1765 | 1793 | |
1766 | 1794 | return $nome_do_arquivo; |
1767 | 1795 | } |
1796 | + | |
1797 | + /** | |
1798 | + * Cadastra ou atualiza a informação de uso de transporte escolar. | |
1799 | + * | |
1800 | + * @access protected | |
1801 | + * @param int $codAluno Código do aluno | |
1802 | + * @param bool $transporte [Opcional] TRUE para cadastrar/atualizar e FALSE | |
1803 | + * para remover a informação de uso de transporte escolar | |
1804 | + * @param int $responsavel [Opcional] Código do responsável pelo transporte | |
1805 | + * escolar, valor mapeado para o enum Transporte_Model_Responsavel. Apenas | |
1806 | + * obrigatório caso $transporte = TRUE | |
1807 | + * @param int $user Código do usuário a alterar o registroo | |
1808 | + * @return bool TRUE caso tenha criado/editado/apagado o registro com sucesso | |
1809 | + * @since Método disponível desde a versão 1.2.0 | |
1810 | + */ | |
1811 | + function _cadastraTransporte($codAluno, $transporte = TRUE, $responsavel = NULL, | |
1812 | + $user) | |
1813 | + { | |
1814 | + $data = array( | |
1815 | + 'aluno' => $codAluno, | |
1816 | + 'responsavel' => $responsavel, | |
1817 | + 'user' => $user, | |
1818 | + 'created_at' => 'NOW()' | |
1819 | + ); | |
1820 | + | |
1821 | + $transporteMapper = new Transporte_Model_AlunoDataMapper(); | |
1822 | + | |
1823 | + if ($transporte) { | |
1824 | + if (is_null($responsavel)) { | |
1825 | + return FALSE; | |
1826 | + } | |
1827 | + | |
1828 | + try { | |
1829 | + $transporteMapper->find(array('aluno' => $codAluno)); | |
1830 | + } | |
1831 | + catch (Exception $e) { | |
1832 | + $transporteMapper->save( | |
1833 | + $transporteMapper->createNewEntityInstance($data) | |
1834 | + ); | |
1835 | + } | |
1836 | + } | |
1837 | + else { | |
1838 | + $transporteMapper->delete(array('aluno' => $codAluno)); | |
1839 | + } | |
1840 | + | |
1841 | + return TRUE; | |
1842 | + } | |
1768 | 1843 | } |
1769 | 1844 | |
1770 | 1845 | // Instancia objeto de página |
... | ... | @@ -2083,4 +2158,18 @@ if (!$_GET['cod_aluno']) { |
2083 | 2158 | } |
2084 | 2159 | /** Javascript condicional */ |
2085 | 2160 | ?> |
2161 | +Event.observe(window, 'load', transporteResponsavel, false); | |
2162 | + | |
2163 | +function transporteResponsavel() | |
2164 | +{ | |
2165 | + obj1 = document.getElementById('transporte_aluno'); | |
2166 | + obj2 = document.getElementById('transporte_responsavel'); | |
2167 | + | |
2168 | + if (obj1.value == 1) { | |
2169 | + obj2.disabled = false; | |
2170 | + } | |
2171 | + else { | |
2172 | + obj2.disabled = true; | |
2173 | + } | |
2174 | +} | |
2086 | 2175 | </script> |
2087 | 2176 | \ No newline at end of file | ... | ... |
ieducar/intranet/educar_aluno_det.php
... | ... | @@ -34,6 +34,7 @@ require_once 'include/clsBanco.inc.php'; |
34 | 34 | require_once 'include/pmieducar/geral.inc.php'; |
35 | 35 | |
36 | 36 | require_once 'App/Model/ZonaLocalizacao.php'; |
37 | +require_once 'Transporte/Model/AlunoDataMapper.php'; | |
37 | 38 | |
38 | 39 | /** |
39 | 40 | * clsIndexBase class. |
... | ... | @@ -610,6 +611,20 @@ class indice extends clsDetalhe |
610 | 611 | )); |
611 | 612 | } |
612 | 613 | |
614 | + // Transporte escolar. | |
615 | + $transporteMapper = new Transporte_Model_AlunoDataMapper(); | |
616 | + $transporteAluno = NULL; | |
617 | + try { | |
618 | + $transporteAluno = $transporteMapper->find(array('aluno' => $this->cod_aluno)); | |
619 | + } | |
620 | + catch (Exception $e) { | |
621 | + } | |
622 | + | |
623 | + $this->addDetalhe(array('Transporte escolar', isset($transporteAluno) ? 'Sim' : 'Não')); | |
624 | + if ($transporteAluno) { | |
625 | + $this->addDetalhe(array('Responsável transporte', $transporteAluno->responsavel)); | |
626 | + } | |
627 | + | |
613 | 628 | $this->addDetalhe(array('Matrícula', $this->montaTabelaMatricula())); |
614 | 629 | |
615 | 630 | // Verificação de permissão para cadastro. | ... | ... |