Cannot remove journal in OJS 3.4.0.10 multijournal installation

Describe the issue or problem
Log in as site admin and go to Administration → Hosted Journals to delete but encounter error below. This is a continuation of Cannot remove journal in OJS 3.4.0.8 multijournal installation

Steps I took leading up to the issue
For example:

  1. Log in as site admin
  2. go to Administration
  3. Hosted Journals
  4. Under Journals in drop down click on ‘Remove‘ to delete a journal but encounter error

What application are you using?
For example, OJS 3.4.0-10

Additional information
Log and screenshot:

[26-Feb-2026 14:36:24 America/Edmonton] PHP Fatal error: Uncaught PDOException: SQLSTATE[23000]: Integrity constraint violation: 1451 Cannot delete or update a parent row: a foreign key constraint fails (cmej.review_assignments, CONSTRAINT review_assignments_review_form_id_foreign FOREIGN KEY (review_form_id) REFERENCES review_forms (review_form_id)) in server/ojs-3.4.0-10/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Database/Connection.php:570
Stack trace:
#0 server/ojs-3.4.0-10/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Database/Connection.php(570): PDOStatement->execute()
#1 server/ojs-3.4.0-10/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Database/Connection.php(753): Illuminate\Database\Connection->Illuminate\Database{closure}(‘DELETE FROM rev…’, Array)
#2 server/ojs-3.4.0-10/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Database/Connection.php(720): Illuminate\Database\Connection->runQueryCallback(‘DELETE FROM rev…’, Array, Object(Closure))
#3 server/ojs-3.4.0-10/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Database/Connection.php(558): Illuminate\Database\Connection->run(‘DELETE FROM rev…’, Array, Object(Closure))
#4 server/ojs-3.4.0-10/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Database/DatabaseManager.php(469): Illuminate\Database\Connection->affectingStatement(‘DELETE FROM rev…’, Array)
#5 server/ojs-3.4.0-10/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php(338): Illuminate\Database\DatabaseManager->__call(‘affectingStatem…’, Array)
#6 server/ojs-3.4.0-10/lib/pkp/classes/db/DAO.php(179): Illuminate\Support\Facades\Facade::__callStatic(‘affectingStatem…’, Array)
#7 server/ojs-3.4.0-10/lib/pkp/classes/reviewForm/ReviewFormDAO.php(210): PKP\db\DAO->update(‘DELETE FROM rev…’, Array)
#8 server/ojs-3.4.0-10/lib/pkp/classes/reviewForm/ReviewFormDAO.php(224): PKP\reviewForm\ReviewFormDAO->deleteById(249)
#9 server/ojs-3.4.0-10/lib/pkp/classes/services/PKPContextService.php(634): PKP\reviewForm\ReviewFormDAO->deleteByAssoc(256, 102)
#10 server/ojs-3.4.0-10/lib/pkp/controllers/grid/admin/context/ContextGridHandler.php(289): PKP\services\PKPContextService->delete(Object(APP\journal\Journal))
#11 [internal function]: PKP\controllers\grid\admin\context\ContextGridHandler->deleteContext(Array, Object(APP\core\Request))
#12 server/ojs-3.4.0-10/lib/pkp/classes/core/PKPRouter.php(334): call_user_func(Array, Array, Object(APP\core\Request))
#13 server/ojs-3.4.0-10/lib/pkp/classes/core/PKPComponentRouter.php(291): PKP\core\PKPRouter->_authorizeInitializeAndCallRequest(Array, Object(APP\core\Request), Array)
#14 server/ojs-3.4.0-10/lib/pkp/classes/core/Dispatcher.php(165): PKP\core\PKPComponentRouter->route(Object(APP\core\Request))
#15 server/ojs-3.4.0-10/lib/pkp/classes/core/PKPApplication.php(395): PKP\core\Dispatcher->dispatch(Object(APP\core\Request))
#16 server/ojs-3.4.0-10/index.php(21): PKP\core\PKPApplication->execute()
#17 {main}

Next Illuminate\Database\QueryException: SQLSTATE[23000]: Integrity constraint violation: 1451 Cannot delete or update a parent row: a foreign key constraint fails (cmej.review_assignments, CONSTRAINT review_assignments_review_form_id_foreign FOREIGN KEY (review_form_id) REFERENCES review_forms (review_form_id)) (SQL: DELETE FROM review_forms WHERE review_form_id = 249) in server/ojs-3.4.0-10/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Database/Connection.php:760
Stack trace:
#0 server/ojs-3.4.0-10/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Database/Connection.php(720): Illuminate\Database\Connection->runQueryCallback(‘DELETE FROM rev…’, Array, Object(Closure))
#1 server/ojs-3.4.0-10/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Database/Connection.php(558): Illuminate\Database\Connection->run(‘DELETE FROM rev…’, Array, Object(Closure))
#2 server/ojs-3.4.0-10/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Database/DatabaseManager.php(469): Illuminate\Database\Connection->affectingStatement(‘DELETE FROM rev…’, Array)
#3 server/ojs-3.4.0-10/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php(338): Illuminate\Database\DatabaseManager->__call(‘affectingStatem…’, Array)
#4 server/ojs-3.4.0-10/lib/pkp/classes/db/DAO.php(179): Illuminate\Support\Facades\Facade::__callStatic(‘affectingStatem…’, Array)
#5 server/ojs-3.4.0-10/lib/pkp/classes/reviewForm/ReviewFormDAO.php(210): PKP\db\DAO->update(‘DELETE FROM rev…’, Array)
#6 server/ojs-3.4.0-10/lib/pkp/classes/reviewForm/ReviewFormDAO.php(224): PKP\reviewForm\ReviewFormDAO->deleteById(249)
#7 server/ojs-3.4.0-10/lib/pkp/classes/services/PKPContextService.php(634): PKP\reviewForm\ReviewFormDAO->deleteByAssoc(256, 102)
#8 server/ojs-3.4.0-10/lib/pkp/controllers/grid/admin/context/ContextGridHandler.php(289): PKP\services\PKPContextService->delete(Object(APP\journal\Journal))
#9 [internal function]: PKP\controllers\grid\admin\context\ContextGridHandler->deleteContext(Array, Object(APP\core\Request))
#10 server/ojs-3.4.0-10/lib/pkp/classes/core/PKPRouter.php(334): call_user_func(Array, Array, Object(APP\core\Request))
#11 server/ojs-3.4.0-10/lib/pkp/classes/core/PKPComponentRouter.php(291): PKP\core\PKPRouter->_authorizeInitializeAndCallRequest(Array, Object(APP\core\Request), Array)
#12 server/ojs-3.4.0-10/lib/pkp/classes/core/Dispatcher.php(165): PKP\core\PKPComponentRouter->route(Object(APP\core\Request))
#13 server/ojs-3.4.0-10/lib/pkp/classes/core/PKPApplication.php(395): PKP\core\Dispatcher->dispatch(Object(APP\core\Request))
#14 server/ojs-3.4.0-10/index.php(21): PKP\core\PKPApplication->execute()
#15 {main}
thrown in server/ojs-3.4.0-10/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Database/Connection.php on line 760
[26-Feb-2026 14:38:16 America/Edmonton] Missing locale key “search.searchResults.foundPlural” for the locale “en”
[26-Feb-2026 14:39:27 America/Edmonton] ojs2: 404 Not Found
[26-Feb-2026 14:39:57 America/Edmonton] PHP Deprecated: json_decode(): Passing null to parameter #1 ($json) of type string is deprecated in server/ojs-3.4.0-10/plugins/generic/citations/CitationsPlugin.php on line 68
[26-Feb-2026 14:40:28 America/Edmonton] ojs2: 404 Not Found
[26-Feb-2026 14:41:34 America/Edmonton] ojs2: 404 Not Found
[26-Feb-2026 14:42:10 America/Edmonton] ojs2: 404 Not Found
[26-Feb-2026 14:42:12 America/Edmonton] PHP Deprecated: json_decode(): Passing null to parameter #1 ($json) of type string is deprecated in server/ojs-3.4.0-10/plugins/generic/citations/CitationsPlugin.php on line 68
[26-Feb-2026 14:42:43 America/Edmonton] ojs2: 404 Not Found

