FIX: fix bug related to settings cache

This commit is contained in:
Michal Kváček
2017-08-02 18:35:48 +02:00
parent 3a1e4b9c5b
commit 25d9ded124
6 changed files with 17 additions and 4 deletions
+1 -1
View File
@@ -79,7 +79,7 @@ class Settings
{
if (!self::$initialized) {
self::$settings = Cache::remember('settings', config('cache.settingCacheLifetime'), function () {
app(SettingsRepository::class)->getAll();
return app(SettingsRepository::class)->getAll();
});
}
}
+6 -2
View File
@@ -1,9 +1,11 @@
<?php
namespace App\CMS\Repositories;
use App\CMS\Contracts\Repositories\Module as IModule;
use App\Models\Content\Content;
use App\Models\Module as ModuleModel;
use Illuminate\Support\Facades\Cache;
class Module extends Repository implements IModule
{
@@ -52,8 +54,10 @@ class Module extends Repository implements IModule
public function all()
{
return ModuleModel::where('enabled', true)
->get();
return Cache::rememberForever('enabled-modules-and-template', function () {
return ModuleModel::where('enabled', true)
->get();
});
}
public function getByHandler($handler)
@@ -3,6 +3,7 @@
namespace App\CMS\Repositories\Settings;
use App\Models\Settings as SettingsModel;
use Illuminate\Support\Facades\Cache;
use Mcamara\LaravelLocalization\Facades\LaravelLocalization;
class Settings
@@ -104,5 +105,7 @@ class Settings
$setting->value = $value;
empty($value) ? $setting->delete() : $setting->save();
}
Cache::forget('settings');
}
}
@@ -39,6 +39,9 @@ class DisableModule extends Command
$module->enabled = false;
$module->save();
\Cache::forget('enabled-modules');
\Cache::forget('enabled-modules-and-template');
$this->line('Module ' . $module->static_name . ' disabled.');
}
}
@@ -43,6 +43,9 @@ class EnableModule extends Command
$module->enabled = true;
$module->save();
\Cache::forget('enabled-modules');
\Cache::forget('enabled-modules-and-template');
$this->line('Module ' . $module->static_name . ' enabled.');
}
}
+1 -1
View File
@@ -15,7 +15,7 @@ class Module extends Model
'parent_id',
'name',
'description',
'static_name', // @todo instalace potrebuje naplnit tento sloupec!
'static_name',
'alias',
'module_settings',
'enabled',