From f4b96082131293fd96cb14abb87718a5e32201d1 Mon Sep 17 00:00:00 2001 From: Lucas D'Avila Date: Thu, 31 Jan 2013 22:27:50 -0200 Subject: [PATCH] Adicionado campo media_recuperacao ao cadastro de regras de avaliação, permitindo definir uma média para promoção de alunos em exame --- ieducar/modules/RegraAvaliacao/Model/Regra.php | 16 ++++++++++++---- ieducar/modules/RegraAvaliacao/Model/RegraDataMapper.php | 3 ++- ieducar/modules/RegraAvaliacao/Views/EditController.php | 6 ++++-- ieducar/modules/RegraAvaliacao/Views/IndexController.php | 3 ++- ieducar/modules/RegraAvaliacao/Views/ViewController.php | 3 ++- 5 files changed, 22 insertions(+), 9 deletions(-) diff --git a/ieducar/modules/RegraAvaliacao/Model/Regra.php b/ieducar/modules/RegraAvaliacao/Model/Regra.php index cedef9f..7b59938 100644 --- a/ieducar/modules/RegraAvaliacao/Model/Regra.php +++ b/ieducar/modules/RegraAvaliacao/Model/Regra.php @@ -59,12 +59,14 @@ class RegraAvaliacao_Model_Regra extends CoreExt_Entity 'formulaRecuperacao' => NULL, 'porcentagemPresenca' => NULL, 'parecerDescritivo' => NULL, - 'tipoPresenca' => NULL + 'tipoPresenca' => NULL, + 'mediaRecuperacao' => NULL ); protected $_dataTypes = array( 'media' => 'numeric', - 'porcentagemPresenca' => 'numeric' + 'porcentagemPresenca' => 'numeric', + 'mediaRecuperacao' => 'numeric' ); protected $_references = array( @@ -202,7 +204,13 @@ class RegraAvaliacao_Model_Regra extends CoreExt_Entity ), 'porcentagemPresenca' => new CoreExt_Validate_Numeric(array( 'min' => 1, 'max' => 100 - )) + )), + 'mediaRecuperacao' => $this->validateIfEquals( + 'tipoProgressao', RegraAvaliacao_Model_TipoProgressao::CONTINUADA, + 'CoreExt_Validate_Numeric', + array('required' => $isMediaRequired, 'min' => 1, 'max' => 10), + array('required' => $isMediaRequired, 'min' => 0, 'max' => 10) + ), ); } @@ -213,4 +221,4 @@ class RegraAvaliacao_Model_Regra extends CoreExt_Entity { return $this->nome; } -} \ No newline at end of file +} diff --git a/ieducar/modules/RegraAvaliacao/Model/RegraDataMapper.php b/ieducar/modules/RegraAvaliacao/Model/RegraDataMapper.php index f9c9a9f..7f5c43a 100644 --- a/ieducar/modules/RegraAvaliacao/Model/RegraDataMapper.php +++ b/ieducar/modules/RegraAvaliacao/Model/RegraDataMapper.php @@ -60,6 +60,7 @@ class RegraAvaliacao_Model_RegraDataMapper extends CoreExt_DataMapper 'porcentagemPresenca' => 'porcentagem_presenca', 'parecerDescritivo' => 'parecer_descritivo', 'tipoPresenca' => 'tipo_presenca', + 'mediaRecuperacao' => 'media_recuperacao', ); /** @@ -172,4 +173,4 @@ class RegraAvaliacao_Model_RegraDataMapper extends CoreExt_DataMapper return $this->getTabelaDataMapper()->findAll(array(), $where); } -} \ No newline at end of file +} diff --git a/ieducar/modules/RegraAvaliacao/Views/EditController.php b/ieducar/modules/RegraAvaliacao/Views/EditController.php index f36e0d8..360a31f 100644 --- a/ieducar/modules/RegraAvaliacao/Views/EditController.php +++ b/ieducar/modules/RegraAvaliacao/Views/EditController.php @@ -81,7 +81,7 @@ class EditController extends Core_Controller_Page_EditController valor não será considerado.' ), 'mediaRecuperacao' => array( - 'label' => 'Média final para promoção', + 'label' => 'Média exame final para promoção', 'help' => 'Informe a média necessária para promoção
do aluno, aceita até 3 casas decimais. Exemplos: 5,00; 6,725, 6.
Desconsidere esse campo caso selecione o tipo de nota "conceitual"' @@ -250,6 +250,8 @@ var tabela_arredondamento = new function() { $this->campoTexto('media', $this->_getLabel('media'), $this->getEntity()->media, 5, 50, FALSE, FALSE, FALSE, $this->_getHelp('media')); + $this->campoTexto('mediaRecuperacao', $this->_getLabel('mediaRecuperacao'), $this->getEntity()->mediaRecuperacao, 5, 50, FALSE, FALSE, FALSE, $this->_getHelp('mediaRecuperacao')); + // Cálculo média $formulas = $this->getDataMapper()->findFormulaMediaFinal(); $formulas = CoreExt_Entity::entityFilterAttr($formulas, 'id', 'nome'); @@ -283,4 +285,4 @@ var tabela_arredondamento = new function() { $tipoPresenca->getEnums(), $this->getEntity()->get('tipoPresenca'), '', $this->_getHelp('tipoPresenca')); } -} \ No newline at end of file +} diff --git a/ieducar/modules/RegraAvaliacao/Views/IndexController.php b/ieducar/modules/RegraAvaliacao/Views/IndexController.php index 16dcf19..7df3433 100644 --- a/ieducar/modules/RegraAvaliacao/Views/IndexController.php +++ b/ieducar/modules/RegraAvaliacao/Views/IndexController.php @@ -53,7 +53,8 @@ class IndexController extends Core_Controller_Page_ListController 'Sistema de nota' => 'tipoNota', 'Progressão' => 'tipoProgressao', 'Média aprovação' => 'media', + 'Média exame' => 'mediaRecuperacao', 'Fórmula média' => 'formulaMedia', 'Fórmula recuperação' => 'formulaRecuperacao' ); -} \ No newline at end of file +} diff --git a/ieducar/modules/RegraAvaliacao/Views/ViewController.php b/ieducar/modules/RegraAvaliacao/Views/ViewController.php index 52b3f8e..6acdafa 100644 --- a/ieducar/modules/RegraAvaliacao/Views/ViewController.php +++ b/ieducar/modules/RegraAvaliacao/Views/ViewController.php @@ -54,10 +54,11 @@ class ViewController extends Core_Controller_Page_ViewController 'Tabela de arredondamento' => 'tabelaArredondamento', 'Progressão' => 'tipoProgressao', 'Média para promoção' => 'media', + 'Média exame para promoção' => 'mediaRecuperacao', 'Fórmula de cálculo de média final' => 'formulaMedia', 'Fórmula de cálculo de recuperação' => 'formulaRecuperacao', 'Porcentagem presença' => 'porcentagemPresenca', 'Parecer descritivo' => 'parecerDescritivo', 'Tipo de presença' => 'tipoPresenca' ); -} \ No newline at end of file +} -- libgit2 0.21.2