Commit f4b96082131293fd96cb14abb87718a5e32201d1
1 parent
be7b62aa
Exists in
master
Adicionado campo media_recuperacao ao cadastro de regras de avaliação, permitind…
…o definir uma média para promoção de alunos em exame
Showing
5 changed files
with
22 additions
and
9 deletions
Show diff stats
ieducar/modules/RegraAvaliacao/Model/Regra.php
| ... | ... | @@ -59,12 +59,14 @@ class RegraAvaliacao_Model_Regra extends CoreExt_Entity |
| 59 | 59 | 'formulaRecuperacao' => NULL, |
| 60 | 60 | 'porcentagemPresenca' => NULL, |
| 61 | 61 | 'parecerDescritivo' => NULL, |
| 62 | - 'tipoPresenca' => NULL | |
| 62 | + 'tipoPresenca' => NULL, | |
| 63 | + 'mediaRecuperacao' => NULL | |
| 63 | 64 | ); |
| 64 | 65 | |
| 65 | 66 | protected $_dataTypes = array( |
| 66 | 67 | 'media' => 'numeric', |
| 67 | - 'porcentagemPresenca' => 'numeric' | |
| 68 | + 'porcentagemPresenca' => 'numeric', | |
| 69 | + 'mediaRecuperacao' => 'numeric' | |
| 68 | 70 | ); |
| 69 | 71 | |
| 70 | 72 | protected $_references = array( |
| ... | ... | @@ -202,7 +204,13 @@ class RegraAvaliacao_Model_Regra extends CoreExt_Entity |
| 202 | 204 | ), |
| 203 | 205 | 'porcentagemPresenca' => new CoreExt_Validate_Numeric(array( |
| 204 | 206 | 'min' => 1, 'max' => 100 |
| 205 | - )) | |
| 207 | + )), | |
| 208 | + 'mediaRecuperacao' => $this->validateIfEquals( | |
| 209 | + 'tipoProgressao', RegraAvaliacao_Model_TipoProgressao::CONTINUADA, | |
| 210 | + 'CoreExt_Validate_Numeric', | |
| 211 | + array('required' => $isMediaRequired, 'min' => 1, 'max' => 10), | |
| 212 | + array('required' => $isMediaRequired, 'min' => 0, 'max' => 10) | |
| 213 | + ), | |
| 206 | 214 | ); |
| 207 | 215 | } |
| 208 | 216 | |
| ... | ... | @@ -213,4 +221,4 @@ class RegraAvaliacao_Model_Regra extends CoreExt_Entity |
| 213 | 221 | { |
| 214 | 222 | return $this->nome; |
| 215 | 223 | } |
| 216 | -} | |
| 217 | 224 | \ No newline at end of file |
| 225 | +} | ... | ... |
ieducar/modules/RegraAvaliacao/Model/RegraDataMapper.php
| ... | ... | @@ -60,6 +60,7 @@ class RegraAvaliacao_Model_RegraDataMapper extends CoreExt_DataMapper |
| 60 | 60 | 'porcentagemPresenca' => 'porcentagem_presenca', |
| 61 | 61 | 'parecerDescritivo' => 'parecer_descritivo', |
| 62 | 62 | 'tipoPresenca' => 'tipo_presenca', |
| 63 | + 'mediaRecuperacao' => 'media_recuperacao', | |
| 63 | 64 | ); |
| 64 | 65 | |
| 65 | 66 | /** |
| ... | ... | @@ -172,4 +173,4 @@ class RegraAvaliacao_Model_RegraDataMapper extends CoreExt_DataMapper |
| 172 | 173 | |
| 173 | 174 | return $this->getTabelaDataMapper()->findAll(array(), $where); |
| 174 | 175 | } |
| 175 | -} | |
| 176 | 176 | \ No newline at end of file |
| 177 | +} | ... | ... |
ieducar/modules/RegraAvaliacao/Views/EditController.php
| ... | ... | @@ -81,7 +81,7 @@ class EditController extends Core_Controller_Page_EditController |
| 81 | 81 | valor não será considerado.' |
| 82 | 82 | ), |
| 83 | 83 | 'mediaRecuperacao' => array( |
| 84 | - 'label' => 'Média final para promoção', | |
| 84 | + 'label' => 'Média exame final para promoção', | |
| 85 | 85 | 'help' => 'Informe a média necessária para promoção<br /> |
| 86 | 86 | do aluno, aceita até 3 casas decimais. Exemplos: 5,00; 6,725, 6.<br > |
| 87 | 87 | Desconsidere esse campo caso selecione o tipo de nota "conceitual"' |
| ... | ... | @@ -250,6 +250,8 @@ var tabela_arredondamento = new function() { |
| 250 | 250 | $this->campoTexto('media', $this->_getLabel('media'), $this->getEntity()->media, |
| 251 | 251 | 5, 50, FALSE, FALSE, FALSE, $this->_getHelp('media')); |
| 252 | 252 | |
| 253 | + $this->campoTexto('mediaRecuperacao', $this->_getLabel('mediaRecuperacao'), $this->getEntity()->mediaRecuperacao, 5, 50, FALSE, FALSE, FALSE, $this->_getHelp('mediaRecuperacao')); | |
| 254 | + | |
| 253 | 255 | // Cálculo média |
| 254 | 256 | $formulas = $this->getDataMapper()->findFormulaMediaFinal(); |
| 255 | 257 | $formulas = CoreExt_Entity::entityFilterAttr($formulas, 'id', 'nome'); |
| ... | ... | @@ -283,4 +285,4 @@ var tabela_arredondamento = new function() { |
| 283 | 285 | $tipoPresenca->getEnums(), $this->getEntity()->get('tipoPresenca'), '', |
| 284 | 286 | $this->_getHelp('tipoPresenca')); |
| 285 | 287 | } |
| 286 | -} | |
| 287 | 288 | \ No newline at end of file |
| 289 | +} | ... | ... |
ieducar/modules/RegraAvaliacao/Views/IndexController.php
| ... | ... | @@ -53,7 +53,8 @@ class IndexController extends Core_Controller_Page_ListController |
| 53 | 53 | 'Sistema de nota' => 'tipoNota', |
| 54 | 54 | 'Progressão' => 'tipoProgressao', |
| 55 | 55 | 'Média aprovação' => 'media', |
| 56 | + 'Média exame' => 'mediaRecuperacao', | |
| 56 | 57 | 'Fórmula média' => 'formulaMedia', |
| 57 | 58 | 'Fórmula recuperação' => 'formulaRecuperacao' |
| 58 | 59 | ); |
| 59 | -} | |
| 60 | 60 | \ No newline at end of file |
| 61 | +} | ... | ... |
ieducar/modules/RegraAvaliacao/Views/ViewController.php
| ... | ... | @@ -54,10 +54,11 @@ class ViewController extends Core_Controller_Page_ViewController |
| 54 | 54 | 'Tabela de arredondamento' => 'tabelaArredondamento', |
| 55 | 55 | 'Progressão' => 'tipoProgressao', |
| 56 | 56 | 'Média para promoção' => 'media', |
| 57 | + 'Média exame para promoção' => 'mediaRecuperacao', | |
| 57 | 58 | 'Fórmula de cálculo de média final' => 'formulaMedia', |
| 58 | 59 | 'Fórmula de cálculo de recuperação' => 'formulaRecuperacao', |
| 59 | 60 | 'Porcentagem presença' => 'porcentagemPresenca', |
| 60 | 61 | 'Parecer descritivo' => 'parecerDescritivo', |
| 61 | 62 | 'Tipo de presença' => 'tipoPresenca' |
| 62 | 63 | ); |
| 63 | -} | |
| 64 | 64 | \ No newline at end of file |
| 65 | +} | ... | ... |