diff --git a/app/ccms_root.cpp b/app/ccms_root.cpp index 8c74b19..28d2939 100644 --- a/app/ccms_root.cpp +++ b/app/ccms_root.cpp @@ -25,6 +25,8 @@ #include "core/os/platform.h" +#include "menu/menu_node.h" + bool CCMSRoot::is_logged_in(Request *request) { if (!request->session) { return false; @@ -291,9 +293,14 @@ CCMSRoot::CCMSRoot() : _rbac_controller = new RBACController(); _rbac_controller->initialize(); + _menu = new MenuNode(); + _admin_panel = new AdminPanel(); _admin_panel->register_admin_controller("rbac", _rbac_controller); + _admin_panel->register_admin_controller("menu", _menu); + _admin_panel->add_child(_rbac_controller); + _admin_panel->add_child(_menu); add_child(_admin_panel); @@ -303,6 +310,7 @@ CCMSRoot::CCMSRoot() : CCMSRoot::~CCMSRoot() { delete _admin_panel; delete _rbac_controller; + delete _menu; delete _user_controller; } diff --git a/app/ccms_root.h b/app/ccms_root.h index 8a30c32..241b914 100644 --- a/app/ccms_root.h +++ b/app/ccms_root.h @@ -17,6 +17,7 @@ class AdminPanel; class RBACController; class RBACModel; class UserController; +class MenuNode; #define ENSURE_LOGIN(request) \ if (!is_logged_in(request)) { \ @@ -68,6 +69,7 @@ public: AdminPanel *_admin_panel; RBACController *_rbac_controller; UserController *_user_controller; + MenuNode *_menu; static std::string menu_head; static std::string footer;