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. | ... | ... |