From 97ccafa06ac24ba9f70a88d4d0d472a645cbd5d6 Mon Sep 17 00:00:00 2001 From: William Desportes Date: Wed, 20 Nov 2019 12:28:06 +0100 Subject: [PATCH] Add a message for misconfigured designer (displaywork) - When adding a column as display column in designer Signed-off-by: William Desportes --- db_designer.php | 12 +++++++++--- libraries/classes/Database/Designer/Common.php | 17 +++++++++++++---- 2 files changed, 22 insertions(+), 7 deletions(-) diff --git a/db_designer.php b/db_designer.php index e26f4b47a5..cc01309dcb 100644 --- a/db_designer.php +++ b/db_designer.php @@ -64,10 +64,16 @@ if (isset($_POST['operation'])) { $success = $designerCommon->saveTablePositions($page); $response->setRequestStatus($success); } elseif ($_POST['operation'] == 'setDisplayField') { - $designerCommon->saveDisplayField( - $_POST['db'], $_POST['table'], $_POST['field'] + [ + $success, + $message, + ] = $designerCommon->saveDisplayField( + $_POST['db'], + $_POST['table'], + $_POST['field'] ); - $response->setRequestStatus(true); + $response->setRequestStatus($success); + $response->addJSON('message', $message); } elseif ($_POST['operation'] == 'addNewRelation') { list($success, $message) = $designerCommon->addNewRelation( $_POST['db'], diff --git a/libraries/classes/Database/Designer/Common.php b/libraries/classes/Database/Designer/Common.php index 47b558bc64..2099cb9bd2 100644 --- a/libraries/classes/Database/Designer/Common.php +++ b/libraries/classes/Database/Designer/Common.php @@ -505,19 +505,28 @@ class Common * @param string $table table name * @param string $field display field name * - * @return boolean + * @return array */ public function saveDisplayField($db, $table, $field) { $cfgRelation = $this->relation->getRelationsParam(); - if (!$cfgRelation['displaywork']) { - return false; + if (! $cfgRelation['displaywork']) { + return [ + false, + _pgettext( + 'phpMyAdmin configuration storage is not configured for "Display Features" on designer when user tries to set a display field.', + 'phpMyAdmin configuration storage is not configured for "Display Features".' + ), + ]; } $upd_query = new Table($table, $db, $GLOBALS['dbi']); $upd_query->updateDisplayField($field, $cfgRelation); - return true; + return [ + true, + null, + ]; } /** -- 2.11.4.GIT