diff --git a/administrator/components/com_workflow/View/Workflows/HtmlView.php b/administrator/components/com_workflow/View/Workflows/HtmlView.php index 669d93d965991..5a96a9a38e743 100644 --- a/administrator/components/com_workflow/View/Workflows/HtmlView.php +++ b/administrator/components/com_workflow/View/Workflows/HtmlView.php @@ -13,6 +13,7 @@ use Joomla\CMS\Helper\ContentHelper; use Joomla\CMS\Language\Text; use Joomla\CMS\MVC\View\HtmlView as BaseHtmlView; +use Joomla\CMS\Toolbar\Toolbar; use Joomla\CMS\Toolbar\ToolbarHelper; use Joomla\Component\Workflow\Administrator\Helper\WorkflowHelper; @@ -123,40 +124,57 @@ protected function addToolbar() { $canDo = ContentHelper::getActions($this->extension); + // Get the toolbar object instance + $toolbar = Toolbar::getInstance('toolbar'); + ToolbarHelper::title(Text::_('COM_WORKFLOW_WORKFLOWS_LIST'), 'address contact'); if ($canDo->get('core.create')) { - ToolbarHelper::addNew('workflow.add'); + $toolbar->addNew('workflow.add'); } - if ($canDo->get('core.edit.state')) - { - ToolbarHelper::publishList('workflows.publish'); - ToolbarHelper::unpublishList('workflows.unpublish'); - ToolbarHelper::makeDefault('workflows.setDefault', 'COM_WORKFLOW_TOOLBAR_DEFAULT'); - } - - if ($canDo->get('core.admin')) - { - ToolbarHelper::checkin('workflows.checkin', 'JTOOLBAR_CHECKIN', true); + if ($canDo->get('core.edit.state') || $user->authorise('core.admin')) + { + $dropdown = $toolbar->dropdownButton('status-group') + ->text('JTOOLBAR_CHANGE_STATUS') + ->toggleSplit(false) + ->icon('fa fa-globe') + ->buttonClass('btn btn-info') + ->listCheck(true); + + $childBar = $dropdown->getChildToolbar(); + + $childBar->publish('workflows.publish'); + $childBar->unpublish('workflows.unpublish'); + $childBar->makeDefault('workflows.setDefault', 'COM_WORKFLOW_TOOLBAR_DEFAULT'); + + if ($canDo->get('core.admin')) + { + // @Todo implement the checked_out/checkin feature + // $childBar->checkin('workflows.checkin'); + } + + if ($canDo->get('core.edit.state') && $this->state->get('filter.published') != -2) + { + $childBar->trash('workflows.trash'); + } } if ($this->state->get('filter.published') === '-2' && $canDo->get('core.delete')) { - ToolbarHelper::deleteList(Text::_('COM_WORKFLOW_ARE_YOU_SURE'), 'workflows.delete'); - } - elseif ($canDo->get('core.edit.state')) - { - ToolbarHelper::trash('workflows.trash'); + $toolbar->delete('workflows.delete') + ->text('JTOOLBAR_EMPTY_TRASH') + ->message('JGLOBAL_CONFIRM_DELETE') + ->listCheck(true); } if ($canDo->get('core.admin') || $canDo->get('core.options')) { - ToolbarHelper::preferences($this->extension); + $toolbar->preferences($this->extension); } - ToolbarHelper::help('JHELP_WORKFLOWS_LIST'); + $toolbar->help('JHELP_WORKFLOWS_LIST'); } /**