diff --git a/composer.json b/composer.json index 1b826a2..17e726e 100644 --- a/composer.json +++ b/composer.json @@ -25,7 +25,7 @@ "league/openapi-psr7-validator": "^0.17", "phpunit/phpunit": "^8.5", "psy/psysh": "@stable", - "wiremock-php/wiremock-php": "^2.32" + "wiremock-php/wiremock-php": "^2.33" }, "suggest": { "markstory/asset_compress": "An asset compression plugin which provides file concatenation and a flexible filter system for preprocessing and minification.", diff --git a/config/bootstrap.php b/config/bootstrap.php index fcf5507..9b8dd98 100644 --- a/config/bootstrap.php +++ b/config/bootstrap.php @@ -37,6 +37,7 @@ use Cake\Core\Configure\Engine\PhpConfig; use Cake\Datasource\ConnectionManager; use Cake\Error\ConsoleErrorHandler; use Cake\Error\ErrorHandler; +use Cake\Filesystem\File; use Cake\Http\ServerRequest; use Cake\Log\Log; use Cake\Mailer\Mailer; @@ -88,10 +89,13 @@ try { if (file_exists(CONFIG . 'app_local.php')) { Configure::load('app_local', 'default'); //Configure::load('cerebrate', 'default', true); - $settings = file_get_contents(CONFIG . 'config.json'); - $settings = json_decode($settings, true); - foreach ($settings as $path => $setting) { - Configure::write($path, $setting); + $settingsFile = new File(CONFIG . 'config.json'); + if ($settingsFile->exists()) { + $settings = file_get_contents(CONFIG . 'config.json'); + $settings = json_decode($settings, true); + foreach ($settings as $path => $setting) { + Configure::write($path, $setting); + } } } diff --git a/src/Controller/Component/CRUDComponent.php b/src/Controller/Component/CRUDComponent.php index a09040c..5de6000 100644 --- a/src/Controller/Component/CRUDComponent.php +++ b/src/Controller/Component/CRUDComponent.php @@ -1480,6 +1480,7 @@ class CRUDComponent extends Component } return $query->select([$field]) ->distinct() + ->all() ->extract($fieldToExtract) ->toList(); } diff --git a/src/Controller/LocalToolsController.php b/src/Controller/LocalToolsController.php index baf8995..be7a4c2 100644 --- a/src/Controller/LocalToolsController.php +++ b/src/Controller/LocalToolsController.php @@ -6,6 +6,8 @@ use App\Controller\AppController; use Cake\Utility\Hash; use Cake\Utility\Text; use \Cake\Database\Expression\QueryExpression; +use Cake\Http\Exception\NotFoundException; +use Cake\Http\Exception\MethodNotAllowedException; class LocalToolsController extends AppController { @@ -110,6 +112,9 @@ class LocalToolsController extends AppController $actionDetails = $this->LocalTools->getActionDetails($actionName); $params['connection'] = $connection; $results = $this->LocalTools->action($this->ACL->getUser()['id'], $connection->connector, $actionName, $params, $this->request); + if (empty($results)) { + throw new MethodNotAllowedException(__('Could not execute the requested action.')); + } if (!empty($results['redirect'])) { $this->redirect($results['redirect']); } diff --git a/src/VERSION.json b/src/VERSION.json index 0bf0283..1bdd088 100644 --- a/src/VERSION.json +++ b/src/VERSION.json @@ -1,4 +1,4 @@ { - "version": "1.4", + "version": "1.6", "application": "Cerebrate" } diff --git a/src/View/Helper/BootstrapHelper.php b/src/View/Helper/BootstrapHelper.php index 3ff283a..f2c1f96 100644 --- a/src/View/Helper/BootstrapHelper.php +++ b/src/View/Helper/BootstrapHelper.php @@ -209,7 +209,7 @@ class BootstrapGeneric { $html = ''; foreach ($params as $k => $v) { - if (!empty($k) && !empty($v)) { + if (!empty($k) && (isset($v) && $v !== '')) { $html .= BootstrapGeneric::genHTMLParam($k, $v) . ' '; } } diff --git a/templates/element/genericElements/SingleViews/child.php b/templates/element/genericElements/SingleViews/child.php index dfac81c..ca982e3 100644 --- a/templates/element/genericElements/SingleViews/child.php +++ b/templates/element/genericElements/SingleViews/child.php @@ -39,24 +39,22 @@ var url = $('#view-child-body-').data('content-url'); var loadon = $('#view-child-body-').data('load-on'); if (loadon === 'ready') { - $.ajax({ - success:function (data, textStatus) { - $('#view-child-body-').html(data); - }, - type: "get", - cache: false, - url: url, - }); + AJAXApi.quickFetchURL(url, {}) + .then((html) => { + $('#view-child-body-').html(html); + }) + .catch((err) => { + $('#view-child-body-').text(err.message); + }) } else { $('#view-child-').on('hidden.bs.collapse', function () { - $.ajax({ - success:function (data, textStatus) { - $('#view-child-body-').html(data); - }, - type: "get", - cache: false, - url: url, - }); + AJAXApi.quickFetchURL(url, {}) + .then((html) => { + $('#view-child-body-').html(html); + }) + .catch((err) => { + $('#view-child-body-').text(err.message); + }) }) } }); diff --git a/tests/Helper/WireMockTestTrait.php b/tests/Helper/WireMockTestTrait.php index 7d47b49..41aea61 100644 --- a/tests/Helper/WireMockTestTrait.php +++ b/tests/Helper/WireMockTestTrait.php @@ -76,7 +76,7 @@ trait WireMockTestTrait $headers = $stub->getRequest()->getHeaders(); if (is_array($headers)) { foreach ($headers as $header => $rule) { - $validator = $validator->withHeader($header, ValueMatchingStrategy::fromArray($rule)); + $validator = $validator->withHeader($header, $rule); } }