mirror of
https://github.com/Relintai/pandemonium_engine.git
synced 2024-12-27 22:27:15 +01:00
Reimplemented UserLoginWebPage.
This commit is contained in:
parent
d0c99d0ef6
commit
c6191e1c26
@ -14,7 +14,14 @@
|
|||||||
#include "modules/web/http/web_server_cookie.h"
|
#include "modules/web/http/web_server_cookie.h"
|
||||||
#include "modules/web/http/web_server_request.h"
|
#include "modules/web/http/web_server_request.h"
|
||||||
|
|
||||||
void UserLoginWebPage::handle_login_request_default(Ref<WebServerRequest> request) {
|
String UserLoginWebPage::get_redirect_on_success_url() {
|
||||||
|
return _redirect_on_success_url;
|
||||||
|
}
|
||||||
|
void UserLoginWebPage::set_redirect_on_success_url(const String &val) {
|
||||||
|
_redirect_on_success_url = val;
|
||||||
|
}
|
||||||
|
|
||||||
|
void UserLoginWebPage::_render_index(Ref<WebServerRequest> request) {
|
||||||
LoginRequestData data;
|
LoginRequestData data;
|
||||||
|
|
||||||
if (request->get_method() == HTTPServerEnums::HTTP_METHOD_POST) {
|
if (request->get_method() == HTTPServerEnums::HTTP_METHOD_POST) {
|
||||||
@ -41,8 +48,8 @@ void UserLoginWebPage::handle_login_request_default(Ref<WebServerRequest> reques
|
|||||||
|
|
||||||
Ref<WebServerCookie> c;
|
Ref<WebServerCookie> c;
|
||||||
c.instance();
|
c.instance();
|
||||||
c->set_data("session_id", session->session_id);
|
c->set_data("session_id", session->get_session_id());
|
||||||
//c.path = "/";
|
c->set_path("/");
|
||||||
request->response_add_cookie(c);
|
request->response_add_cookie(c);
|
||||||
|
|
||||||
render_login_success(request);
|
render_login_success(request);
|
||||||
@ -104,17 +111,11 @@ void UserLoginWebPage::render_login_request_default(Ref<WebServerRequest> reques
|
|||||||
request->compile_and_send_body();
|
request->compile_and_send_body();
|
||||||
}
|
}
|
||||||
|
|
||||||
void UserLoginWebPage::render_already_logged_in_error(Ref<WebServerRequest> request) {
|
|
||||||
request->body += "You are already logged in.";
|
|
||||||
|
|
||||||
request->compile_and_send_body();
|
|
||||||
}
|
|
||||||
|
|
||||||
void UserLoginWebPage::render_login_success(Ref<WebServerRequest> request) {
|
void UserLoginWebPage::render_login_success(Ref<WebServerRequest> request) {
|
||||||
request->body = "Login Success!<br>";
|
request->body = "Login Success!<br>";
|
||||||
|
|
||||||
// request->compile_and_send_body();
|
// request->compile_and_send_body();
|
||||||
request->send_redirect("/user/settings");
|
request->send_redirect(_redirect_on_success_url);
|
||||||
}
|
}
|
||||||
|
|
||||||
UserLoginWebPage::UserLoginWebPage() {
|
UserLoginWebPage::UserLoginWebPage() {
|
||||||
@ -126,7 +127,16 @@ UserLoginWebPage::UserLoginWebPage() {
|
|||||||
pw->need_to_exist();
|
pw->need_to_exist();
|
||||||
pw->need_to_have_lowercase_character()->need_to_have_uppercase_character();
|
pw->need_to_have_lowercase_character()->need_to_have_uppercase_character();
|
||||||
pw->need_minimum_length(5);
|
pw->need_minimum_length(5);
|
||||||
|
|
||||||
|
_logged_out_render_type = RENDER_TYPE_RENDER;
|
||||||
|
_logged_in_render_type = RENDER_TYPE_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
UserLoginWebPage::~UserLoginWebPage() {
|
UserLoginWebPage::~UserLoginWebPage() {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void UserLoginWebPage::_bind_methods() {
|
||||||
|
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");
|
||||||
|
}
|
||||||
|
@ -15,23 +15,29 @@ class UserLoginWebPage : public UserWebPage {
|
|||||||
GDCLASS(UserLoginWebPage, UserWebPage);
|
GDCLASS(UserLoginWebPage, UserWebPage);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
String get_redirect_on_success_url();
|
||||||
|
void set_redirect_on_success_url(const String &val);
|
||||||
|
|
||||||
struct LoginRequestData {
|
struct LoginRequestData {
|
||||||
String error_str;
|
String error_str;
|
||||||
String uname_val;
|
String uname_val;
|
||||||
String pass_val;
|
String pass_val;
|
||||||
};
|
};
|
||||||
|
|
||||||
virtual void handle_login_request_default(Ref<WebServerRequest> request);
|
void _render_index(Ref<WebServerRequest> request);
|
||||||
virtual void render_login_request_default(Ref<WebServerRequest> request, LoginRequestData *data);
|
|
||||||
|
|
||||||
virtual void render_already_logged_in_error(Ref<WebServerRequest> request);
|
virtual void render_login_request_default(Ref<WebServerRequest> request, LoginRequestData *data);
|
||||||
virtual void render_login_success(Ref<WebServerRequest> request);
|
virtual void render_login_success(Ref<WebServerRequest> request);
|
||||||
|
|
||||||
UserLoginWebPage();
|
UserLoginWebPage();
|
||||||
~UserLoginWebPage();
|
~UserLoginWebPage();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
static void _bind_methods();
|
||||||
|
|
||||||
Ref<FormValidator> _login_validator;
|
Ref<FormValidator> _login_validator;
|
||||||
|
|
||||||
|
String _redirect_on_success_url;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user