Example #1
0
            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;
Example #2
0
 /**
  * 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'));
             }
         }
     }
 }