diff --git a/app/src/Lib/Traits/SearchFilterTrait.php b/app/src/Lib/Traits/SearchFilterTrait.php index 6a13472f9..dd05c5fe3 100644 --- a/app/src/Lib/Traits/SearchFilterTrait.php +++ b/app/src/Lib/Traits/SearchFilterTrait.php @@ -29,6 +29,8 @@ namespace App\Lib\Traits; +use Cake\Utility\Inflector; + trait SearchFilterTrait { // Array (and configuration) of permitted search filters private $searchFilters = array(); @@ -54,9 +56,9 @@ public function getLabel(string $attribute): string { if($l != $attribute) { return $l; } - - // If we make it here, just return $attribute - return $attribute; + + // If we make it here, just return a pretty version of the $attribute name + return Inflector::humanize($attribute); } /** diff --git a/app/src/View/Helper/MenuHelper.php b/app/src/View/Helper/MenuHelper.php index 3ac9dd8b6..0752e1052 100644 --- a/app/src/View/Helper/MenuHelper.php +++ b/app/src/View/Helper/MenuHelper.php @@ -80,7 +80,8 @@ public function getMenuIcon($action) { 'Delete' => 'delete' ); - return $icon[$action]; + // For the actions with Default order we can pass directly the name of the icon + return $icon[$action] ?? $action; } } \ No newline at end of file diff --git a/app/templates/Standard/index.php b/app/templates/Standard/index.php index 9a10ee5ca..d602c32e1 100644 --- a/app/templates/Standard/index.php +++ b/app/templates/Standard/index.php @@ -91,38 +91,52 @@ function _column_key($modelsName, $c, $tz=null) {

- - - + + $action_args['vv_actions'][] = [ + 'order' => $this->Menu->getMenuOrder($t['order']), + 'icon' => $this->Menu->getMenuIcon($t['icon']), + 'url' => $this->Url->build($t['link']), + 'label' => $t['label'], + ]; + } + } + } + + if(!empty($action_args['vv_actions'])) { + print ''; + } + ?> diff --git a/app/webroot/css/co-base.css b/app/webroot/css/co-base.css index 1d58a8619..6907b9e00 100644 --- a/app/webroot/css/co-base.css +++ b/app/webroot/css/co-base.css @@ -491,6 +491,7 @@ instead, reveal in user menu */ display: flex; justify-content: space-between; margin: 1em 0 0.5em; + align-items: baseline; } .pageTitle { padding-bottom: 0.25em;