What application are you using?
OJS 3.3.0-20 with PHP 7.4.3 and MariaDB 5.5
Describe the issue or problem
Trying to remove a journal from a multi-journal OJS 3.3 installation.
In “Administration > Hosted Journals” I click on “Remove” button of the journal I want to remove, then I click “OK” in the “Confirm” popup windows. The procedure stocks and never finish, the popup window never closes (see screenshot).
After waiting for a while (even 30 minutes), I close the Confirm popup window, reload the “Administration > Hosted Journals” page and see that the journal has been removed.
Also, the files of the removed journal in OJS files_dir have been correctly removed.
Checking the database tables I see that
- the journal has been deleted from the “journals” table but only part of the submissions of that journal have been actually deleted in “submissions” table
- also other data related to the not-deleted submissions have not been deleted in many tables like, for example review_rounds, review_rounds_files, review_files, …
Checking the PHP error log file I see the error below:
PHP Fatal error: Uncaught Error: Call to a member function getId() on null in /ojs/installation/path/lib/pkp/classes/notification/managerDelegate/PendingRevisionsNotificationManager.inc.php:119
Stack trace:
#0 /ojs/installation/path/lib/pkp/classes/notification/PKPNotificationManager.inc.php(338): PendingRevisionsNotificationManager->updateNotification()
#1 /ojs/installation/path/lib/pkp/classes/services/PKPSubmissionFileService.inc.php(553): PKPNotificationManager->updateNotification()
#2 /ojs/installation/path/lib/pkp/classes/submission/PKPSubmissionDAO.inc.php(129): PKP\Services\PKPSubmissionFileService->delete()
#3 /ojs/installation/path/classes/submission/SubmissionDAO.inc.php(51): PKPSubmissionDAO->deleteById()
#4 /ojs/installation/path/lib/pkp/classes/submission/PKPSubmissionDAO.inc.php(239): SubmissionDAO->deleteById()
#5 /ojs/installation/path/classes/services/ContextService.inc.php(164): PKPS in /ojs/installation/path/lib/pkp/classes/notification/managerDelegate/PendingRevisionsNotificationManager.inc.php on line 119
If I try to remove the not-deleted submissions by the CLI tool deleteSubmissions.php I get the error below:
# php tools/deleteSubmissions.php 111
PHP Fatal error: Uncaught Error: Call to a member function getStatus() on null in /ojs/installation/path//lib/pkp/classes/submission/reviewRound/ReviewRoundDAO.inc.php:238
Stack trace:
#0 /ojs/installation/path//lib/pkp/classes/services/PKPSubmissionFileService.inc.php(530): ReviewRoundDAO->updateStatus()
#1 /ojs/installation/path//lib/pkp/classes/submission/PKPSubmissionDAO.inc.php(129): PKP\Services\PKPSubmissionFileService->delete()
#2 /ojs/installation/path//classes/submission/SubmissionDAO.inc.php(51): PKPSubmissionDAO->deleteById()
#3 /ojs/installation/path//tools/deleteSubmissions.php(56): SubmissionDAO->deleteById()
#4 /ojs/installation/path//tools/deleteSubmissions.php(62): SubmissionDeletionTool->execute()
#5 {main}
thrown in /ojs/installation/path//lib/pkp/classes/submission/reviewRound/ReviewRoundDAO.inc.php on line 238
Fatal error: Uncaught Error: Call to a member function getStatus() on null in /ojs/installation/path//lib/pkp/classes/submission/reviewRound/ReviewRoundDAO.inc.php:238
Stack trace:
#0 /ojs/installation/path//lib/pkp/classes/services/PKPSubmissionFileService.inc.php(530): ReviewRoundDAO->updateStatus()
#1 /ojs/installation/path//lib/pkp/classes/submission/PKPSubmissionDAO.inc.php(129): PKP\Services\PKPSubmissionFileService->delete()
#2 /ojs/installation/path//classes/submission/SubmissionDAO.inc.php(51): PKPSubmissionDAO->deleteById()
#3 /ojs/installation/path//tools/deleteSubmissions.php(56): SubmissionDAO->deleteById()
#4 /ojs/installation/path//tools/deleteSubmissions.php(62): SubmissionDeletionTool->execute()
#5 {main}
thrown in /ojs/installation/path//lib/pkp/classes/submission/reviewRound/ReviewRoundDAO.inc.php on line 238