From 195851bfa15835d1043a9bee4e727f429f3ad0f7 Mon Sep 17 00:00:00 2001 From: Christiane Maier-Stadtherr Date: Sun, 12 Aug 2018 11:29:15 +0200 Subject: [PATCH 01/16] Fix errors in renaming state to stage for workflow --- .../components/com_admin/sql/updates/mysql/4.0.0-2018-05-15.sql | 2 +- administrator/components/com_workflow/Table/StageTable.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/administrator/components/com_admin/sql/updates/mysql/4.0.0-2018-05-15.sql b/administrator/components/com_admin/sql/updates/mysql/4.0.0-2018-05-15.sql index 52845846a6e22..799dda1c1123a 100644 --- a/administrator/components/com_admin/sql/updates/mysql/4.0.0-2018-05-15.sql +++ b/administrator/components/com_admin/sql/updates/mysql/4.0.0-2018-05-15.sql @@ -114,7 +114,7 @@ INSERT INTO `#__workflow_transitions` (`id`, `asset_id`, `published`, `ordering` -- Creating extension entry -- -INSERT INTO `#__extensions` (`extension_id`, `package_id`, `name`, `type`, `element`, `folder`, `client_id`, `enabled`, `access`, `protected`, `manifest_cache`, `params`, `checked_out`, `checked_out_time`, `ordering`, `stage`, `namespace`) VALUES +INSERT INTO `#__extensions` (`extension_id`, `package_id`, `name`, `type`, `element`, `folder`, `client_id`, `enabled`, `access`, `protected`, `manifest_cache`, `params`, `checked_out`, `checked_out_time`, `ordering`, `state`, `namespace`) VALUES (35, 0, 'com_workflow', 'component', 'com_workflow', '', 1, 1, 0, 0, '', '{}', 0, '0000-00-00 00:00:00', 0, 0, 'Joomla\\Component\\Workflow'); -- diff --git a/administrator/components/com_workflow/Table/StageTable.php b/administrator/components/com_workflow/Table/StageTable.php index 7b8929143a9af..00d8a523f898b 100644 --- a/administrator/components/com_workflow/Table/StageTable.php +++ b/administrator/components/com_workflow/Table/StageTable.php @@ -78,7 +78,7 @@ public function delete($pk = null) { $query = $db->getQuery(true) ->delete($db->quoteName('#__workflow_transitions')) - ->where($db->quoteName('to_') . ' = ' . (int) $pk, 'OR') + ->where($db->quoteName('to_stage') . ' = ' . (int) $pk, 'OR') ->where($db->quoteName('from_stage_id') . ' = ' . (int) $pk); $db->setQuery($query)->execute(); From 124473e9a652ae39006cdb778da84a9006278baf Mon Sep 17 00:00:00 2001 From: Christiane Maier-Stadtherr Date: Sun, 12 Aug 2018 12:00:39 +0200 Subject: [PATCH 02/16] Fix table --- administrator/components/com_workflow/Table/StageTable.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/administrator/components/com_workflow/Table/StageTable.php b/administrator/components/com_workflow/Table/StageTable.php index 00d8a523f898b..52edbbb9147cd 100644 --- a/administrator/components/com_workflow/Table/StageTable.php +++ b/administrator/components/com_workflow/Table/StageTable.php @@ -78,7 +78,7 @@ public function delete($pk = null) { $query = $db->getQuery(true) ->delete($db->quoteName('#__workflow_transitions')) - ->where($db->quoteName('to_stage') . ' = ' . (int) $pk, 'OR') + ->where($db->quoteName('to_stage_id') . ' = ' . (int) $pk, 'OR') ->where($db->quoteName('from_stage_id') . ' = ' . (int) $pk); $db->setQuery($query)->execute(); From 31a33d39e79ba4954b11de9fe7af726d263e7f3d Mon Sep 17 00:00:00 2001 From: Christiane Maier-Stadtherr Date: Sun, 12 Aug 2018 15:21:58 +0200 Subject: [PATCH 03/16] Rename FormField workflowstate to workflowstage, fix more state to stage renaming errors --- .../com_content/Model/ArticleModel.php | 34 +++++++++---------- .../com_content/forms/filter_articles.xml | 2 +- .../com_content/forms/filter_featured.xml | 2 +- .../com_workflow/Model/TransitionsModel.php | 2 +- .../com_workflow/forms/transition.xml | 4 +-- ...wStateField.php => WorkflowStageField.php} | 30 ++++++++-------- libraries/src/MVC/Model/AdminModel.php | 2 +- .../mod_articles_archive.xml | 2 +- 8 files changed, 39 insertions(+), 39 deletions(-) rename libraries/src/Form/Field/{WorkflowStateField.php => WorkflowStageField.php} (79%) diff --git a/administrator/components/com_content/Model/ArticleModel.php b/administrator/components/com_content/Model/ArticleModel.php index ce1c87940cfe0..7bf0a4bb3c06b 100644 --- a/administrator/components/com_content/Model/ArticleModel.php +++ b/administrator/components/com_content/Model/ArticleModel.php @@ -17,7 +17,7 @@ use Joomla\CMS\Model\Form; use Joomla\Component\Content\Administrator\Helper\ContentHelper; use Joomla\Component\Workflow\Administrator\Helper\WorkflowHelper; -use Joomla\Component\Workflow\Administrator\Table\StateTable; +use Joomla\Component\Workflow\Administrator\Table\StageTable; use Joomla\Registry\Registry; use Joomla\Utilities\ArrayHelper; use Joomla\CMS\MVC\Model\AdminModel; @@ -196,9 +196,9 @@ protected function batchCopy($value, $pks, $contexts) } /** - * Batch change workflow state or current. + * Batch change workflow stage or current. * - * @param integer $value The workflow state ID. + * @param integer $value The workflow stage ID. * @param array $pks An array of row IDs. * @param array $contexts An array of item contexts. * @@ -206,7 +206,7 @@ protected function batchCopy($value, $pks, $contexts) * * @since __DEPLOY_VERSION__ */ - protected function batchWorkflowState($value, $pks, $contexts) + protected function batchWorkflowStage($value, $pks, $contexts) { $user = Factory::getUser(); @@ -215,19 +215,19 @@ protected function batchWorkflowState($value, $pks, $contexts) $this->setError(Text::_('JLIB_APPLICATION_ERROR_BATCH_CANNOT_EXECUTE_TRANSITION')); } - // Get state information - $state = new StateTable($this->_db); + // Get workflow stage information + $stage = new StageTable($this->_db); - if (empty($value) || !$state->load($value)) + if (empty($value) || !$stage->load($value)) { - Factory::getApplication()->enqueueMessage(Text::sprintf('JGLOBAL_BATCH_WORKFLOW_STATE_ROW_NOT_FOUND'), 'error'); + Factory::getApplication()->enqueueMessage(Text::sprintf('JGLOBAL_BATCH_WORKFLOW_STAGE_ROW_NOT_FOUND'), 'error'); return false; } if (empty($pks)) { - Factory::getApplication()->enqueueMessage(Text::sprintf('JGLOBAL_BATCH_WORKFLOW_STATE_ROW_NOT_FOUND'), 'error'); + Factory::getApplication()->enqueueMessage(Text::sprintf('JGLOBAL_BATCH_WORKFLOW_STAGE_ROW_NOT_FOUND'), 'error'); return false; } @@ -358,13 +358,13 @@ protected function canDelete($record) { if (!empty($record->id)) { - $state = new StateTable($this->_db); + $stage = new StageTable($this->_db); $workflow = new Workflow(['extension' => 'com_content']); $assoc = $workflow->getAssociation($record->id); - if (!$state->load($assoc->state_id) || $state->condition != Workflow::TRASHED) + if (!$stage->load($assoc->stage_id) || $stage->condition != Workflow::TRASHED) { return false; } @@ -541,7 +541,7 @@ public function getForm($data = array(), $loadData = true) // Transition field $assoc = $workflow->getAssociation($table->id); - $form->setFieldAttribute('transition', 'workflow_state', (int) $assoc->state_id); + $form->setFieldAttribute('transition', 'workflow_stage', (int) $assoc->stage_id); } } else @@ -780,7 +780,7 @@ public function save($data) } $workflowId = 0; - $stateId = 0; + $stageId = 0; // Set status depending on category if (empty($data['id'])) @@ -794,7 +794,7 @@ public function save($data) return false; } - $stateId = (int) $workflow->state_id; + $stageId = (int) $workflow->stage_id; $workflowId = (int) $workflow->id; // B/C state @@ -823,14 +823,14 @@ public function save($data) $query ->select($db->quoteName(['ws.id', 'ws.condition'])) ->from($db->quoteName('#__workflow_stages', 'ws')) ->from($db->quoteName('#__workflow_transitions', 'wt')) - ->where($db->quoteName('wt.to_state_id') . ' = ' . $db->quoteName('ws.id')) + ->where($db->quoteName('wt.to_stage_id') . ' = ' . $db->quoteName('ws.id')) ->where($db->quoteName('wt.id') . ' = ' . (int) $data['transition']) ->where($db->quoteName('ws.published') . ' = 1') ->where($db->quoteName('wt.published') . ' = 1'); - $state = $db->setQuery($query)->loadObject(); + $stage = $db->setQuery($query)->loadObject(); - if (empty($state->id)) + if (empty($stage->id)) { $this->setError(Text::_('COM_CONTENT_WORKFLOW_TRANSITION_NOT_ALLOWED')); diff --git a/administrator/components/com_content/forms/filter_articles.xml b/administrator/components/com_content/forms/filter_articles.xml index 4c7658251294d..97cb548223873 100644 --- a/administrator/components/com_content/forms/filter_articles.xml +++ b/administrator/components/com_content/forms/filter_articles.xml @@ -11,7 +11,7 @@ quoteName('f_stage.title', 'from_stage'); $select[] = $db->quoteName('t_stage.title', 'to_stage'); diff --git a/administrator/components/com_workflow/forms/transition.xml b/administrator/components/com_workflow/forms/transition.xml index 90d320b495329..b32d324ff1c18 100644 --- a/administrator/components/com_workflow/forms/transition.xml +++ b/administrator/components/com_workflow/forms/transition.xml @@ -21,7 +21,7 @@ getQuery(true); - // Select distinct states for existing articles + // Select distinct stages for existing articles $query ->select('DISTINCT ' . $db->quoteName('ws.id', 'workflow_stage_id')) - ->select($db->quoteName(['ws.title', 'w.title', 'w.id', 'w.ordering'], ['workflow_state_title', 'workflow_title', 'workflow_id', 'ordering'])) + ->select($db->quoteName(['ws.title', 'w.title', 'w.id', 'w.ordering'], ['workflow_stage_title', 'workflow_title', 'workflow_id', 'ordering'])) ->from($db->quoteName('#__workflow_stages', 'ws')) ->from($db->quoteName('#__workflows', 'w')) ->where($db->quoteName('ws.workflow_id') . ' = ' . $db->quoteName('w.id')) @@ -110,25 +110,25 @@ protected function getGroups() } - $states = $db->setQuery($query)->loadObjectList(); + $stages = $db->setQuery($query)->loadObjectList(); - $workflowStates = array(); + $workflowStages = array(); - // Grouping the states by workflow - foreach ($states as $state) + // Grouping the stages by workflow + foreach ($stages as $stage) { // Using workflow ID to differentiate workflows having same title - $workflowStateKey = $state->workflow_title . ' (' . $state->workflow_id . ')'; + $workflowStageKey = $stage->workflow_title . ' (' . $stage->workflow_id . ')'; - if (!array_key_exists($workflowStateKey, $workflowStates)) + if (!array_key_exists($workflowStageKey, $workflowStages)) { - $workflowStates[$workflowStateKey] = array(); + $workflowStages[$workflowStageKey] = array(); } - $workflowStates[$workflowStateKey][] = HTMLHelper::_('select.option', $state->workflow_stage_id, $state->workflow_state_title); + $workflowStages[$workflowStageKey][] = HTMLHelper::_('select.option', $stage->workflow_stage_id, $stage->workflow_stage_title); } // Merge any additional options in the XML definition. - return array_merge(parent::getGroups(), $workflowStates); + return array_merge(parent::getGroups(), $workflowStages); } } diff --git a/libraries/src/MVC/Model/AdminModel.php b/libraries/src/MVC/Model/AdminModel.php index ebef596d24728..b2b982bf168a9 100644 --- a/libraries/src/MVC/Model/AdminModel.php +++ b/libraries/src/MVC/Model/AdminModel.php @@ -105,7 +105,7 @@ abstract class AdminModel extends FormModel 'assetgroup_id' => 'batchAccess', 'language_id' => 'batchLanguage', 'tag' => 'batchTag', - 'workflowstage_id' => 'batchWorkflowState', + 'workflowstage_id' => 'batchWorkflowStage', ); /** diff --git a/modules/mod_articles_archive/mod_articles_archive.xml b/modules/mod_articles_archive/mod_articles_archive.xml index 516bf33663866..845fbb466be5a 100644 --- a/modules/mod_articles_archive/mod_articles_archive.xml +++ b/modules/mod_articles_archive/mod_articles_archive.xml @@ -32,7 +32,7 @@ Date: Sun, 12 Aug 2018 19:43:22 +0200 Subject: [PATCH 04/16] Fix Table Stage in Workflow $stage->default --- administrator/components/com_workflow/Table/StageTable.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/administrator/components/com_workflow/Table/StageTable.php b/administrator/components/com_workflow/Table/StageTable.php index 52edbbb9147cd..c0cec9d6a0211 100644 --- a/administrator/components/com_workflow/Table/StageTable.php +++ b/administrator/components/com_workflow/Table/StageTable.php @@ -66,7 +66,7 @@ public function delete($pk = null) $db->setQuery($query); $stage = $db->loadResult(); - if ($state->default) + if ($stage->default) { $app->enqueueMessage(Text::sprintf('COM_WORKFLOW_MSG_DELETE_DEFAULT', $stage->title), 'error'); From cf65e4d2133aa31490bf8011a17079cb4a588833 Mon Sep 17 00:00:00 2001 From: Christiane Maier-Stadtherr Date: Sun, 12 Aug 2018 20:20:59 +0200 Subject: [PATCH 05/16] Revert "Fix Table Stage in Workflow $stage->default" This reverts commit 4686b61671d57792360252469790a96417a86817. --- administrator/components/com_workflow/Table/StageTable.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/administrator/components/com_workflow/Table/StageTable.php b/administrator/components/com_workflow/Table/StageTable.php index c0cec9d6a0211..52edbbb9147cd 100644 --- a/administrator/components/com_workflow/Table/StageTable.php +++ b/administrator/components/com_workflow/Table/StageTable.php @@ -66,7 +66,7 @@ public function delete($pk = null) $db->setQuery($query); $stage = $db->loadResult(); - if ($stage->default) + if ($state->default) { $app->enqueueMessage(Text::sprintf('COM_WORKFLOW_MSG_DELETE_DEFAULT', $stage->title), 'error'); From 7338ff3002954fbfe2a6ba4d4f637f8eccd10750 Mon Sep 17 00:00:00 2001 From: Christiane Maier-Stadtherr Date: Sun, 12 Aug 2018 20:44:07 +0200 Subject: [PATCH 06/16] Fixed renaming errors in the workflow component --- .../com_workflow/Model/StagesModel.php | 4 ++-- .../com_workflow/Model/TransitionsModel.php | 20 +++++++++---------- .../com_workflow/Table/StageTable.php | 2 +- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/administrator/components/com_workflow/Model/StagesModel.php b/administrator/components/com_workflow/Model/StagesModel.php index 40fb2ba59156d..6b9ba0adff82a 100644 --- a/administrator/components/com_workflow/Model/StagesModel.php +++ b/administrator/components/com_workflow/Model/StagesModel.php @@ -41,8 +41,8 @@ public function __construct($config = array()) 'ordering','s.ordering', 'condition','s.condition', 'published', 's.published' - ); - } + ) + }; parent::__construct($config); } diff --git a/administrator/components/com_workflow/Model/TransitionsModel.php b/administrator/components/com_workflow/Model/TransitionsModel.php index 174d4ddec2c27..c9a30869fb926 100644 --- a/administrator/components/com_workflow/Model/TransitionsModel.php +++ b/administrator/components/com_workflow/Model/TransitionsModel.php @@ -134,12 +134,12 @@ public function getListQuery() $select = $db->quoteName( array( - 't.id', - 't.title', - 't.from_stage_id', - 't.to_stage_id', - 't.published', - 't.ordering', + 't.id', + 't.title', + 't.from_stage_id', + 't.to_stage_id', + 't.published', + 't.ordering', ) ); @@ -175,15 +175,15 @@ public function getListQuery() } // Filter by column from_stage_id - if ($fromState = $this->getState('filter.from_stage')) + if ($fromStage = $this->getState('filter.from_stage')) { - $query->where($db->quoteName('from_stage_id') . ' = ' . (int) $fromState); + $query->where($db->quoteName('from_stage_id') . ' = ' . (int) $fromStage); } // Filter by column from_stage_id - if ($toState = $this->getState('filter.to_stage')) + if ($toStage = $this->getState('filter.to_stage')) { - $query->where($db->quoteName('to_stage_id') . ' = ' . (int) $toState); + $query->where($db->quoteName('to_stage_id') . ' = ' . (int) $toStage); } // Filter by search in title diff --git a/administrator/components/com_workflow/Table/StageTable.php b/administrator/components/com_workflow/Table/StageTable.php index 52edbbb9147cd..c0cec9d6a0211 100644 --- a/administrator/components/com_workflow/Table/StageTable.php +++ b/administrator/components/com_workflow/Table/StageTable.php @@ -66,7 +66,7 @@ public function delete($pk = null) $db->setQuery($query); $stage = $db->loadResult(); - if ($state->default) + if ($stage->default) { $app->enqueueMessage(Text::sprintf('COM_WORKFLOW_MSG_DELETE_DEFAULT', $stage->title), 'error'); From e1cc511d2a087fbb57b8af08ea66637f71c5bba6 Mon Sep 17 00:00:00 2001 From: Christiane Maier-Stadtherr Date: Sun, 12 Aug 2018 20:49:38 +0200 Subject: [PATCH 07/16] oops --- administrator/components/com_workflow/Model/StagesModel.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/administrator/components/com_workflow/Model/StagesModel.php b/administrator/components/com_workflow/Model/StagesModel.php index 6b9ba0adff82a..40fb2ba59156d 100644 --- a/administrator/components/com_workflow/Model/StagesModel.php +++ b/administrator/components/com_workflow/Model/StagesModel.php @@ -41,8 +41,8 @@ public function __construct($config = array()) 'ordering','s.ordering', 'condition','s.condition', 'published', 's.published' - ) - }; + ); + } parent::__construct($config); } From 833be56fb678d111b22f2a27c43e1bb2673dc004 Mon Sep 17 00:00:00 2001 From: Christiane Maier-Stadtherr Date: Sun, 12 Aug 2018 21:44:52 +0200 Subject: [PATCH 08/16] Revert change in sql update, Rename and fix JHtmlWorkflowState / Stage --- .../sql/updates/mysql/4.0.0-2018-05-15.sql | 4 ++-- .../{workflowstate.php => workflowstage.php} | 16 ++++++++-------- 2 files changed, 10 insertions(+), 10 deletions(-) rename libraries/cms/html/{workflowstate.php => workflowstage.php} (81%) diff --git a/administrator/components/com_admin/sql/updates/mysql/4.0.0-2018-05-15.sql b/administrator/components/com_admin/sql/updates/mysql/4.0.0-2018-05-15.sql index 799dda1c1123a..290cd2ffc92b7 100644 --- a/administrator/components/com_admin/sql/updates/mysql/4.0.0-2018-05-15.sql +++ b/administrator/components/com_admin/sql/updates/mysql/4.0.0-2018-05-15.sql @@ -120,5 +120,5 @@ INSERT INTO `#__extensions` (`extension_id`, `package_id`, `name`, `type`, `elem -- -- Creating Associations for existing content -- -INSERT INTO `#__workflow_associations` (`item_id`, `stage_id`, `extension`) -SELECT `id`, CASE WHEN `stage` = -2 THEN 3 WHEN `stage` = 0 THEN 1 WHEN `stage` = 2 THEN 4 ELSE 2 END, 'com_content' FROM `#__content`; +INSERT INTO `#__workflow_associations` (`item_id`, `state_id`, `extension`) +SELECT `id`, CASE WHEN `state` = -2 THEN 3 WHEN `state` = 0 THEN 1 WHEN `state` = 2 THEN 4 ELSE 2 END, 'com_content' FROM `#__content`; diff --git a/libraries/cms/html/workflowstate.php b/libraries/cms/html/workflowstage.php similarity index 81% rename from libraries/cms/html/workflowstate.php rename to libraries/cms/html/workflowstage.php index 8a8b424515bb6..f74c1d78a39fb 100644 --- a/libraries/cms/html/workflowstate.php +++ b/libraries/cms/html/workflowstage.php @@ -17,7 +17,7 @@ * * @since __DEPLOY_VERSION__ */ -abstract class JHtmlWorkflowState +abstract class JHtmlWorkflowStage { /** @@ -57,22 +57,22 @@ public static function existing($options) ->order('ws.ordering'); // Set the query and load the options. - $states = $db->setQuery($query)->loadObjectList(); + $stages = $db->setQuery($query)->loadObjectList(); - $workflowStates = array(); + $workflowStages = array(); - // Grouping the states by workflow - foreach ($states as $state) + // Grouping the stages by workflow + foreach ($stages as $stage) { // Using workflow ID to differentiate workflows having same title - $workflowStageKey = $state->workflow_title . ' (' . $state->workflow_id . ')'; + $workflowStageKey = $stage->workflow_title . ' (' . $stage->workflow_id . ')'; - if (!array_key_exists($workflowStateKey, $workflowStages)) + if (!array_key_exists($workflowStageKey, $workflowStages)) { $workflowStages[$workflowStageKey] = array(); } - $workflowStages[$workflowStageKey][] = HTMLHelper::_('select.option', $state->workflow_stage_id, $state->workflow_stage_title); + $workflowStages[$workflowStageKey][] = HTMLHelper::_('select.option', $stage->workflow_stage_id, $stage->workflow_stage_title); } $prefix[] = array( From edc87e6e421755dfb2b14a5ef7152a5ada1265dc Mon Sep 17 00:00:00 2001 From: Christiane Maier-Stadtherr Date: Sun, 12 Aug 2018 22:52:38 +0200 Subject: [PATCH 09/16] Fixed state-stage renaming in Transition Field and Article Model --- .../components/com_content/Model/ArticleModel.php | 4 ++-- libraries/src/Form/Field/TransitionField.php | 12 ++++++------ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/administrator/components/com_content/Model/ArticleModel.php b/administrator/components/com_content/Model/ArticleModel.php index 7bf0a4bb3c06b..93f3a61661bdd 100644 --- a/administrator/components/com_content/Model/ArticleModel.php +++ b/administrator/components/com_content/Model/ArticleModel.php @@ -908,7 +908,7 @@ public function save($data) return false; } - $stateId = (int) $workflow->state_id; + $stageId = (int) $workflow->stage_id; $workflowId = (int) $workflow->id; // B/C state @@ -1218,7 +1218,7 @@ protected function getWorkflowByCategory($catId) ] ) ) - ->select($db->quoteName('ws.id', 'state_id')) + ->select($db->quoteName('ws.id', 'stage_id')) ->from($db->quoteName('#__workflow_stages', 'ws')) ->from($db->quoteName('#__workflows', 'w')) ->where($db->quoteName('ws.workflow_id') . ' = ' . $db->quoteName('w.id')) diff --git a/libraries/src/Form/Field/TransitionField.php b/libraries/src/Form/Field/TransitionField.php index c8796a84a0ebd..6a4023f2809a8 100644 --- a/libraries/src/Form/Field/TransitionField.php +++ b/libraries/src/Form/Field/TransitionField.php @@ -75,18 +75,18 @@ protected function getOptions() // Initialise variable. $db = Factory::getDbo(); $extension = $this->element['extension'] ? (string) $this->element['extension'] : (string) $jinput->get('extension', 'com_content'); - $workflowState = $this->element['workflow_state'] ? (int) $this->element['workflow_state'] : (int) $jinput->getInt('id', 0); + $workflowStage = $this->element['workflow_stage'] ? (int) $this->element['workflow_stage'] : (int) $jinput->getInt('id', 0); $query = $db->getQuery(true) ->select($db->quoteName(['t.id', 't.title', 's.condition'], ['value', 'text', 'condition'])) ->from($db->quoteName('#__workflow_transitions', 't')) ->from($db->quoteName('#__workflow_stages', 's')) ->from($db->quoteName('#__workflow_stages', 's2')) - ->where($db->quoteName('t.from_stage_id') . ' IN(-1, ' . (int) $workflowState . ')') + ->where($db->quoteName('t.from_stage_id') . ' IN(-1, ' . (int) $workflowStage . ')') ->where($db->quoteName('t.to_stage_id') . ' = ' . $db->quoteName('s.id')) - ->where($db->quoteName('t.to_stage_id') . ' != ' . (int) $workflowState) + ->where($db->quoteName('t.to_stage_id') . ' != ' . (int) $workflowStage) ->where($db->quoteName('s.workflow_id') . ' = ' . $db->quoteName('s2.workflow_id')) - ->where($db->quoteName('s2.id') . ' = ' . (int) $workflowState) + ->where($db->quoteName('s2.id') . ' = ' . (int) $workflowStage) ->where($db->quoteName('t.published') . '= 1') ->where($db->quoteName('s.published') . '= 1') ->order($db->quoteName('t.ordering')); @@ -120,12 +120,12 @@ function ($item) use ($user, $extension) } } - // Get state title + // Get workflow stage title $query ->clear() ->select($db->quoteName('title')) ->from($db->quoteName('#__workflow_stages')) - ->where($db->quoteName('id') . ' = ' . (int) $workflowState); + ->where($db->quoteName('id') . ' = ' . (int) $workflowStage); $workflowName = $db->setQuery($query)->loadResult(); From 8a838892c237195310c4960ce92e3b23992428a3 Mon Sep 17 00:00:00 2001 From: Christiane Maier-Stadtherr Date: Sun, 12 Aug 2018 22:53:51 +0200 Subject: [PATCH 10/16] fix stage_id --- administrator/components/com_content/Model/ArticleModel.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/administrator/components/com_content/Model/ArticleModel.php b/administrator/components/com_content/Model/ArticleModel.php index 93f3a61661bdd..e915706a2919a 100644 --- a/administrator/components/com_content/Model/ArticleModel.php +++ b/administrator/components/com_content/Model/ArticleModel.php @@ -919,7 +919,7 @@ public function save($data) } // If we have a new state, create the workflow association - if (!empty($stateId)) + if (!empty($stageId)) { $workflow->createAssociation($this->getState($this->getName() . '.id'), (int) $stateId); } From dd9fc635e8c3a888b6afe01647c8fc0af16cc048 Mon Sep 17 00:00:00 2001 From: Benjamin Trenkle Date: Mon, 13 Aug 2018 05:30:48 +0200 Subject: [PATCH 11/16] Fix two more state => stage --- .../components/com_workflow/View/Stages/HtmlView.php | 6 +++--- .../components/com_workflow/tmpl/stages/default.php | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/administrator/components/com_workflow/View/Stages/HtmlView.php b/administrator/components/com_workflow/View/Stages/HtmlView.php index aaaf3762be04f..c6d79fb5393ed 100644 --- a/administrator/components/com_workflow/View/Stages/HtmlView.php +++ b/administrator/components/com_workflow/View/Stages/HtmlView.php @@ -130,7 +130,7 @@ public function display($tpl = null) } $this->addToolbar(); - + return parent::display($tpl); } @@ -170,9 +170,9 @@ protected function addToolbar() { ToolbarHelper::deleteList(Text::_('COM_WORKFLOW_ARE_YOU_SURE'), 'stages.delete'); } - elseif ($canDo->get('core.edit.stage')) + elseif ($canDo->get('core.edit.state')) { - ToolbarHelper::trash('states.trash'); + ToolbarHelper::trash('stages.trash'); } ToolbarHelper::help('JHELP_WORKFLOW_STAGES_LIST'); diff --git a/administrator/components/com_workflow/tmpl/stages/default.php b/administrator/components/com_workflow/tmpl/stages/default.php index 16d0e344fb28c..3d2383c6ea29b 100644 --- a/administrator/components/com_workflow/tmpl/stages/default.php +++ b/administrator/components/com_workflow/tmpl/stages/default.php @@ -110,7 +110,7 @@
- published, $i, 'states.', $canChange); ?> + published, $i, 'stages.', $canChange); ?>
From d56a94f805d9bab0b134a7e98a07585b92878b79 Mon Sep 17 00:00:00 2001 From: Christiane Maier-Stadtherr Date: Mon, 13 Aug 2018 09:45:50 +0200 Subject: [PATCH 12/16] Fix error for createAssocciaton(..stageId), fix submenu --- administrator/components/com_content/Helper/ContentHelper.php | 2 +- administrator/components/com_content/Model/ArticleModel.php | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/administrator/components/com_content/Helper/ContentHelper.php b/administrator/components/com_content/Helper/ContentHelper.php index 6d128b64151bc..74d69f96d92df 100644 --- a/administrator/components/com_content/Helper/ContentHelper.php +++ b/administrator/components/com_content/Helper/ContentHelper.php @@ -63,7 +63,7 @@ public static function addSubmenu($vName) $vName == 'workflows' ); - if ($vName == 'states' || $vName == 'transitions') + if ($vName == 'stages' || $vName == 'transitions') { $app = Factory::getApplication(); $workflowID = $app->getUserStateFromRequest('filter.workflow_id', 'workflow_id', 1, 'int'); diff --git a/administrator/components/com_content/Model/ArticleModel.php b/administrator/components/com_content/Model/ArticleModel.php index e915706a2919a..bc2c5a72c248d 100644 --- a/administrator/components/com_content/Model/ArticleModel.php +++ b/administrator/components/com_content/Model/ArticleModel.php @@ -888,7 +888,7 @@ public function save($data) } // Let's check if we have workflow association (perhaps something went wrong before) - if (empty($stateId)) + if (empty($stageId)) { $assoc = $workflow->getAssociation($this->getState($this->getName() . '.id')); @@ -921,7 +921,7 @@ public function save($data) // If we have a new state, create the workflow association if (!empty($stageId)) { - $workflow->createAssociation($this->getState($this->getName() . '.id'), (int) $stateId); + $workflow->createAssociation($this->getState($this->getName() . '.id'), (int) $stageId); } return true; From 72972d3189aa5922e39dcd401bae7748fb27daae Mon Sep 17 00:00:00 2001 From: Christiane Maier-Stadtherr Date: Mon, 13 Aug 2018 12:00:41 +0200 Subject: [PATCH 13/16] Improve Code - rename Variables and fix comments --- .../components/com_content/Model/ArticlesModel.php | 10 +++++----- .../components/com_content/Model/FeaturedModel.php | 14 +++++++------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/administrator/components/com_content/Model/ArticlesModel.php b/administrator/components/com_content/Model/ArticlesModel.php index c6535fd6e2fa1..a74cb218e9755 100644 --- a/administrator/components/com_content/Model/ArticlesModel.php +++ b/administrator/components/com_content/Model/ArticlesModel.php @@ -228,7 +228,7 @@ protected function getListQuery() ->innerJoin($query->quoteName('#__workflow_associations', 'wa')) ->where($query->quoteName('wa.item_id') . ' = ' . $query->quoteName('a.id')); - // Join over the states. + // Join over the workflow stages. $query ->select( $query->quoteName( [ @@ -319,11 +319,11 @@ protected function getListQuery() } // Filter by published state - $workflowState = (string) $this->getState('filter.state'); + $workflowStage = (string) $this->getState('filter.state'); - if (is_numeric($workflowState)) + if (is_numeric($workflowStage)) { - $query->where('wa.stage_id = ' . (int) $workflowState); + $query->where('wa.stage_id = ' . (int) $workflowStage); } $condition = (string) $this->getState('filter.condition'); @@ -338,7 +338,7 @@ protected function getListQuery() $query->where($db->quoteName('ws.condition') . ' = ' . $query->quote($condition)); } } - elseif (!is_numeric($workflowState)) + elseif (!is_numeric($workflowStage)) { $query->where($db->quoteName('ws.condition') . ' IN (' . $query->quote(Workflow::PUBLISHED) . ',' . $query->quote(Workflow::UNPUBLISHED) . ')'); } diff --git a/administrator/components/com_content/Model/FeaturedModel.php b/administrator/components/com_content/Model/FeaturedModel.php index aac12130e2b89..5da420f0908f1 100644 --- a/administrator/components/com_content/Model/FeaturedModel.php +++ b/administrator/components/com_content/Model/FeaturedModel.php @@ -113,11 +113,11 @@ protected function getListQuery() $query->select('ua.name AS author_name') ->join('LEFT', '#__users AS ua ON ua.id = a.created_by'); - // Join over the states. + // Join over the workflow asociations. $query->select('wa.stage_id AS stage_id') ->join('LEFT', '#__workflow_associations AS wa ON wa.item_id = a.id'); - // Join over the states. + // Join over the workflow stages. $query ->select( $query->quoteName( [ @@ -156,12 +156,12 @@ protected function getListQuery() $query->where('c.access IN (' . $groups . ')'); } - // Filter by published state - $workflowState = (string) $this->getState('filter.state'); + // Filter by workflows stages + $workflowStage = (string) $this->getStage('filter.state'); - if (is_numeric($workflowState)) + if (is_numeric($workflowStage)) { - $query->where('wa.stage_id = ' . (int) $workflowState); + $query->where('wa.stage_id = ' . (int) $workflowStage); } $condition = (string) $this->getState('filter.condition'); @@ -170,7 +170,7 @@ protected function getListQuery() { $query->where($db->quoteName('ws.condition') . '=' . $db->quote($condition)); } - elseif (!is_numeric($workflowState)) + elseif (!is_numeric($workflowStage)) { $query->where($db->quoteName('ws.condition') . ' IN ("0","1")'); } From 48193808737fd539030e91bfdc609d0907e16f61 Mon Sep 17 00:00:00 2001 From: Christiane Maier-Stadtherr Date: Mon, 13 Aug 2018 13:38:24 +0200 Subject: [PATCH 14/16] fix getStage-getState --- administrator/components/com_content/Model/FeaturedModel.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/administrator/components/com_content/Model/FeaturedModel.php b/administrator/components/com_content/Model/FeaturedModel.php index 5da420f0908f1..c9943b968016b 100644 --- a/administrator/components/com_content/Model/FeaturedModel.php +++ b/administrator/components/com_content/Model/FeaturedModel.php @@ -157,7 +157,7 @@ protected function getListQuery() } // Filter by workflows stages - $workflowStage = (string) $this->getStage('filter.state'); + $workflowStage = (string) $this->getState('filter.state'); if (is_numeric($workflowStage)) { From 8d6116fbc8909630fe94a39ef89855270123dc81 Mon Sep 17 00:00:00 2001 From: Christiane Maier-Stadtherr Date: Mon, 13 Aug 2018 17:01:25 +0200 Subject: [PATCH 15/16] Fix vname in sidebar --- administrator/components/com_content/Helper/ContentHelper.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/administrator/components/com_content/Helper/ContentHelper.php b/administrator/components/com_content/Helper/ContentHelper.php index 216ebe1e85c32..7e8e6cf2db069 100644 --- a/administrator/components/com_content/Helper/ContentHelper.php +++ b/administrator/components/com_content/Helper/ContentHelper.php @@ -71,7 +71,7 @@ public static function addSubmenu($vName) \JHtmlSidebar::addEntry( Text::_('COM_WORKFLOW_STAGES'), 'index.php?option=com_workflow&view=stages&workflow_id=' . $workflowID . "&extension=com_content", - $vName == 'states`' + $vName == 'stages`' ); \JHtmlSidebar::addEntry( From 0383ef5085fa6c646b1392efbca8a88101b16454 Mon Sep 17 00:00:00 2001 From: Christiane Maier-Stadtherr Date: Mon, 13 Aug 2018 17:11:23 +0200 Subject: [PATCH 16/16] fix insert into workflow_associations --- .../components/com_admin/sql/updates/mysql/4.0.0-2018-05-15.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/administrator/components/com_admin/sql/updates/mysql/4.0.0-2018-05-15.sql b/administrator/components/com_admin/sql/updates/mysql/4.0.0-2018-05-15.sql index 290cd2ffc92b7..880052f1babf7 100644 --- a/administrator/components/com_admin/sql/updates/mysql/4.0.0-2018-05-15.sql +++ b/administrator/components/com_admin/sql/updates/mysql/4.0.0-2018-05-15.sql @@ -120,5 +120,5 @@ INSERT INTO `#__extensions` (`extension_id`, `package_id`, `name`, `type`, `elem -- -- Creating Associations for existing content -- -INSERT INTO `#__workflow_associations` (`item_id`, `state_id`, `extension`) +INSERT INTO `#__workflow_associations` (`item_id`, `stage_id`, `extension`) SELECT `id`, CASE WHEN `state` = -2 THEN 3 WHEN `state` = 0 THEN 1 WHEN `state` = 2 THEN 4 ELSE 2 END, 'com_content' FROM `#__content`;