diff --git a/administrator/components/com_content/Model/ArticleModel.php b/administrator/components/com_content/Model/ArticleModel.php index e21d38c89870f..8bbb877f70c9f 100644 --- a/administrator/components/com_content/Model/ArticleModel.php +++ b/administrator/components/com_content/Model/ArticleModel.php @@ -419,6 +419,12 @@ public function publish(&$pks, $value = 1) if ($table->load($pk)) { + if($table->state == ContentComponent::CONDITION_PUBLISHED){ + unset($pks[$i]); + + continue; + } + if (!isset($items[$pk])) { // Prune items that you can't change. diff --git a/build/media_source/com_content/js/admin-articles-workflow-buttons.es6.js b/build/media_source/com_content/js/admin-articles-workflow-buttons.es6.js index acff801d26130..208f362d32624 100644 --- a/build/media_source/com_content/js/admin-articles-workflow-buttons.es6.js +++ b/build/media_source/com_content/js/admin-articles-workflow-buttons.es6.js @@ -229,6 +229,18 @@ Joomla.toggleAllNextElements = (element, className) => { countChecked += 1; } }); + const stateAfter = [publishBool, unpublishBool, archiveBool, trashBool]; + const stateBefore = stateAfter.slice(0); + stateBefore.forEach((el, index) => { + if (!el) { + stateBefore.forEach((elBefore, indexBefore) => { + if (indexBefore !== index) { + stateAfter[indexBefore] = true; + } + }); + } + }); + [publishBool, unpublishBool, archiveBool, trashBool] = stateAfter; disableButtons(); countChecked = 0; });