FEATURE: refactorize code little bit more

This commit is contained in:
Michal Kváček
2017-08-04 18:43:18 +02:00
parent 25d9ded124
commit c2209538db
5 changed files with 28 additions and 19 deletions
+9
View File
@@ -60,6 +60,15 @@ class Module extends Repository implements IModule
});
}
public function getOnlyModules()
{
return Cache::rememberForever('enabled-modules', function () {
return ModuleModel::where('enabled', true)
->where('is_template', false)
->get();
});
}
public function getByHandler($handler)
{
return ModuleModel::where('handler', $handler)
+7 -3
View File
@@ -1,10 +1,12 @@
<?php
namespace App\Cms\Repositories\Templates;
use App\CMS\Contracts\Repositories\Template as ITemplate;
use App\CMS\Repositories\Repository;
use App\Models\Module;
use App\Models\Templates\Template as TemplateModel;
use Illuminate\Support\Facades\Cache;
class Template extends Repository implements ITemplate
{
@@ -68,8 +70,10 @@ class Template extends Repository implements ITemplate
public function getForModule(Module $module)
{
return TemplateModel::where('module_id', $module->id)
->select(['template_name', 'name', 'description'])
->get();
return Cache::rememberForever('templates-for-module', function () use ($module) {
return TemplateModel::where('module_id', $module->id)
->select(['template_name', 'name', 'description'])
->get();
});
}
}
+4 -4
View File
@@ -3,7 +3,7 @@
namespace App\Http\Middleware;
use App\CMS\Handlers\Handler;
use App\Models\Module;
use App\CMS\Repositories\Module as ModuleRepository;
use Closure;
use Illuminate\Support\Facades\Log;
@@ -28,13 +28,13 @@ class AdminMenuRegistrator
$user = \Auth::user();
Handler::registerAdminMenu($user);
$modules = Module::where('enabled', true)
->get();
$modules = app(ModuleRepository::class)->all();
// iterate over all enabled modules
foreach ($modules as $key => $module) {
if (!is_callable([$module->handler, 'registerAdminMenu']))
if (!is_callable([$module->handler, 'registerAdminMenu'])) {
continue;
}
// try to register menus
try {
@@ -2,6 +2,7 @@
namespace App\ModuleManager\Providers;
use App\CMS\Repositories\Module as ModuleRepository;
use App\Models\Module;
use Illuminate\Support\Facades\Cache;
use Illuminate\Support\ServiceProvider;
@@ -15,11 +16,7 @@ class ModuleManager extends ServiceProvider
public function boot()
{
// this service provider needs published config - config is merged right after this service provider
$modules = Cache::rememberForever('enabled-modules', function () {
return Module::where('enabled', true)
->where('is_template', false)
->get();
});
$modules = app(ModuleRepository::class)->getOnlyModules();
// iterate over all modules and enable or disable them
foreach ($modules as $module) {
+6 -7
View File
@@ -5,7 +5,7 @@ namespace App\Providers;
use App\CMS\Contracts\Repositories\Template as TemplateContract;
use App\CMS\Handlers\Registrators\TemplateRegistrator;
use App\CMS\Helpers\CurrentTemplate;
use App\Models\Module;
use App\CMS\Repositories\Module;
use Illuminate\Support\Facades\App;
use Illuminate\Support\ServiceProvider;
@@ -45,10 +45,10 @@ class TemplateServiceProvider extends ServiceProvider
public function registerTemplatePaths($publicTemplates)
{
$modules = Module::where('enabled', true)
->get()
->pluck('id', 'alias')
->toArray();
$modules = app(Module::class)
->all()
->pluck('id', 'alias')
->toArray();
/**
* @var $registrator TemplateRegistrator
@@ -77,7 +77,6 @@ class TemplateServiceProvider extends ServiceProvider
/**
* Register the service provider.
*
* @return void
*/
public function register()
@@ -94,7 +93,7 @@ class TemplateServiceProvider extends ServiceProvider
return;
}
$templateDir = base_path('templates/' . $template->static_name. '/Resources');
$templateDir = base_path('templates/' . $template->static_name . '/Resources');
$assetsDir = $templateDir . '/' . TemplateContract::ASSETS_DIRECTORY;
$viewsDir = $templateDir . '/views';