Skip to content

Erro ao exibir ou ocultar a entrada de um caso de teste #9

@m-lnrs

Description

@m-lnrs

Passos para reproduzir:

  1. Acessar Menu > Oferecimentos
  2. Clicar em Visualizar em qualquer dos oferecimentos relacionados
  3. Escolher um exercício e clicar em Ver Detalhes
  4. Em Casos de Teste, escolher um caso de teste e clicar em Mostrar Entrada (Sim | Não)
Notice (8): UNDEFINED INDEX: exercise_id [APP/Model/ExerciseCase.php, line 213]

ExerciseCase::afterSave() - APP/Model/ExerciseCase.php, line 213
CakeEventManager::dispatch() - CORE/Cake/Event/CakeEventManager.php, line 245
Model::save() - CORE/Cake/Model/Model.php, line 1861
Model::saveField() - CORE/Cake/Model/Model.php, line 1667
ExerciseCasesController::toggleShowInput() - APP/Controller/ExerciseCasesController.php, line 610
ReflectionMethod::invokeArgs() - [internal], line ??
Controller::invokeAction() - CORE/Cake/Controller/Controller.php, line 490
Dispatcher::_invoke() - CORE/Cake/Routing/Dispatcher.php, line 185
Dispatcher::dispatch() - CORE/Cake/Routing/Dispatcher.php, line 160
[main] - APP/webroot/index.php, line 89

O erro acima parece não afetar o funcionamento do sistema, pois basta voltar uma página no navegador e recarregar para ver que a ação de mostrar ou ocultar a entrada foi processada corretamente. No entanto, o ideal seria retornar para a página de detalhes do exercício.

A solução que encontrei foi adicionar a linha abaixo na função beforeSave em app/Model/ExerciseCase.php:

$this->data['ExerciseCase']['exercise_id'] = $this->field("exercise_id");

Dessa forma, data['ExerciseCase'] chega com o índice exercise_id para a função afterSave e a execução parece correr bem.

Seria essa a forma correta de solucionar este problema? Ou neste caso data['ExerciseCase'] realmente não deveria conter o índice exercise_id e o correto seria remover a linha $Cache->removeItem("exercise-" . $this->data['ExerciseCase']['exercise_id']); da função afterSave ou algo do tipo?

Se a solução apresentada estiver correta, posso abrir um pull request para esta issue caso isso auxilie de alguma forma.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions