From 1ab06f5577dbac2bec04ba3c0b440e466193f543 Mon Sep 17 00:00:00 2001 From: Kishori Date: Tue, 30 Jun 2020 18:51:23 +0530 Subject: [PATCH 1/2] Bug #162716: UCM subform should inherit the status of publish/Unpublish as per parent form --- src/components/com_tjucm/site/models/item.php | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/src/components/com_tjucm/site/models/item.php b/src/components/com_tjucm/site/models/item.php index 8d7c199f..b374d3a5 100644 --- a/src/components/com_tjucm/site/models/item.php +++ b/src/components/com_tjucm/site/models/item.php @@ -256,10 +256,23 @@ public function publish(&$id, $state = 1) { $table = $this->getTable(); $table->load($id); - $table->draft = $state == 1 ? 0 : 1; $table->state = $state; - return $table->store(); + if($table->store()) + { + JLoader::import('components.com_tjucm.models.items', JPATH_SITE); + $itemsModel = BaseDatabaseModel::getInstance('Items', 'TjucmModel', array('ignore_request' => true)); + $itemsModel->setState("parent_id", $id); + $children = $itemsModel->getItems(); + + foreach ($children as $child) + { + $childTable = $this->getTable(); + $childTable->load($child->id); + $childTable->state = $state; + $childTable->store(); + } + } } /** From 1f983d4b0651eb2655843cdd19e0953d768e3d24 Mon Sep 17 00:00:00 2001 From: Kishori Date: Mon, 6 Jul 2020 17:59:59 +0530 Subject: [PATCH 2/2] Bug #162716 fix: UCM subform should inherit the status of publish --- src/components/com_tjucm/site/models/item.php | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/src/components/com_tjucm/site/models/item.php b/src/components/com_tjucm/site/models/item.php index b374d3a5..ba9351d3 100644 --- a/src/components/com_tjucm/site/models/item.php +++ b/src/components/com_tjucm/site/models/item.php @@ -258,18 +258,31 @@ public function publish(&$id, $state = 1) $table->load($id); $table->state = $state; - if($table->store()) + // Only if item is published + if ($state == 1) + { + $table->draft = 0; + } + + if ($table->store()) { JLoader::import('components.com_tjucm.models.items', JPATH_SITE); $itemsModel = BaseDatabaseModel::getInstance('Items', 'TjucmModel', array('ignore_request' => true)); $itemsModel->setState("parent_id", $id); $children = $itemsModel->getItems(); - + foreach ($children as $child) { $childTable = $this->getTable(); $childTable->load($child->id); $childTable->state = $state; + + // Only if item is published + if ($state == 1) + { + $childTable->draft = 0; + } + $childTable->store(); } }