From ea14888f38aa5e86a4186a3b90f7da2521437c12 Mon Sep 17 00:00:00 2001 From: Henry Whitaker Date: Tue, 7 Jul 2020 21:51:53 +0100 Subject: [PATCH] Change dhow editable settings are defined --- app/Helpers/SettingsHelper.php | 16 +++++++++++++--- app/Http/Controllers/SettingsController.php | 2 +- app/Setting.php | 7 ------- resources/js/components/Home/SettingWithModal.js | 12 +++++++----- 4 files changed, 21 insertions(+), 16 deletions(-) diff --git a/app/Helpers/SettingsHelper.php b/app/Helpers/SettingsHelper.php index 67803b53..21ac7426 100644 --- a/app/Helpers/SettingsHelper.php +++ b/app/Helpers/SettingsHelper.php @@ -85,21 +85,31 @@ class SettingsHelper { */ public static function settingIsEditable(string $key) { + $results = []; + // Try exact key $val = exec('echo $' . $key); if($val == "") { - return true; + array_push($results, false); + } else { + array_push($results, false); } // Try key all caps $val = exec('echo $' . strtoupper($key)); if($val == "") { - return true; + array_push($results, true); + } else { + array_push($results, false); } - return false; + if(in_array(false, $results)) { + return false; + } + + return true; } /** diff --git a/app/Http/Controllers/SettingsController.php b/app/Http/Controllers/SettingsController.php index 7ac38c97..c8aba754 100644 --- a/app/Http/Controllers/SettingsController.php +++ b/app/Http/Controllers/SettingsController.php @@ -106,7 +106,7 @@ class SettingsController extends Controller if($setting == false) { $setting = SettingsHelper::set($d['name'], $d['value']); - } else if($setting->editable == true) { + } else if(SettingsHelper::settingIsEditable($setting->name)) { $setting = SettingsHelper::set($d['name'], $d['value']); } else { continue; diff --git a/app/Setting.php b/app/Setting.php index d3ceb8db..78c78765 100644 --- a/app/Setting.php +++ b/app/Setting.php @@ -17,11 +17,4 @@ class Setting extends Model ]; protected $table = 'settings'; - - protected $attributes = [ 'editable' ]; - - public function getEditableAttribute() - { - return SettingsHelper::settingIsEditable($this->name); - } } diff --git a/resources/js/components/Home/SettingWithModal.js b/resources/js/components/Home/SettingWithModal.js index 891cda6c..c9b6d806 100644 --- a/resources/js/components/Home/SettingWithModal.js +++ b/resources/js/components/Home/SettingWithModal.js @@ -27,11 +27,13 @@ export default class SettingWithModal extends Component { var settings = this.state.settings; settings.forEach(e => { - var res = { - name: e.obj.name, - value: e.obj.value - }; - data.push(res); + if(e.type !== 'button-get') { + var res = { + name: e.obj.name, + value: e.obj.value + }; + data.push(res); + } }); data = {