forked from zapashcanon/pellest
35 lines
1.2 KiB
OCaml
35 lines
1.2 KiB
OCaml
open Tyxml.Html
|
|
open Tyx_util
|
|
open Syntax
|
|
|
|
let get request =
|
|
let** () = User.assert_not_logged request in
|
|
let title = "Pellest|Register" in
|
|
let register =
|
|
let submit = button ~a:[ a_id "submet_reginster" ] [ txt "submit" ] in
|
|
let nick = input ~a:[ a_id "nick"; a_name "nick"; a_input_type `Text ] () in
|
|
let password =
|
|
input ~a:[ a_id "password"; a_name "password"; a_input_type `Password ] ()
|
|
in
|
|
let email =
|
|
input ~a:[ a_id "email"; a_name "email"; a_input_type `Text ] ()
|
|
in
|
|
div
|
|
[ make_form request ~action:"/register"
|
|
~items:[ nick; password; email; submit ]
|
|
]
|
|
in
|
|
let text = div [ txt "register a new pellestian ~!" ] in
|
|
let page = div [ text; register ] in
|
|
Template.render ~title ~scripts:[] page
|
|
|
|
let post request =
|
|
let** () = User.assert_not_logged request in
|
|
match%lwt Dream.form request with
|
|
| `Ok [ ("email", email); ("nick", nick); ("password", password) ] ->
|
|
let** () = User.register ~email ~nick ~password in
|
|
let** () = User.login ~login:nick ~password request in
|
|
Template.render ~title:"Welcome !" ~scripts:[]
|
|
(Tyxml.Html.txt "User created ! Welcome !")
|
|
| _form -> Template.err (`Bad_Request, "invalid form")
|