From 9e3f07742b909f2d36ea3c39d1bb8eeed0679650 Mon Sep 17 00:00:00 2001 From: James Brooks Date: Wed, 25 May 2016 20:00:33 +0100 Subject: [PATCH 1/2] Fix clearing of configs when seeding --- app/Console/Commands/DemoSeederCommand.php | 27 +++++++++++++++++++--- app/Settings/Repository.php | 12 ++++++++++ 2 files changed, 36 insertions(+), 3 deletions(-) diff --git a/app/Console/Commands/DemoSeederCommand.php b/app/Console/Commands/DemoSeederCommand.php index fd89c5c7..2ff20380 100644 --- a/app/Console/Commands/DemoSeederCommand.php +++ b/app/Console/Commands/DemoSeederCommand.php @@ -17,9 +17,9 @@ use CachetHQ\Cachet\Models\Incident; use CachetHQ\Cachet\Models\IncidentTemplate; use CachetHQ\Cachet\Models\Metric; use CachetHQ\Cachet\Models\MetricPoint; -use CachetHQ\Cachet\Models\Setting; use CachetHQ\Cachet\Models\Subscriber; use CachetHQ\Cachet\Models\User; +use CachetHQ\Cachet\Settings\Repository; use DateInterval; use DateTime; use Illuminate\Console\Command; @@ -49,6 +49,27 @@ class DemoSeederCommand extends Command */ protected $description = 'Seeds Cachet with demo data.'; + /** + * The settings repository. + * + * @var \CachetHQ\Cache\Settings\Repository + */ + protected $settings; + + /** + * Create a new demo seeder command instance. + * + * @param \CachetHQ\Cache\Settings\Repository $settings + * + * @return void + */ + public function __construct(Repository $settings) + { + parent::__construct(); + + $this->settings = $settings; + } + /** * Execute the console command. * @@ -325,10 +346,10 @@ EINCIDENT; ], ]; - Setting::truncate(); + $this->settings->truncate(); foreach ($defaultSettings as $setting) { - Setting::create($setting); + $this->settings->set($setting['name'], $setting['value']); } } diff --git a/app/Settings/Repository.php b/app/Settings/Repository.php index fb9a9a33..f925f2b7 100644 --- a/app/Settings/Repository.php +++ b/app/Settings/Repository.php @@ -90,6 +90,18 @@ class Repository $this->model->where('name', $name)->delete(); } + /** + * Truncate all settings. + * + * @return void + */ + public function truncate() + { + $this->stale = true; + + $this->model->query()->delete(); + } + /** * Is the config state stale? * From ac65cc56bb3147f64b3cd56b50b25d6647b30dd8 Mon Sep 17 00:00:00 2001 From: Graham Campbell Date: Wed, 25 May 2016 20:26:58 +0100 Subject: [PATCH 2/2] I prefer clear --- app/Console/Commands/DemoSeederCommand.php | 2 +- app/Settings/Repository.php | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/app/Console/Commands/DemoSeederCommand.php b/app/Console/Commands/DemoSeederCommand.php index 2ff20380..0f20c4dc 100644 --- a/app/Console/Commands/DemoSeederCommand.php +++ b/app/Console/Commands/DemoSeederCommand.php @@ -346,7 +346,7 @@ EINCIDENT; ], ]; - $this->settings->truncate(); + $this->settings->clear(); foreach ($defaultSettings as $setting) { $this->settings->set($setting['name'], $setting['value']); diff --git a/app/Settings/Repository.php b/app/Settings/Repository.php index f925f2b7..edd5103e 100644 --- a/app/Settings/Repository.php +++ b/app/Settings/Repository.php @@ -91,11 +91,11 @@ class Repository } /** - * Truncate all settings. + * Clear all settings. * * @return void */ - public function truncate() + public function clear() { $this->stale = true;