diff options
author | Andreas Baumann <mail@andreasbaumann.cc> | 2015-04-18 17:43:27 +0200 |
---|---|---|
committer | Andreas Baumann <mail@andreasbaumann.cc> | 2015-04-18 17:43:27 +0200 |
commit | 518b8271eda7c974443f4a8203ab6db8ae8e74e5 (patch) | |
tree | c36baead930924d400b3486e6e0527b0c91ddb5b /src | |
parent | 84a3e2f6bcb4da4ab156e39d79f0f8a36c2a0e90 (diff) | |
download | aCms-518b8271eda7c974443f4a8203ab6db8ae8e74e5.tar.gz aCms-518b8271eda7c974443f4a8203ab6db8ae8e74e5.tar.bz2 |
playing with a login form
Diffstat (limited to 'src')
-rw-r--r-- | src/intro_content.hpp | 2 | ||||
-rw-r--r-- | src/master.hpp | 2 | ||||
-rw-r--r-- | src/master_content.hpp | 6 | ||||
-rw-r--r-- | src/user.cpp | 30 | ||||
-rw-r--r-- | src/user_content.hpp | 14 |
5 files changed, 51 insertions, 3 deletions
diff --git a/src/intro_content.hpp b/src/intro_content.hpp index 16bd601..c9e498c 100644 --- a/src/intro_content.hpp +++ b/src/intro_content.hpp @@ -6,6 +6,8 @@ namespace content { struct intro : public master { + public: + intro( ) : master( ) {} }; } diff --git a/src/master.hpp b/src/master.hpp index 9da1605..7ef46e9 100644 --- a/src/master.hpp +++ b/src/master.hpp @@ -2,7 +2,7 @@ #define MASTER_HPP #include <cppcms/application.h> - + namespace apps { class strusCms; diff --git a/src/master_content.hpp b/src/master_content.hpp index af331d0..f924c94 100644 --- a/src/master_content.hpp +++ b/src/master_content.hpp @@ -2,6 +2,7 @@ #define MASTER_CONTENT_HPP #include <cppcms/view.h> +#include <cppcms/form.h> #include <string> @@ -9,6 +10,11 @@ namespace content { struct master : public cppcms::base_content { std::string title; + std::string login_link; + master( ) : cppcms::base_content( ) { + //~ c.login_link=wi.users.login_url(); + login_link = "/strusCms/login"; + } }; } diff --git a/src/user.cpp b/src/user.cpp index 746e123..cc2af65 100644 --- a/src/user.cpp +++ b/src/user.cpp @@ -11,11 +11,39 @@ user::user( strusCms &cms ) : master( cms ) { cms.dispatcher( ).assign( "/login", &user::login, this ); - cms.mapper( ).assign( "/login" ); + cms.mapper( ).assign( "login" ); } void user::login( ) { + content::user c; + c.title = "strusCms"; + if( request( ).request_method( ) == "POST" ) { + c.login.load( context( ) ); + if( c.login.validate( ) ) { + } + } + render( "login", c ); } } + +namespace content { + +login_form::login_form( ) : cppcms::form( ) +{ + username.message( "Your login" ); + username.error_message( "The login name can't be empty" ); + password.message( "Your password" ); + password.error_message( "Your password is illegal" ); + submit.value( "Log in" ); + + add( username ); + add( password ); + add( submit ); + + username.non_empty( ); + password.non_empty( ); +} + +} diff --git a/src/user_content.hpp b/src/user_content.hpp index cac0755..b52d2ea 100644 --- a/src/user_content.hpp +++ b/src/user_content.hpp @@ -1,11 +1,23 @@ #ifndef USER_CONTENT_HPP #define USER_CONTENT_HPP -#include "master.hpp" +#include "master_content.hpp" + +#include <cppcms/form.h> namespace content { +struct login_form : public cppcms::form { + cppcms::widgets::text username; + cppcms::widgets::password password; + cppcms::widgets::submit submit; + + public: + login_form( ); +}; + struct user : public master { + login_form login; }; } |