From efd2465b8bb2ae48996e8abe5f7d8c7e5e09a17d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20Kv=C3=A1=C4=8Dek?= Date: Fri, 1 Apr 2016 17:00:55 +0200 Subject: [PATCH] FIX: fix saving settings Until now, only existing settings could be saved. No new records, only updates. --- app/Http/Controllers/Admin/Settings.php | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/app/Http/Controllers/Admin/Settings.php b/app/Http/Controllers/Admin/Settings.php index 91033c9e..cb935bd1 100644 --- a/app/Http/Controllers/Admin/Settings.php +++ b/app/Http/Controllers/Admin/Settings.php @@ -43,18 +43,27 @@ class Settings extends Controller $settings = $this->settings->getAll(); $updated = 0; - foreach($data as $key => $value) { - if ($settings->$key != $value) { - $updated ++; - \App\Models\Settings::where('key', $key)->update(['value' => $value]); + foreach ($data as $key => $value) { + if (isset($settings->$key)) { + if ($settings->$key != $value) { + $updated++; + \App\Models\Settings::where('key', $key) + ->update(['value' => $value]); + } + } else { + \App\Models\Settings::create(['key' => $key, 'value' => $value]); + $updated++; } } if ($updated > 0) { - return redirect()->route('settings.overview')->with('success', trans('admin/settings.successfullySaved')); + return redirect() + ->route('settings.overview') + ->with('success', trans('admin/settings.successfullySaved')); } else { - return redirect()->route('settings.overview')->with('error', trans('admin/settings.nothingToSave')); + return redirect() + ->route('settings.overview') + ->with('error', trans('admin/settings.nothingToSave')); } - } }