Hello @kaitlin Sorry having to bring it to your attention again, but after reloading a production database I again ran into this similar issue this time (cmej.review_assignments, CONSTRAINT review_assignments_review_form_id_foreign FOREIGN KEY (review_form_id) REFERENCES review_forms (review_form_id))

I am wondering if you can extend your help. Thank you so much!

Best regards,

Dung.

Hi @dung, can you run the following query on that database and share the result?

SELECT
  CONSTRAINT_NAME,
  DELETE_RULE
FROM information_schema.REFERENTIAL_CONSTRAINTS
WHERE CONSTRAINT_SCHEMA = DATABASE()
  AND TABLE_NAME = 'review_assignments'
  AND REFERENCED_TABLE_NAME = 'review_forms';
1 Like

Thank you!

Hi @dung, it looks like this error is a little different from the others you encountered. I’ve filed this issue in GitHub, but in the meantime you can try applying this git patch, and see if it resolves the issue for you (we need to delete the review forms after the review assignments when deleting a journal):

diff --git a/classes/services/PKPContextService.php b/classes/services/PKPContextService.php
--- a/classes/services/PKPContextService.php	(revision 5a479c4bc433b24f66ebcea27c6353286008e74c)
+++ b/classes/services/PKPContextService.php	(date 1772211435741)
@@ -630,18 +630,18 @@
         $pluginSettingsDao = DAORegistry::getDAO('PluginSettingsDAO'); /** @var PluginSettingsDAO $pluginSettingsDao */
         $pluginSettingsDao->deleteByContextId($context->getId());
 
-        $reviewFormDao = DAORegistry::getDAO('ReviewFormDAO'); /** @var ReviewFormDAO $reviewFormDao */
-        $reviewFormDao->deleteByAssoc($context->getAssocType(), $context->getId());
-
         $navigationMenuDao = DAORegistry::getDAO('NavigationMenuDAO'); /** @var NavigationMenuDAO $navigationMenuDao */
         $navigationMenuDao->deleteByContextId($context->getId());
 
         $navigationMenuItemDao = DAORegistry::getDAO('NavigationMenuItemDAO'); /** @var NavigationMenuItemDAO $navigationMenuItemDao */
         $navigationMenuItemDao->deleteByContextId($context->getId());

         $reviewAssignmentDao = DAORegistry::getDAO('ReviewAssignmentDAO'); /** @var ReviewAssignmentDAO $reviewAssignmentDao*/
         $reviewAssignmentDao->deleteByContextId($context->getId());
 
+        $reviewFormDao = DAORegistry::getDAO('ReviewFormDAO'); /** @var ReviewFormDAO $reviewFormDao */
+        $reviewFormDao->deleteByAssoc($context->getAssocType(), $context->getId());
+
         $contextFileManager = new ContextFileManager($context->getId());
         $contextFileManager->rmtree($contextFileManager->getBasePath());

Ok, I am working on it and providing update.

Hi again @dung, just a quick follow-up to note that this should be run within lib/pkp, to apply to lib/pkp/classes/services/PKPContextService.php - apologies if that caused any confusion.

Yes, I am aware of 2 ‘classes’ dirs.

Thanks for the headsup.

Sorry I still got error:

