Moved UserController initialization to CCMSRoot.

This commit is contained in:
Relintai 2022-01-07 20:29:25 +01:00
parent f65ce64bcc
commit 417b03cb7d
3 changed files with 24 additions and 23 deletions

View File

@ -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) {
<?php endif; ?>
*/
//dynamic_cast<ListPage *>(instance)->index(request);
// dynamic_cast<ListPage *>(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<ListPage *>(instance)->index(request);
// dynamic_cast<ListPage *>(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 = "";

View File

@ -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;

View File

@ -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();