diff options
author | MaurĂcio Meneghini Fauth <mauricio@fauth.dev> | 2022-06-10 04:48:23 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-06-10 04:48:23 +0300 |
commit | 2e52f362e8bc172e4eccba6115fdb6dee846a903 (patch) | |
tree | dfb86e6f545e44f4226e60b3d1f38068708988b7 | |
parent | d7304c19966d45c810aa4a079c96182796ee8e9d (diff) | |
parent | 8ddfd4893ffd0730fa3cdadf451045b6871c4d85 (diff) |
Merge pull request #17566 from liviuconcioiu/proc
Fix #17271 - database names dissapearing from Processes tab
-rw-r--r-- | libraries/classes/Server/Status/Processes.php | 39 | ||||
-rw-r--r-- | templates/server/status/processes/list.twig | 26 | ||||
-rw-r--r-- | test/classes/Controllers/Server/Status/ProcessesControllerTest.php | 2 |
3 files changed, 43 insertions, 24 deletions
diff --git a/libraries/classes/Server/Status/Processes.php b/libraries/classes/Server/Status/Processes.php index 3ac414d8d1..7af9f34f39 100644 --- a/libraries/classes/Server/Status/Processes.php +++ b/libraries/classes/Server/Status/Processes.php @@ -70,26 +70,21 @@ final class Processes while ($process = $result->fetchAssoc()) { // Array keys need to modify due to the way it has used // to display column values - if ( - (! empty($params['order_by_field']) && ! empty($params['sort_order'])) - || ! empty($params['showExecuting']) - ) { - foreach (array_keys($process) as $key) { - $newKey = ucfirst(mb_strtolower($key)); - if ($newKey === $key) { - continue; - } - - $process[$newKey] = $process[$key]; - unset($process[$key]); + foreach (array_keys($process) as $key) { + $newKey = ucfirst(mb_strtolower($key)); + if ($newKey === $key) { + continue; } + + $process[$newKey] = $process[$key]; + unset($process[$key]); } $rows[] = [ 'id' => $process['Id'], 'user' => $process['User'], 'host' => $process['Host'], - 'db' => ! isset($process['db']) || strlen($process['db']) === 0 ? '' : $process['db'], + 'db' => ! isset($process['Db']) || strlen($process['Db']) === 0 ? '' : $process['Db'], 'command' => $process['Command'], 'time' => $process['Time'], 'state' => ! empty($process['State']) ? $process['State'] : '---', @@ -124,7 +119,7 @@ final class Processes ], [ 'column_name' => __('Database'), - 'order_by_field' => 'db', + 'order_by_field' => 'Db', ], [ 'column_name' => __('Command'), @@ -138,14 +133,18 @@ final class Processes 'column_name' => __('Status'), 'order_by_field' => 'State', ], - [ + ]; + + if ($this->dbi->isMariaDB()) { + $sortableColumns[] = [ 'column_name' => __('Progress'), 'order_by_field' => 'Progress', - ], - [ - 'column_name' => __('SQL query'), - 'order_by_field' => 'Info', - ], + ]; + } + + $sortableColumns[] = [ + 'column_name' => __('SQL query'), + 'order_by_field' => 'Info', ]; $sortableColCount = count($sortableColumns); diff --git a/templates/server/status/processes/list.twig b/templates/server/status/processes/list.twig index 4492f3b1a5..44ed19769a 100644 --- a/templates/server/status/processes/list.twig +++ b/templates/server/status/processes/list.twig @@ -45,11 +45,29 @@ </a> </td> <td class="font-monospace text-end">{{ row.id }}</td> - <td>{{ row.user }}</td> + <td> + {% if row.user != 'system user' %} + <a href="{{ url('/server/privileges', { + 'username': row.user, + 'hostname': row.host, + 'dbname': row.db, + 'tablename': '', + 'routinename': '', + }) }}"> + {{ row.user }} + </a> + {% else %} + {{ row.user }} + {% endif %} + </td> <td>{{ row.host }}</td> <td> {% if row.db != '' %} - {{ row.db }} + <a href="{{ url('/database/structure', { + 'db': row.db, + }) }}"> + {{ row.db }} + </a> {% else %} <em>{% trans 'None' %}</em> {% endif %} @@ -57,7 +75,9 @@ <td>{{ row.command }}</td> <td class="font-monospace text-end">{{ row.time }}</td> <td>{{ row.state }}</td> - <td>{{ row.progress }}</td> + {% if is_mariadb %} + <td>{{ row.progress }}</td> + {% endif %} <td>{{ row.info|raw }}</td> {% endfor %} </tbody> diff --git a/test/classes/Controllers/Server/Status/ProcessesControllerTest.php b/test/classes/Controllers/Server/Status/ProcessesControllerTest.php index 324d9cc64e..2102ba3bce 100644 --- a/test/classes/Controllers/Server/Status/ProcessesControllerTest.php +++ b/test/classes/Controllers/Server/Status/ProcessesControllerTest.php @@ -77,7 +77,7 @@ class ProcessesControllerTest extends AbstractTestCase $_POST['full'] = '1'; $_POST['column_name'] = 'Database'; - $_POST['order_by_field'] = 'db'; + $_POST['order_by_field'] = 'Db'; $_POST['sort_order'] = 'ASC'; $this->dummyDbi->addSelectDb('mysql'); |