From 417b03cb7df38c431ef39b2851b10979f4d3d0c8 Mon Sep 17 00:00:00 2001 From: Relintai Date: Fri, 7 Jan 2022 20:29:25 +0100 Subject: [PATCH] Moved UserController initialization to CCMSRoot. --- app/ccms_root.cpp | 29 ++++++++++++++++++++++------- app/ccms_root.h | 2 ++ main.cpp | 16 ---------------- 3 files changed, 24 insertions(+), 23 deletions(-) diff --git a/app/ccms_root.cpp b/app/ccms_root.cpp index e909e99..8c74b19 100644 --- a/app/ccms_root.cpp +++ b/app/ccms_root.cpp @@ -21,6 +21,10 @@ #include "modules/admin_panel/admin_panel.h" #include "modules/rbac/rbac_controller.h" +#include "ccms_user_controller.h" + +#include "core/os/platform.h" + bool CCMSRoot::is_logged_in(Request *request) { if (!request->session) { return false; @@ -54,7 +58,7 @@ void CCMSRoot::index(Object *instance, Request *request) { */ - //dynamic_cast(instance)->index(request); + // dynamic_cast(instance)->index(request); request->body += "test"; request->compile_and_send_body(); } @@ -93,7 +97,7 @@ void CCMSRoot::add_menu(Request *request, const MenuEntries index) { { b.a()->href("/mail/inbox"); b.w("Mails"); - //if ($newmail) echo '!'; + // if ($newmail) echo '!'; b.ca(); } b.cdiv(); @@ -109,7 +113,7 @@ void CCMSRoot::add_menu(Request *request, const MenuEntries index) { b.div()->cls("menu_village"); { b.a()->href("/village/selected"); - b.w("Village"); //villagename + b.w("Village"); // villagename b.ca(); } b.cdiv(); @@ -208,7 +212,7 @@ void CCMSRoot::add_menu(Request *request, const MenuEntries index) { void CCMSRoot::village_page_func(Object *instance, Request *request) { add_menu(request, MENUENTRY_VILLAGE); - //dynamic_cast(instance)->index(request); + // dynamic_cast(instance)->index(request); request->body += "test"; request->compile_and_send_body(); } @@ -235,8 +239,8 @@ void CCMSRoot::setup_routes() { void CCMSRoot::setup_middleware() { middlewares.push_back(HandlerInstance(::SessionManager::session_setup_middleware)); - //middlewares.push_back(HandlerInstance(::UserController::user_session_setup_middleware)); - //middlewares.push_back(HandlerInstance(::RBACUserController::rbac_user_session_setup_middleware)); + // middlewares.push_back(HandlerInstance(::UserController::user_session_setup_middleware)); + // middlewares.push_back(HandlerInstance(::RBACUserController::rbac_user_session_setup_middleware)); middlewares.push_back(HandlerInstance(::RBACUserController::rbac_default_user_session_middleware)); WebRoot::setup_middleware(); @@ -244,6 +248,12 @@ void CCMSRoot::setup_middleware() { void CCMSRoot::migrate() { _rbac_controller->migrate(); + _user_controller->migrate(); + + if (Platform::get_singleton()->arg_parser.has_arg("-u")) { + printf("Creating test users.\n"); + _user_controller->create_test_users(); + } } void CCMSRoot::compile_menu() { @@ -274,6 +284,10 @@ void CCMSRoot::compile_menu() { CCMSRoot::CCMSRoot() : WebRoot() { + _user_controller = new CCMSUserController(); + // user_manager->set_path("./users/"); + add_child(_user_controller); + _rbac_controller = new RBACController(); _rbac_controller->initialize(); @@ -282,13 +296,14 @@ CCMSRoot::CCMSRoot() : _admin_panel->add_child(_rbac_controller); add_child(_admin_panel); - + compile_menu(); } CCMSRoot::~CCMSRoot() { delete _admin_panel; delete _rbac_controller; + delete _user_controller; } std::string CCMSRoot::menu_head = ""; diff --git a/app/ccms_root.h b/app/ccms_root.h index 4e4bbc1..8a30c32 100644 --- a/app/ccms_root.h +++ b/app/ccms_root.h @@ -16,6 +16,7 @@ class AdminPanel; class RBACController; class RBACModel; +class UserController; #define ENSURE_LOGIN(request) \ if (!is_logged_in(request)) { \ @@ -66,6 +67,7 @@ public: AdminPanel *_admin_panel; RBACController *_rbac_controller; + UserController *_user_controller; static std::string menu_head; static std::string footer; diff --git a/main.cpp b/main.cpp index b738edd..94d3592 100644 --- a/main.cpp +++ b/main.cpp @@ -19,9 +19,6 @@ // Backends #include "backends/hash_hashlib/setup.h" -#include "app/ccms_user_controller.h" -#include "modules/users/user.h" - #include "core/database/database_manager.h" #include "platform/platform_initializer.h" @@ -48,10 +45,6 @@ int main(int argc, char **argv, char **envp) { ::SessionManager *session_manager = new ::SessionManager(); - // todo init these in the module automatically - UserController *user_controller = new CCMSUserController(); - // user_manager->set_path("./users/"); - DBSettings *settings = new DBSettings(true); // settings->parse_file("settings.json"); @@ -87,15 +80,7 @@ int main(int argc, char **argv, char **envp) { printf("Running migrations.\n"); settings->migrate(); - session_manager->migrate(); - user_controller->migrate(); - - if (Platform::get_singleton()->arg_parser.has_arg("-u")) { - printf("Creating test users.\n"); - user_controller->create_test_users(); - } - app_root->migrate(); } @@ -104,7 +89,6 @@ int main(int argc, char **argv, char **envp) { delete dbm; delete file_cache; delete settings; - delete user_controller; delete session_manager; PlatformInitializer::free_all();