def get(self): #проверка на наличие куки не нужна. меняет безымянный key=self.request.get('rkey') rsts = db.GqlQuery("SELECT * FROM ResetPasswd WHERE rkey=:rkey",rkey=key) if(rsts.count()>0): rst=rsts[0] self.response.out.write(u"""<html><head>%s <script type="text/javascript"> function setpass() { var ps = document.getElementById('pass') var cps= document.getElementById('confpass') if(ps.value.length>5 && ps.value==cps.value) { var fm = document.createElement("form"); fm.action="/worker/set-passwd"; fm.method="post"; var inp = document.createElement("input"); inp.name='rkey'; inp.value='%s'; fm.appendChild(inp); var inp = document.createElement("input"); inp.name='passwd'; inp.value=document.getElementById('confpass').value; fm.appendChild(inp); document.body.appendChild(fm); fm.submit(); } else { document.getElementById('vconf').innerHTML='введите пароль' } } function keyps() { var ps = document.getElementById('pass'); var cps= document.getElementById('confpass'); if(ps.value.length>5 && ps.value==cps.value) { document.getElementById('vconf').innerHTML='пароли совпадают' } else if(ps.value.length<5) {document.getElementById('vconf').innerHTML='пароль должен быть длинее 6 символов'} else { document.getElementById('vconf').innerHTML='пароли не совпадают' } } </script></head> <body>%s"""%(lcncss.style,key,lcncss.begResetPass(""))) self.response.out.write(u"""<div class="titlePg">Ввод нового пароля:</div> %s<table><tr><br/><td>Введите пароль:</td><td><input id="pass" type="password"></td></tr>"""%rst.worker.surname) self.response.out.write(u"""<tr><td>Подтвердите пароль:</td><td><input id="confpass" type="password" onkeyup="keyps()"></td></tr></table><div id="vconf" class="notice"><br/></div> <input type="button" onclick="setpass()" value="Изменить">""") self.response.out.write(u"""%s</body></html>"""%lcncss.Mtempl.end) else: err.errPgUsr(self,u"Не верный код для сброса пароля")
def post(self): key=self.request.get('rkey') rsts = db.GqlQuery("SELECT * FROM ResetPasswd WHERE rkey=:rkey",rkey=key) if(rsts.count()>0): rst=rsts[0] wk=rst.worker sess = db.GqlQuery("SELECT * FROM Session WHERE user=:user",user=wk) db.delete(sess) wk.passwd=self.request.get('passwd') wk.put() db.delete(rst) self.redirect('/') else: err.errPgUsr(self,u"Не верный код для сброса пароля")