bsw@441: 
bsw@989: ui.title(_"Reset password")
bsw/jbe@6: 
bsw/jbe@1309: ui.container{ attr = { class = "mdl-grid" }, content = function()
bsw/jbe@1309:   ui.container{ attr = { class = "mdl-cell mdl-cell--12-col" }, content = function()
bsw/jbe@1309:     execute.view{ module = "index", view = "_lang_chooser" }
bsw@1045: 
bsw/jbe@1309:     ui.heading{ level = 1, content = _"Forgot password?" }
bsw/jbe@6: 
bsw@1045:     local secret = param.get("secret")
bsw/jbe@6: 
bsw@1045:     if not secret then
bsw/jbe@6:       ui.tag{
bsw/jbe@6:         tag = 'p',
bsw@1045:         content = _'Please enter your login name. You will receive an email with a link to reset your password.'
bsw/jbe@6:       }
bsw@1045:       ui.form{
bsw@1045:         attr = { class = "vertical" },
bsw@1045:         module = "index",
bsw@1045:         action = "reset_password",
bsw@1045:         routing = {
bsw/jbe@1309:           default = {
bsw@1045:             mode = "redirect",
bsw@1045:             module = "index",
bsw/jbe@1309:             view = "login", params = {
bsw/jbe@1309:               redirect_module = param.get("redirect_module"),
bsw/jbe@1309:               redirect_view = param.get("redirect_view"),
bsw/jbe@1309:               redirect_id = param.get("redirect_id"),
bsw/jbe@1309:               redirect_params = param.get("redirect_params") 
bsw/jbe@1309:             }
bsw@1045:           }
bsw@1045:         },
bsw@1045:         content = function()
bsw/jbe@1309:           ui.field.text{
bsw/jbe@1309:             container_attr = { class = "mdl-textfield mdl-js-textfield mdl-textfield--floating-label" },
bsw/jbe@1309:             attr = { id = "lf-login__username", class = "mdl-textfield__input" },
bsw/jbe@1309:             label_attr = { class = "mdl-textfield__label", ["for"] = "lf-login__username" },
bsw/jbe@1309:             label     = _'Login name',
bsw/jbe@1309:             name = 'login',
bsw/jbe@1309:             value     = ''
bsw@1045:           }
bsw/jbe@1309:           slot.put("
")
bsw@1045: 
bsw/jbe@1309:           slot.put("
")
bsw/jbe@1309:           ui.tag{
bsw/jbe@1309:             tag = "input",
bsw/jbe@1309:             attr = {
bsw/jbe@1309:               type = "submit",
bsw/jbe@1309:               class = "mdl-button mdl-js-button mdl-button--raised mdl-button--colored",
bsw@1045:                 value = _"Request password reset link"
bsw/jbe@1309:             }
bsw/jbe@1309:           }
bsw/jbe@1309:           slot.put("   ")
bsw/jbe@1309:           ui.link{ 
bsw/jbe@1309:             attr = { class = "mdl-button mdl-js-button mdl-button--raised mdl-js-ripple-effect" },
bsw/jbe@1309:             module = "index", view = "login", text = _"Cancel", params = {
bsw/jbe@1309:               redirect_module = param.get("redirect_module"),
bsw/jbe@1309:               redirect_view = param.get("redirect_view"),
bsw/jbe@1309:               redirect_id = param.get("redirect_id"),
bsw/jbe@1309:               redirect_params = param.get("redirect_params")
bsw@1045:             }
bsw/jbe@1309:           }
bsw/jbe@1309:           slot.put("
")
bsw/jbe@1309:           ui.link{
bsw/jbe@1309:             attr = { class = "mdl-button mdl-js-button mdl-js-ripple-effect mdl-button--underlined" },
bsw/jbe@1309:             module = "index", view = "send_login", text = _"Forgot login name?", params = {
bsw/jbe@1309:             redirect_module = param.get("redirect_module"),
bsw/jbe@1309:             redirect_view = param.get("redirect_view"),
bsw/jbe@1309:             redirect_id = param.get("redirect_id"),
bsw/jbe@1309:             redirect_params = param.get("redirect_params")
bsw/jbe@1309:           }
bsw/jbe@1309:           }
bsw@1045:         end
bsw/jbe@6:       }
bsw@1045: 
bsw@1045:     else
bsw@1045: 
bsw@1045:       ui.form{
bsw@1045:         attr = { class = "vertical" },
bsw@1045:         module = "index",
bsw@1045:         action = "reset_password",
bsw@1045:         routing = {
bsw@1045:           ok = {
bsw@1045:             mode = "redirect",
bsw@1045:             module = "index",
bsw@1045:             view = "index"
bsw@1045:           }
bsw@1045:         },
bsw@1045:         content = function()
bsw@1045:           ui.tag{
bsw@1045:             tag = 'p',
bsw@1045:             content = _'Please enter the email reset code you have received:'
bsw@1045:           }
bsw@1045:           ui.field.text{
bsw@1045:             label = _"Reset code",
bsw@1045:             name = "secret",
bsw@1045:             value = secret
bsw@1045:           }
bsw@1045:           ui.tag{
bsw@1045:             tag = 'p',
bsw@1045:             content = _'Please enter your new password twice.'
bsw@1045:           }
bsw@1045:           ui.field.password{
bsw@1045:             label = "New password",
bsw@1045:             name = "password1"
bsw@1045:           }
bsw@1045:           ui.field.password{
bsw@1045:             label = "New password (repeat)",
bsw@1045:             name = "password2"
bsw@1045:           }
bsw@1045:           
bsw@1045:           ui.container { attr = { class = "actions" }, content = function()
bsw@1045:             ui.tag{
bsw@1045:               tag = "input",
bsw@1045:               attr = {
bsw@1045:                 type = "submit",
bsw@1045:                 class = "btn btn-default",
bsw@1045:                 value = _"Save new password"
bsw@1045:               },
bsw@1045:               content = ""
bsw@1045:             }
bsw@1045:             slot.put("
")
bsw@1045:             slot.put("
")
bsw@1045: 
bsw@1045:             ui.link{
bsw@1045:               content = function()
bsw@1045:                   slot.put(_"Cancel")
bsw@1045:               end,
bsw@1045:               module = "index",
bsw@1045:               view = "login"
bsw@1045:             }
bsw@1045:           end }
bsw@1045:         end
bsw/jbe@6:       }
bsw@1045: 
bsw/jbe@6:     end
bsw/jbe@1309:   end }
bsw/jbe@1309: end }