diff --git a/modules/users/web/web_nodes/user_delete_web_page.cpp b/modules/users/web/web_nodes/user_delete_web_page.cpp index ec302abd7..deea2f723 100644 --- a/modules/users/web/web_nodes/user_delete_web_page.cpp +++ b/modules/users/web/web_nodes/user_delete_web_page.cpp @@ -17,6 +17,8 @@ void UserDeleteWebPage::handle_delete_request(Ref &user, Ref request) { request->body += "handle_delete_request"; + //emit_signal("user_deleted", request, user); + request->compile_and_send_body(); } @@ -25,3 +27,7 @@ UserDeleteWebPage::UserDeleteWebPage() { UserDeleteWebPage::~UserDeleteWebPage() { } + +void UserDeleteWebPage::_bind_methods() { + ADD_SIGNAL(MethodInfo("user_deleted", PropertyInfo(Variant::OBJECT, "request", PROPERTY_HINT_RESOURCE_TYPE, "WebServerRequest"), PropertyInfo(Variant::OBJECT, "user", PROPERTY_HINT_RESOURCE_TYPE, "User"))); +} diff --git a/modules/users/web/web_nodes/user_delete_web_page.h b/modules/users/web/web_nodes/user_delete_web_page.h index e6576c1c8..051cfcafe 100644 --- a/modules/users/web/web_nodes/user_delete_web_page.h +++ b/modules/users/web/web_nodes/user_delete_web_page.h @@ -1,9 +1,9 @@ #ifndef USER_DELETE_WEB_PAGE_H #define USER_DELETE_WEB_PAGE_H +#include "core/containers/vector.h" #include "core/object/reference.h" #include "core/string/ustring.h" -#include "core/containers/vector.h" #include "user_web_page.h" @@ -21,6 +21,7 @@ public: ~UserDeleteWebPage(); protected: + static void _bind_methods(); }; #endif diff --git a/modules/users/web/web_nodes/user_login_web_page.cpp b/modules/users/web/web_nodes/user_login_web_page.cpp index edd5e42d7..370d6cf44 100644 --- a/modules/users/web/web_nodes/user_login_web_page.cpp +++ b/modules/users/web/web_nodes/user_login_web_page.cpp @@ -52,6 +52,8 @@ void UserLoginWebPage::_render_index(Ref request) { c->set_path("/"); request->response_add_cookie(c); + emit_signal("user_logged_in", request, user); + render_login_success(request); return; @@ -136,6 +138,8 @@ UserLoginWebPage::~UserLoginWebPage() { } void UserLoginWebPage::_bind_methods() { + ADD_SIGNAL(MethodInfo("user_logged_in", PropertyInfo(Variant::OBJECT, "request", PROPERTY_HINT_RESOURCE_TYPE, "WebServerRequest"), PropertyInfo(Variant::OBJECT, "user", PROPERTY_HINT_RESOURCE_TYPE, "User"))); + ClassDB::bind_method(D_METHOD("get_redirect_on_success_url"), &UserLoginWebPage::get_redirect_on_success_url); ClassDB::bind_method(D_METHOD("set_redirect_on_success_url", "val"), &UserLoginWebPage::set_redirect_on_success_url); ADD_PROPERTY(PropertyInfo(Variant::STRING, "redirect_on_success_url"), "set_redirect_on_success_url", "get_redirect_on_success_url"); diff --git a/modules/users/web/web_nodes/user_login_web_page.h b/modules/users/web/web_nodes/user_login_web_page.h index 58e5739c0..aba752a20 100644 --- a/modules/users/web/web_nodes/user_login_web_page.h +++ b/modules/users/web/web_nodes/user_login_web_page.h @@ -1,9 +1,9 @@ #ifndef USER_LOGIN_REQUEST_WEB_PAGE_H #define USER_LOGIN_REQUEST_WEB_PAGE_H +#include "core/containers/vector.h" #include "core/object/reference.h" #include "core/string/ustring.h" -#include "core/containers/vector.h" #include "user_web_page.h" diff --git a/modules/users/web/web_nodes/user_logout_web_page.cpp b/modules/users/web/web_nodes/user_logout_web_page.cpp index 72b4eed27..f38c733a2 100644 --- a/modules/users/web/web_nodes/user_logout_web_page.cpp +++ b/modules/users/web/web_nodes/user_logout_web_page.cpp @@ -27,6 +27,8 @@ void UserLogoutWebPage::_render_index(Ref request) { sess_man->delete_session(request->get_session()->get_session_id()); request->set_session(Ref()); + emit_signal("user_logged_out", request, user); + HTMLBuilder b; b.w("Logout successful!"); request->body += b.result; @@ -39,3 +41,7 @@ UserLogoutWebPage::UserLogoutWebPage() { UserLogoutWebPage::~UserLogoutWebPage() { } + +void UserLogoutWebPage::_bind_methods() { + ADD_SIGNAL(MethodInfo("user_logged_out", PropertyInfo(Variant::OBJECT, "request", PROPERTY_HINT_RESOURCE_TYPE, "WebServerRequest"), PropertyInfo(Variant::OBJECT, "user", PROPERTY_HINT_RESOURCE_TYPE, "User"))); +} \ No newline at end of file diff --git a/modules/users/web/web_nodes/user_logout_web_page.h b/modules/users/web/web_nodes/user_logout_web_page.h index 7e2b34238..149d95c8d 100644 --- a/modules/users/web/web_nodes/user_logout_web_page.h +++ b/modules/users/web/web_nodes/user_logout_web_page.h @@ -1,9 +1,9 @@ #ifndef USER_LOGOUT_WEB_PAGE_H #define USER_LOGOUT_WEB_PAGE_H +#include "core/containers/vector.h" #include "core/object/reference.h" #include "core/string/ustring.h" -#include "core/containers/vector.h" #include "user_web_page.h" @@ -21,6 +21,7 @@ public: ~UserLogoutWebPage(); protected: + static void _bind_methods(); }; #endif diff --git a/modules/users/web/web_nodes/user_password_reset_web_page.cpp b/modules/users/web/web_nodes/user_password_reset_web_page.cpp index a33a6d1e1..e69a5fe4a 100644 --- a/modules/users/web/web_nodes/user_password_reset_web_page.cpp +++ b/modules/users/web/web_nodes/user_password_reset_web_page.cpp @@ -17,6 +17,8 @@ void UserPasswordResetWebPage::handle_password_reset_request(Ref &user, Ref request) { request->body += "handle_password_reset_request"; + //emit_signal("user_password_reseted", request, user); + request->compile_and_send_body(); } @@ -25,3 +27,7 @@ UserPasswordResetWebPage::UserPasswordResetWebPage() { UserPasswordResetWebPage::~UserPasswordResetWebPage() { } + +void UserPasswordResetWebPage::_bind_methods() { + ADD_SIGNAL(MethodInfo("user_password_reseted", PropertyInfo(Variant::OBJECT, "request", PROPERTY_HINT_RESOURCE_TYPE, "WebServerRequest"), PropertyInfo(Variant::OBJECT, "user", PROPERTY_HINT_RESOURCE_TYPE, "User"))); +} \ No newline at end of file diff --git a/modules/users/web/web_nodes/user_password_reset_web_page.h b/modules/users/web/web_nodes/user_password_reset_web_page.h index 833aa6170..762923d14 100644 --- a/modules/users/web/web_nodes/user_password_reset_web_page.h +++ b/modules/users/web/web_nodes/user_password_reset_web_page.h @@ -1,9 +1,9 @@ #ifndef USER_PASSWORD_RESET_WEB_PAGE_H #define USER_PASSWORD_RESET_WEB_PAGE_H +#include "core/containers/vector.h" #include "core/object/reference.h" #include "core/string/ustring.h" -#include "core/containers/vector.h" #include "user_web_page.h" @@ -21,6 +21,7 @@ public: ~UserPasswordResetWebPage(); protected: + static void _bind_methods(); }; #endif diff --git a/modules/users/web/web_nodes/user_register_web_page.cpp b/modules/users/web/web_nodes/user_register_web_page.cpp index bce30c67b..bc006bea1 100644 --- a/modules/users/web/web_nodes/user_register_web_page.cpp +++ b/modules/users/web/web_nodes/user_register_web_page.cpp @@ -61,6 +61,8 @@ void UserRegisterWebPage::_render_index(Ref request) { user->create_password(data.pass_val); user->save(); + emit_signal("user_registered", request, user); + render_register_success(request); return; } @@ -170,6 +172,8 @@ UserRegisterWebPage::~UserRegisterWebPage() { } void UserRegisterWebPage::_bind_methods() { + ADD_SIGNAL(MethodInfo("user_registered", PropertyInfo(Variant::OBJECT, "request", PROPERTY_HINT_RESOURCE_TYPE, "WebServerRequest"), PropertyInfo(Variant::OBJECT, "user", PROPERTY_HINT_RESOURCE_TYPE, "User"))); + ClassDB::bind_method(D_METHOD("get_redirect_on_success_url"), &UserRegisterWebPage::get_redirect_on_success_url); ClassDB::bind_method(D_METHOD("set_redirect_on_success_url", "val"), &UserRegisterWebPage::set_redirect_on_success_url); ADD_PROPERTY(PropertyInfo(Variant::STRING, "redirect_on_success_url"), "set_redirect_on_success_url", "get_redirect_on_success_url"); diff --git a/modules/users/web/web_nodes/user_register_web_page.h b/modules/users/web/web_nodes/user_register_web_page.h index 4b55a7201..4f7635303 100644 --- a/modules/users/web/web_nodes/user_register_web_page.h +++ b/modules/users/web/web_nodes/user_register_web_page.h @@ -1,9 +1,9 @@ #ifndef USER_REGISTER_WEB_PAGE_H #define USER_REGISTER_WEB_PAGE_H +#include "core/containers/vector.h" #include "core/object/reference.h" #include "core/string/ustring.h" -#include "core/containers/vector.h" #include "user_web_page.h" diff --git a/modules/users/web/web_nodes/user_settings_web_page.cpp b/modules/users/web/web_nodes/user_settings_web_page.cpp index 851925c54..e16ccc331 100644 --- a/modules/users/web/web_nodes/user_settings_web_page.cpp +++ b/modules/users/web/web_nodes/user_settings_web_page.cpp @@ -79,6 +79,7 @@ void UserSettingsWebPage::_render_index(Ref request) { if (changed) { user->save(); + emit_signal("user_settings_changed", request, user); } } } @@ -161,3 +162,7 @@ UserSettingsWebPage::UserSettingsWebPage() { UserSettingsWebPage::~UserSettingsWebPage() { } + +void UserSettingsWebPage::_bind_methods() { + ADD_SIGNAL(MethodInfo("user_settings_changed", PropertyInfo(Variant::OBJECT, "request", PROPERTY_HINT_RESOURCE_TYPE, "WebServerRequest"), PropertyInfo(Variant::OBJECT, "user", PROPERTY_HINT_RESOURCE_TYPE, "User"))); +} \ No newline at end of file diff --git a/modules/users/web/web_nodes/user_settings_web_page.h b/modules/users/web/web_nodes/user_settings_web_page.h index c7f8c8edc..d20cb0ec0 100644 --- a/modules/users/web/web_nodes/user_settings_web_page.h +++ b/modules/users/web/web_nodes/user_settings_web_page.h @@ -1,9 +1,9 @@ #ifndef USER_SETTINGS_WEB_PAGE_H #define USER_SETTINGS_WEB_PAGE_H +#include "core/containers/vector.h" #include "core/object/reference.h" #include "core/string/ustring.h" -#include "core/containers/vector.h" #include "user_web_page.h" @@ -31,6 +31,8 @@ public: ~UserSettingsWebPage(); protected: + static void _bind_methods(); + Ref _profile_validator; };