Config::set('administrator::administrator.' . $key, Config::get('administrator.' . $key)); } } //get the admin check closure that should be supplied in the config $permission = Config::get('administrator::administrator.permission'); if (!$permission()) { $loginUrl = URL::to(Config::get('administrator::administrator.login_path', 'user/login')); $redirectKey = Config::get('administrator::administrator.login_redirect_key', 'redirect'); $redirectUri = URL::to_route('admin_dashboard'); return Redirect::to($loginUrl)->with($redirectKey, $redirectUri); } }); //validate_model filter Route::filter('validate_model', function () { $modelName = Request::route()->parameters[0]; $config = ModelConfig::get($modelName); //if the model doesn't exist at all, redirect to 404 if (!$config) { return Response::error('404'); } Request::route()->parameters[0] = $config; }); //validate_settings filter Route::filter('validate_settings', function () { $settingsName = Request::route()->parameters[0]; $config = SettingsConfig::get(SettingsConfig::$prefix . $settingsName); //if the model doesn't exist at all, redirect to 404 if (!$config) { return Response::error('404'); } Request::route()->parameters[0] = $config;
/** * Shows the dashboard page * * @return Response */ public function action_dashboard() { //if the dev has chosen to use a dashboard if (Config::get('administrator::administrator.use_dashboard')) { //set the layout content $this->layout->content = View::make(Config::get('administrator::administrator.dashboard_view')); } else { $home = Config::get('administrator::administrator.home_page'); //first try to find it if it's a model config item if ($config = ModelConfig::get($home)) { return Redirect::to_route('admin_index', array($config->name)); } else { if ($config = SettingsConfig::get($home)) { return Redirect::to_route('admin_settings', array($config->name)); } else { throw new Exception("Administrator: " . __('administrator::administrator.valid_home_page')); } } } }