From f46e5090ae9441739b22b090571d5312895ed18d Mon Sep 17 00:00:00 2001 From: Kevin Susanto Date: Tue, 4 Sep 2018 16:11:51 +0800 Subject: [PATCH] Fix SettingsController saving boolean value as 'on' --- app/Http/Controllers/Admin/SettingsController.php | 4 ++++ app/Repositories/SettingRepository.php | 2 +- app/Services/UserService.php | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/app/Http/Controllers/Admin/SettingsController.php b/app/Http/Controllers/Admin/SettingsController.php index 3a560598..ecef6bb6 100644 --- a/app/Http/Controllers/Admin/SettingsController.php +++ b/app/Http/Controllers/Admin/SettingsController.php @@ -40,6 +40,10 @@ class SettingsController extends Controller continue; } + if ($setting->type == 'bool' || $setting->type == 'boolean') { + $value = get_truth_state($value); + } + Log::info('Updating "'.$setting->id.'" from "'.$setting->value.'" to "'.$value.'"'); $setting->value = $value; $setting->save(); diff --git a/app/Repositories/SettingRepository.php b/app/Repositories/SettingRepository.php index 2607e362..960cc952 100644 --- a/app/Repositories/SettingRepository.php +++ b/app/Repositories/SettingRepository.php @@ -51,7 +51,7 @@ class SettingRepository extends Repository implements CacheableInterface case 'bool': case 'boolean': $value = $setting->value; - return $value === 'true' || $value === '1' || $value === 1 || $value === 'on'; + return $value === 'true' || $value === '1' || $value === 1; case 'date': return Carbon::parse($setting->value); case 'int': diff --git a/app/Services/UserService.php b/app/Services/UserService.php index a60b0f0d..f69b65c9 100644 --- a/app/Services/UserService.php +++ b/app/Services/UserService.php @@ -54,7 +54,7 @@ class UserService extends Service public function createPilot(User $user, array $groups = null) { // Determine if we want to auto accept - if (get_truth_state(setting('pilots.auto_accept', false)) === true) { + if (setting('pilots.auto_accept') === true) { $user->state = UserState::ACTIVE; } else { $user->state = UserState::PENDING;