Erro ao carregar o histórico da submissão no OJS 3.3.0.18

Estou tendo o seguinte problema em uma instalação do OJS 3.3.0.18 (que foi atualizada a partir da 3.2.1.4):

PHP Fatal error: Uncaught Error: Call to a member function getStageId() on null in /lib/pkp/classes/services/PKPSubmissionFileService.inc.php:771
Stack trace:
#0 /lib/pkp/controllers/grid/eventLog/EventLogGridRow.inc.php(79): PKP\Services\PKPSubmissionFileService->getWorkflowStageId(Object(SubmissionFile))
#1 /lib/pkp/classes/controllers/grid/GridHandler.inc.php(1068): EventLogGridRow->initialize(Object(Request))
#2 /lib/pkp/classes/controllers/grid/GridHandler.inc.php(985): GridHandler->_getInitializedRowInstance(Object(Request), 20, Object(SubmissionEventLogEntry))
#3 /lib/pkp/classes/controllers/grid/GridHandler.inc.php(1033): GridHandler->renderRowsInternally(Object(Request), Array)
#4 /lib/pkp/classes/controllers/grid/GridHandler.inc.php(923): GridHandler->renderGridBodyPartsInternally(Object(Request))
#5/lib/pkp/classes/controllers/grid/GridHandler.inc.php(643): GridHandler->doSpecificFetchGridActions(Array, Object(Request), Object(TemplateManager))
#6 /lib/pkp/classes/core/PKPRouter.inc.php(397): GridHandler->fetchGrid(Array, Object(Request))
#7 /lib/pkp/classes/core/PKPComponentRouter.inc.php(257): PKPRouter->_authorizeInitializeAndCallRequest(Array, Object(Request), Array)
#8 /lib/pkp/classes/core/Dispatcher.inc.php(144): PKPComponentRouter->route(Object(Request))
#9 /lib/pkp/classes/core/PKPApplication.inc.php(360): Dispatcher->dispatch(Object(Request))
#10 /index.php(68): PKPApplication->execute()
#11 {main}
thrown in /lib/pkp/classes/services/PKPSubmissionFileService.inc.php on line 771

A linha do PKPSubmissionFileService.inc.php a qual o erro se refere é esta:

case SUBMISSION_FILE_REVIEW_FILE:
		case SUBMISSION_FILE_INTERNAL_REVIEW_FILE:
		case SUBMISSION_FILE_REVIEW_ATTACHMENT:
		case SUBMISSION_FILE_REVIEW_REVISION:
		case SUBMISSION_FILE_ATTACHMENT:
		case SUBMISSION_FILE_INTERNAL_REVIEW_REVISION:
			$reviewRoundDao = DAORegistry::getDAO('ReviewRoundDAO'); /* @var $reviewRoundDao ReviewRoundDAO */
			$reviewRound = $reviewRoundDao->getBySubmissionFileId($submissionFile->getId());
			return $reviewRound->getStageId();

Na prática o erro impede o histórico da submissão de carregar.

Não encontrei nenhum tópico correspondente no fórum da PKP.
Ideias de como rastrear qual é o file que está com problemas?

Oi Thais,

Enquanto você não descobre o problema raiz na base de dados, é possível que essa modificação no código permita exibir novamente o histórico da submissão:

Infelizmente, ela não chegou a ser incorporada no OJS. Me parece que o autor desistiu depois que ela já estava aprovada.

No OJS 3.4 há mais controle de integridade da base de dados, evitando alguns erros como este.

abraços,
Diego Abadan
Periódicos em Nuvens
Lepidus Tecnologia

2 curtidas

Deu certo (como esperado)! Obrigada!

1 curtida