FEATURE: refactorize code little bit more
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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();
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -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) {
|
||||
|
||||
@@ -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';
|
||||
|
||||
|
||||
Reference in New Issue
Block a user