Unverified Commit 53e86929 authored by Nicolas Widart's avatar Nicolas Widart Committed by GitHub

Merge pull request #554 from huydang284/3.0

fix route:cache and config:cache issue
parents e22a39da a86e2688
......@@ -172,4 +172,11 @@ return [
| useViewNamespaces.backend-theme needs to be enabled at module level
*/
'enable-theme-overrides' => false,
/*
|--------------------------------------------------------------------------
| Check if asgard was installed
|--------------------------------------------------------------------------
*/
'is_installed' => env('INSTALLED', false)
];
......@@ -70,7 +70,7 @@ class CoreServiceProvider extends ServiceProvider
public function register()
{
$this->app->singleton('asgard.isInstalled', function () {
return true === env('INSTALLED', false);
return true === config('asgard.core.core.is_installed');
});
$this->app->singleton('asgard.onBackend', function () {
return $this->onBackend();
......
......@@ -52,15 +52,31 @@ abstract class RoutingServiceProvider extends ServiceProvider
$this->loadApiRoutes($router);
});
$prefixes = $this->getPrefixes();
foreach ($prefixes as $prefix) {
$router->group([
'namespace' => $this->namespace,
'prefix' => LaravelLocalization::setLocale(),
'prefix' => $prefix,
'middleware' => ['localizationRedirect', 'web'],
], function (Router $router) {
$this->loadBackendRoutes($router);
$this->loadFrontendRoutes($router);
});
}
}
/**
* Get locale prefixes
* @return array
*/
private function getPrefixes()
{
if (app('asgard.isInstalled')) {
return array_merge(json_decode(setting('core::locales')), ['']);
}
return [LaravelLocalization::setLocale()];
}
/**
* @param Router $router
......
......@@ -3,10 +3,6 @@
use Illuminate\Routing\Router;
/** @var Router $router */
$router->bind('media', function ($id) {
return app(\Modules\Media\Repositories\FileRepository::class)->find($id);
});
$router->group(['prefix' => '/media'], function (Router $router) {
$router->get('media', [
'as' => 'admin.media.media.index',
......
......@@ -72,6 +72,10 @@ class MediaServiceProvider extends ServiceProvider
$event->load('media', array_dot(trans('media::media')));
$event->load('folders', array_dot(trans('media::folders')));
});
app('router')->bind('media', function ($id) {
return app(FileRepository::class)->find($id);
});
}
public function boot(DispatcherContract $events)
......
......@@ -3,13 +3,6 @@
use Illuminate\Routing\Router;
/** @var Router $router */
$router->bind('menu', function ($id) {
return app(\Modules\Menu\Repositories\MenuRepository::class)->find($id);
});
$router->bind('menuitem', function ($id) {
return app(\Modules\Menu\Repositories\MenuItemRepository::class)->find($id);
});
$router->group(['prefix' => '/menu'], function (Router $router) {
$router->get('menus', [
'as' => 'admin.menu.menu.index',
......
......@@ -54,6 +54,13 @@ class MenuServiceProvider extends ServiceProvider
$event->load('menu', array_dot(trans('menu::menu')));
$event->load('menu-items', array_dot(trans('menu::menu-items')));
});
app('router')->bind('menu', function ($id) {
return app(MenuRepository::class)->find($id);
});
app('router')->bind('menuitem', function ($id) {
return app(MenuItemRepository::class)->find($id);
});
}
/**
......
......@@ -3,10 +3,6 @@
use Illuminate\Routing\Router;
/** @var Router $router */
$router->bind('page', function ($id) {
return app(\Modules\Page\Repositories\PageRepository::class)->find($id);
});
$router->group(['prefix' => '/page', 'middleware' => ['api.token', 'auth.admin']], function (Router $router) {
$router->get('pages', [
'as' => 'api.page.page.index',
......
......@@ -3,10 +3,6 @@
use Illuminate\Routing\Router;
/** @var Router $router */
$router->bind('page', function ($id) {
return app(\Modules\Page\Repositories\PageRepository::class)->find($id);
});
$router->group(['prefix' => '/page'], function (Router $router) {
$router->get('pages', [
'as' => 'admin.page.page.index',
......
......@@ -3,15 +3,13 @@
use Illuminate\Routing\Router;
/** @var Router $router */
if (! App::runningInConsole()) {
$router->get('/', [
$router->get('/', [
'uses' => 'PublicController@homepage',
'as' => 'homepage',
'middleware' => config('asgard.page.config.middleware'),
]);
$router->any('{uri}', [
]);
$router->any('{uri}', [
'uses' => 'PublicController@uri',
'as' => 'page',
'middleware' => config('asgard.page.config.middleware'),
])->where('uri', '.*');
}
])->where('uri', '.*');
......@@ -45,6 +45,10 @@ class PageServiceProvider extends ServiceProvider
$this->app['events']->listen(LoadingBackendTranslations::class, function (LoadingBackendTranslations $event) {
$event->load('pages', array_dot(trans('page::pages')));
});
app('router')->bind('page', function ($id) {
return app(PageRepository::class)->find($id);
});
}
public function boot()
......
......@@ -4,9 +4,6 @@ use Illuminate\Routing\Router;
/** @var Router $router */
$router->group(['prefix' => 'tag'], function (Router $router) {
$router->bind('tag__tag', function ($id) {
return app(\Modules\Tag\Repositories\TagRepository::class)->find($id);
});
$router->get('tags', [
'as' => 'admin.tag.tag.index',
'uses' => 'TagController@index',
......
......@@ -46,6 +46,10 @@ class TagServiceProvider extends ServiceProvider
$this->app['events']->listen(LoadingBackendTranslations::class, function (LoadingBackendTranslations $event) {
$event->load('tags', array_dot(trans('tag::tags')));
});
app('router')->bind('tag__tag', function ($id) {
return app(TagRepository::class)->find($id);
});
}
public function boot()
......
......@@ -4,9 +4,6 @@ use Illuminate\Routing\Router;
/** @var Router $router */
$router->group(['prefix' =>'/translation'], function (Router $router) {
$router->bind('translations', function ($id) {
return \Modules\Translation\Entities\TranslationTranslation::find($id);
});
$router->get('translations', [
'uses' => 'TranslationController@index',
'as' => 'admin.translation.translation.index',
......
......@@ -12,6 +12,7 @@ use Modules\Core\Traits\CanGetSidebarClassForModule;
use Modules\Core\Traits\CanPublishConfiguration;
use Modules\Translation\Console\BuildTranslationsCacheCommand;
use Modules\Translation\Entities\Translation;
use Modules\Translation\Entities\TranslationTranslation;
use Modules\Translation\Events\Handlers\RegisterTranslationSidebar;
use Modules\Translation\Repositories\Cache\CacheTranslationDecorator;
use Modules\Translation\Repositories\Eloquent\EloquentTranslationRepository;
......@@ -50,6 +51,10 @@ class TranslationServiceProvider extends ServiceProvider
$this->app['events']->listen(LoadingBackendTranslations::class, function (LoadingBackendTranslations $event) {
$event->load('translations', array_dot(trans('translation::translations')));
});
app('router')->bind('translations', function ($id) {
return TranslationTranslation::find($id);
});
}
public function boot()
......
......@@ -5,9 +5,6 @@ use Illuminate\Routing\Router;
/** @var Router $router */
$router->group(['prefix' => '/user', 'middleware' => ['api.token', 'auth.admin']], function (Router $router) {
$router->group(['prefix' => 'roles'], function (Router $router) {
$router->bind('role', function ($id) {
return app(\Modules\User\Repositories\RoleRepository::class)->find($id);
});
$router->get('/', [
'as' => 'api.user.role.index',
'uses' => 'RoleController@index',
......@@ -46,9 +43,6 @@ $router->group(['prefix' => '/user', 'middleware' => ['api.token', 'auth.admin']
});
$router->group(['prefix' => 'users'], function (Router $router) {
$router->bind('user', function ($id) {
return app(\Modules\User\Repositories\UserRepository::class)->find($id);
});
$router->get('/', [
'as' => 'api.user.user.index',
'uses' => 'UserController@index',
......@@ -96,10 +90,6 @@ $router->group(['prefix' => '/user', 'middleware' => ['api.token', 'auth.admin']
'uses' => 'ProfileController@update',
]);
$router->bind('userTokenId', function ($id) {
return app(\Modules\User\Repositories\UserTokenRepository::class)->find($id);
});
$router->get('api-keys', [
'as' => 'api.account.api.index',
'uses' => 'ApiKeysController@index',
......
......@@ -81,9 +81,6 @@ $router->group(['prefix' => '/account'], function (Router $router) {
'as' => 'admin.account.profile.update',
'uses' => 'Account\ProfileController@update',
]);
$router->bind('userTokenId', function ($id) {
return app(\Modules\User\Repositories\UserTokenRepository::class)->find($id);
});
$router->get('api-keys', [
'as' => 'admin.account.api.index',
'uses' => 'Account\ApiKeysController@index',
......
......@@ -77,6 +77,16 @@ class UserServiceProvider extends ServiceProvider
GrantModulePermissionsCommand::class,
RemoveModulePermissionsCommand::class,
]);
app('router')->bind('role', function ($id) {
return app(RoleRepository::class)->find($id);
});
app('router')->bind('user', function ($id) {
return app(UserRepository::class)->find($id);
});
app('router')->bind('userTokenId', function ($id) {
return app(UserTokenRepository::class)->find($id);
});
}
/**
......
......@@ -3,13 +3,6 @@
use Illuminate\Routing\Router;
/** @var Router $router */
$router->bind('module', function ($module) {
return app(\Nwidart\Modules\Contracts\RepositoryInterface::class)->find($module);
});
$router->bind('theme', function ($theme) {
return app(\Modules\Workshop\Manager\ThemeManager::class)->find($theme);
});
$router->group(
['prefix' => '/workshop'],
function (Router $router) {
......
......@@ -21,6 +21,7 @@ use Modules\Workshop\Scaffold\Module\Generators\ValueObjectGenerator;
use Modules\Workshop\Scaffold\Module\ModuleScaffold;
use Modules\Workshop\Scaffold\Theme\ThemeGeneratorFactory;
use Modules\Workshop\Scaffold\Theme\ThemeScaffold;
use Nwidart\Modules\Repository;
class WorkshopServiceProvider extends ServiceProvider
{
......@@ -52,6 +53,13 @@ class WorkshopServiceProvider extends ServiceProvider
$event->load('modules', array_dot(trans('workshop::modules')));
$event->load('themes', array_dot(trans('workshop::themes')));
});
app('router')->bind('module', function ($module) {
return app(Repository::class)->find($module);
});
app('router')->bind('theme', function ($theme) {
return app(ThemeManager::class)->find($theme);
});
}
public function boot()
......
......@@ -172,4 +172,11 @@ return [
| useViewNamespaces.backend-theme needs to be enabled at module level
*/
'enable-theme-overrides' => false,
/*
|--------------------------------------------------------------------------
| Check if asgard was installed
|--------------------------------------------------------------------------
*/
'is_installed' => env('INSTALLED', false)
];
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment