FEATURE: do not require template to be set in admin

This commit is contained in:
Michal Kváček
2017-08-24 02:08:28 +02:00
parent 49bd38db50
commit ac8e3aeacc
3 changed files with 39 additions and 8 deletions
+3 -1
View File
@@ -2,6 +2,7 @@
namespace App\Http; namespace App\Http;
use App\Http\Middleware\TemplateChecker;
use App\Http\Middleware\Web\IncrementWidgetsViews; use App\Http\Middleware\Web\IncrementWidgetsViews;
use Illuminate\Auth\Middleware\Authorize; use Illuminate\Auth\Middleware\Authorize;
use Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse; use Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse;
@@ -36,8 +37,9 @@ class Kernel extends HttpKernel
protected $middlewareGroups = [ protected $middlewareGroups = [
'web' => [ 'web' => [
CheckForMaintenanceMode::class, CheckForMaintenanceMode::class,
TemplateChecker::class,
AddQueuedCookiesToResponse::class, AddQueuedCookiesToResponse::class,
IncrementWidgetsViews::class IncrementWidgetsViews::class,
], ],
'admin' => [ 'admin' => [
Middleware\Admin\Authenticate::class, Middleware\Admin\Authenticate::class,
+28
View File
@@ -0,0 +1,28 @@
<?php
namespace App\Http\Middleware;
use App\CMS\Helpers\CurrentTemplate;
use Closure;
class TemplateChecker
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
*
* @return mixed
*/
public function handle($request, Closure $next)
{
$template = CurrentTemplate::get();
if (!$template) {
throw new \ErrorException('Template is not set, cannot continue');
}
return $next($request);
}
}
+8 -7
View File
@@ -13,19 +13,15 @@ class TemplateServiceProvider extends ServiceProvider
{ {
public function boot() public function boot()
{ {
$template = CurrentTemplate::get();
// ignore running from artisan // ignore running from artisan
if (App::runningInConsole() || App::environment('testing')) { if (App::runningInConsole() || App::environment('testing') || !$template) {
$this->publishViewResources(); $this->publishViewResources();
return; return;
} }
$template = CurrentTemplate::get();
if (!$template) {
throw new \ErrorException('Template is not set, cannot continue');
}
// include files // include files
$files = isset($template->moduleSettings->files) ? $template->moduleSettings->files : []; $files = isset($template->moduleSettings->files) ? $template->moduleSettings->files : [];
@@ -43,6 +39,11 @@ class TemplateServiceProvider extends ServiceProvider
$this->registerTemplatePaths($publicTemplates); $this->registerTemplatePaths($publicTemplates);
} }
/**
* Register template paths from public templates
*
* @param $publicTemplates
*/
public function registerTemplatePaths($publicTemplates) public function registerTemplatePaths($publicTemplates)
{ {
$modules = app(Module::class) $modules = app(Module::class)