[27-Feb-2026 12:44:18 America/Edmonton] ojs2: 404 Not Found
[27-Feb-2026 12:44:34 America/Edmonton] PHP Fatal error:  Uncaught PDOException: SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (`cmej`.`data_object_tombstone_oai_set_objects`, CONSTRAINT `data_object_tombstone_oai_set_objects_tombstone_id` FOREIGN KEY (`tombstone_id`) REFERENCES `data_object_tombstones` (`tombstone_id`) in server/ojs-3.4.0-10/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Database/Connection.php:570
Stack trace:
#0 server/ojs-3.4.0-10/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Database/Connection.php(570): PDOStatement->execute()
#1 server/ojs-3.4.0-10/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Database/Connection.php(753): Illuminate\Database\Connection->Illuminate\Database\{closure}('INSERT INTO dat...', Array)
#2 server/ojs-3.4.0-10/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Database/Connection.php(720): Illuminate\Database\Connection->runQueryCallback('INSERT INTO dat...', Array, Object(Closure))
#3 server/ojs-3.4.0-10/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Database/Connection.php(558): Illuminate\Database\Connection->run('INSERT INTO dat...', Array, Object(Closure))
#4 server/ojs-3.4.0-10/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Database/DatabaseManager.php(469): Illuminate\Database\Connection->affectingStatement('INSERT INTO dat...', Array)
#5 server/ojs-3.4.0-10/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php(338): Illuminate\Database\DatabaseManager->__call('affectingStatem...', Array)
#6 server/ojs-3.4.0-10/lib/pkp/classes/db/DAO.php(179): Illuminate\Support\Facades\Facade::__callStatic('affectingStatem...', Array)
#7 server/ojs-3.4.0-10/lib/pkp/classes/tombstone/DataObjectTombstoneDAO.php(277): PKP\db\DAO->update('INSERT INTO dat...', Array)
#8 server/ojs-3.4.0-10/lib/pkp/classes/tombstone/DataObjectTombstoneDAO.php(170): PKP\tombstone\DataObjectTombstoneDAO->insertOAISetObjects(Object(PKP\tombstone\DataObjectTombstone))
#9 server/ojs-3.4.0-10/classes/article/ArticleTombstoneManager.php(57): PKP\tombstone\DataObjectTombstoneDAO->insertObject(Object(PKP\tombstone\DataObjectTombstone))
#10 server/ojs-3.4.0-10/classes/article/ArticleTombstoneManager.php(77): APP\article\ArticleTombstoneManager->insertArticleTombstone(Object(APP\submission\Submission), Object(APP\journal\Journal), Object(APP\section\Section))
#11 server/ojs-3.4.0-10/classes/services/ContextService.php(153): APP\article\ArticleTombstoneManager->insertTombstonesByContext(Object(APP\journal\Journal))
#12 [internal function]: APP\services\ContextService->beforeDeleteContext('Context::delete...', Array)
#13 server/ojs-3.4.0-10/lib/pkp/classes/plugins/Hook.php(139): call_user_func_array(Array, Array)
#14 server/ojs-3.4.0-10/lib/pkp/classes/plugins/Hook.php(113): PKP\plugins\Hook::run('Context::delete...', Array)
#15 server/ojs-3.4.0-10/lib/pkp/classes/services/PKPContextService.php(599): PKP\plugins\Hook::call('Context::delete...', Array)
#16 server/ojs-3.4.0-10/lib/pkp/controllers/grid/admin/context/ContextGridHandler.php(289): PKP\services\PKPContextService->delete(Object(APP\journal\Journal))
#17 [internal function]: PKP\controllers\grid\admin\context\ContextGridHandler->deleteContext(Array, Object(APP\core\Request))
#18 server/ojs-3.4.0-10/lib/pkp/classes/core/PKPRouter.php(334): call_user_func(Array, Array, Object(APP\core\Request))
#19 server/ojs-3.4.0-10/lib/pkp/classes/core/PKPComponentRouter.php(291): PKP\core\PKPRouter->_authorizeInitializeAndCallRequest(Array, Object(APP\core\Request), Array)
#20 server/ojs-3.4.0-10/lib/pkp/classes/core/Dispatcher.php(165): PKP\core\PKPComponentRouter->route(Object(APP\core\Request))
#21 server/ojs-3.4.0-10/lib/pkp/classes/core/PKPApplication.php(395): PKP\core\Dispatcher->dispatch(Object(APP\core\Request))
#22 server/ojs-3.4.0-10/index.php(21): PKP\core\PKPApplication->execute()
#23 {main}

Next Illuminate\Database\QueryException: SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (`cmej`.`data_object_tombstone_oai_set_objects`, CONSTRAINT `data_object_tombstone_oai_set_objects_tombstone_id` FOREIGN KEY (`tombstone_id`) REFERENCES `data_object_tombstones` (`tombstone_id`) (SQL: INSERT INTO data_object_tombstone_oai_set_objects
                                        (tombstone_id, assoc_type, assoc_id)
                                        VALUES
                                        (40393, 530, 844)) in server/ojs-3.4.0-10/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Database/Connection.php:760
Stack trace:
#0 server/ojs-3.4.0-10/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Database/Connection.php(720): Illuminate\Database\Connection->runQueryCallback('INSERT INTO dat...', Array, Object(Closure))
#1 server/ojs-3.4.0-10/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Database/Connection.php(558): Illuminate\Database\Connection->run('INSERT INTO dat...', Array, Object(Closure))
#2 server/ojs-3.4.0-10/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Database/DatabaseManager.php(469): Illuminate\Database\Connection->affectingStatement('INSERT INTO dat...', Array)
#3 server/ojs-3.4.0-10/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php(338): Illuminate\Database\DatabaseManager->__call('affectingStatem...', Array)
#4 server/ojs-3.4.0-10/lib/pkp/classes/db/DAO.php(179): Illuminate\Support\Facades\Facade::__callStatic('affectingStatem...', Array)
#5 server/ojs-3.4.0-10/lib/pkp/classes/tombstone/DataObjectTombstoneDAO.php(277): PKP\db\DAO->update('INSERT INTO dat...', Array)
#6 server/ojs-3.4.0-10/lib/pkp/classes/tombstone/DataObjectTombstoneDAO.php(170): PKP\tombstone\DataObjectTombstoneDAO->insertOAISetObjects(Object(PKP\tombstone\DataObjectTombstone))
#7 server/ojs-3.4.0-10/classes/article/ArticleTombstoneManager.php(57): PKP\tombstone\DataObjectTombstoneDAO->insertObject(Object(PKP\tombstone\DataObjectTombstone))
#8 server/ojs-3.4.0-10/classes/article/ArticleTombstoneManager.php(77): APP\article\ArticleTombstoneManager->insertArticleTombstone(Object(APP\submission\Submission), Object(APP\journal\Journal), Object(APP\section\Section))
#9 server/ojs-3.4.0-10/classes/services/ContextService.php(153): APP\article\ArticleTombstoneManager->insertTombstonesByContext(Object(APP\journal\Journal))
#10 [internal function]: APP\services\ContextService->beforeDeleteContext('Context::delete...', Array)
#11 server/ojs-3.4.0-10/lib/pkp/classes/plugins/Hook.php(139): call_user_func_array(Array, Array)
#12 server/ojs-3.4.0-10/lib/pkp/classes/plugins/Hook.php(113): PKP\plugins\Hook::run('Context::delete...', Array)
#13 server/ojs-3.4.0-10/lib/pkp/classes/services/PKPContextService.php(599): PKP\plugins\Hook::call('Context::delete...', Array)
#14 server/ojs-3.4.0-10/lib/pkp/controllers/grid/admin/context/ContextGridHandler.php(289): PKP\services\PKPContextService->delete(Object(APP\journal\Journal))
#15 [internal function]: PKP\controllers\grid\admin\context\ContextGridHandler->deleteContext(Array, Object(APP\core\Request))
#16 server/ojs-3.4.0-10/lib/pkp/classes/core/PKPRouter.php(334): call_user_func(Array, Array, Object(APP\core\Request))
#17 server/ojs-3.4.0-10/lib/pkp/classes/core/PKPComponentRouter.php(291): PKP\core\PKPRouter->_authorizeInitializeAndCallRequest(Array, Object(APP\core\Request), Array)
#18 server/ojs-3.4.0-10/lib/pkp/classes/core/Dispatcher.php(165): PKP\core\PKPComponentRouter->route(Object(APP\core\Request))
#19 server/ojs-3.4.0-10/lib/pkp/classes/core/PKPApplication.php(395): PKP\core\Dispatcher->dispatch(Object(APP\core\Request))
#20 server/ojs-3.4.0-10/index.php(21): PKP\core\PKPApplication->execute()
#21 {main}
  thrown in server/ojs-3.4.0-10/lib/pkp/lib/vendor/laravel/framework/src/Illuminate/Database/Connection.php on line 760

Did I make mistake in applying patch:

Thank you!

Good morning @kaitlin

I accidentally found out (after rebooting the dev server) that the last error I reported was a false alarm (I apologize for this). It seems that if (1) a journal deletion process is stuck in the backend, (2) it is long-running due to a large database - Never click OK button as confirmation of deletion more than once, or (3) the user/I hit Cancel midway through the process and didn’t wait long enough (even when it takes longer than a few minutes), it can cause the bogus error I reported.

It is now deleting as expected — I just needed to let it run until the dialog box closes upon completion. I am reloading a fresh copy of the prod database; this time I will be more patient and wait until the process finishes, however long it takes, and will provide confirmation again.

Thank you for your help thus far,
Dung.

1 Like

Hello @kaitlin

I now can confirm queries in other related issue and the code patching solution above successfully works. I would like to recap the issue so it helps others:

/* To verify your server and database to ensure correct targets */

select @@hostnamehostnamehostnamehostname;
select database();

/* For more info and details see related post 
https://forum.pkp.sfu.ca/t/cannot-remove-journal-in-ojs-3-4-0-8-multijournal-installation/94925/15
*/

ALTER TABLE authors
DROP FOREIGN KEY authors_user_group_id_foreign;

ALTER TABLE authors
ADD CONSTRAINT authors_user_group_id_foreign
FOREIGN KEY (user_group_id)
REFERENCES user_groups(user_group_id)
ON DELETE CASCADE;

ALTER TABLE dois
DROP FOREIGN KEY dois_context_id_foreign;

ALTER TABLE dois
ADD CONSTRAINT dois_context_id_foreign
FOREIGN KEY (context_id)
REFERENCES journals (journal_id)
ON DELETE CASCADE;

In addition to running above queries you will also need code patching below:

diff --git a/classes/services/PKPContextService.php b/classes/services/PKPContextService.php
--- a/classes/services/PKPContextService.php	(revision 5a479c4bc433b24f66ebcea27c6353286008e74c)
+++ b/classes/services/PKPContextService.php	(date 1772211435741)
@@ -630,18 +630,18 @@
         $pluginSettingsDao = DAORegistry::getDAO('PluginSettingsDAO'); /** @var PluginSettingsDAO $pluginSettingsDao */
         $pluginSettingsDao->deleteByContextId($context->getId());
 
-        $reviewFormDao = DAORegistry::getDAO('ReviewFormDAO'); /** @var ReviewFormDAO $reviewFormDao */
-        $reviewFormDao->deleteByAssoc($context->getAssocType(), $context->getId());
-
         $navigationMenuDao = DAORegistry::getDAO('NavigationMenuDAO'); /** @var NavigationMenuDAO $navigationMenuDao */
         $navigationMenuDao->deleteByContextId($context->getId());
 
         $navigationMenuItemDao = DAORegistry::getDAO('NavigationMenuItemDAO'); /** @var NavigationMenuItemDAO $navigationMenuItemDao */
         $navigationMenuItemDao->deleteByContextId($context->getId());

         $reviewAssignmentDao = DAORegistry::getDAO('ReviewAssignmentDAO'); /** @var ReviewAssignmentDAO $reviewAssignmentDao*/
         $reviewAssignmentDao->deleteByContextId($context->getId());
 
+        $reviewFormDao = DAORegistry::getDAO('ReviewFormDAO'); /** @var ReviewFormDAO $reviewFormDao */
+        $reviewFormDao->deleteByAssoc($context->getAssocType(), $context->getId());
+
         $contextFileManager = new ContextFileManager($context->getId());
         $contextFileManager->rmtree($contextFileManager->getBasePath());

Note: Always wait for the deletion popup dialog to close/go away - this is a confirmation of a successful deletion of a journal or look into the browser debug console where you will see 2 get requests following a post deletion request those are signs of successful deletion:

Please feel free to close this issue. Thank you so much for your support.

Best regards,

Dung.

1 Like