From 9794de9e15ba490bcd1a4c160ab10975739d5ab0 Mon Sep 17 00:00:00 2001 From: Andrey Kutejko Date: Thu, 21 Aug 2014 01:13:35 +0300 Subject: [PATCH] load all models on admin pages only --- ipf/admin/app.php | 7 ++++--- ipf/admin/commands/syncperms.php | 5 ++--- ipf/project.php | 9 --------- 3 files changed, 6 insertions(+), 15 deletions(-) diff --git a/ipf/admin/app.php b/ipf/admin/app.php index 3813517..a51ab0e 100644 --- a/ipf/admin/app.php +++ b/ipf/admin/app.php @@ -53,10 +53,11 @@ class IPF_Admin_App extends IPF_Application elseif ( (!$request->user->is_staff) && (!$request->user->is_superuser) ) $ok = false; - if ($ok) - return true; - else + if (!$ok) return new IPF_HTTP_Response_Redirect(IPF_HTTP_URL::urlForView('IPF_Admin_Views_Login')); + + IPF_Project::getInstance()->loadAllModels(); + return true; } static function appByModel($model) diff --git a/ipf/admin/commands/syncperms.php b/ipf/admin/commands/syncperms.php index 692d701..1811cfd 100644 --- a/ipf/admin/commands/syncperms.php +++ b/ipf/admin/commands/syncperms.php @@ -9,12 +9,11 @@ class IPF_Admin_Command_SyncPerms { print "Create/Update permissions from model classes\n"; - $project = IPF_Project::getInstance(); - $project->loadAllModels(); + IPF_Admin_App::loadAllModels(); print "COLLECTED PERMS:\n----\n"; $permissions = array(); - foreach ($project->appList() as $appname => $app) { + foreach (IPF_Project::getInstance()->appList() as $appname => $app) { foreach ($app->modelList() as $modelName) { $adminModel = IPF_Admin_Model::getModelAdmin($modelName); if ($adminModel) { diff --git a/ipf/project.php b/ipf/project.php index 01c16aa..4e2a595 100644 --- a/ipf/project.php +++ b/ipf/project.php @@ -78,13 +78,6 @@ final class IPF_Project return $result; } - public function loadAllModels() - { - foreach ($this->appList() as $appname => $app) - foreach ($app->modelList() as $modelName) - new $modelName; - } - public function run() { \PFF\Container::setFactory('databaseConnection', array('IPF_Database', 'connect')); @@ -97,8 +90,6 @@ final class IPF_Project $cli = new IPF_Cli; $cli->run(); } else { - $this->loadAllModels(); - $this->request = new IPF_HTTP_Request; $this->router->dispatch($this->request); $this->request = null; -- 2.49.0