Go to the documentation of this file.00001
00002
00003 import nstart
00004 import config
00005 import sys
00006 from pyclearsilver.CSPage import Context
00007 from MBPage import MBPage
00008
00009 import MinibooMailbox
00010
00011 class IndexPage(MBPage):
00012 def display(self):
00013 hdf = self.ncgi.hdf
00014
00015 if hdf.getValue("Query.st","") == "3":
00016 self.handle_stage_3()
00017
00018 def handle_stage_3(self):
00019 hdf = self.ncgi.hdf
00020 self.pagename = "forgotpw_3"
00021
00022 q_login = hdf.getValue("Query.login","")
00023
00024 hdf.setValue("CGI.Login",q_login)
00025
00026 def Action_ResetPw(self):
00027 hdf = self.ncgi.hdf
00028 q_login = hdf.getValue("Query.login","")
00029 if q_login:
00030 self.redirectUri("forgotpw.py?st=3&login=%s" % q_login)
00031
00032 def Action_SetPassword(self):
00033 hdf = self.ncgi.hdf
00034 q_login = hdf.getValue("Query.login","")
00035 q_pw1 = hdf.getValue("Query.pw1","")
00036 q_pw2 = hdf.getValue("Query.pw2","")
00037
00038 if not q_login:
00039 self.redirectUri("forgotpw.py?q=1")
00040
00041 if not q_pw1 or (q_pw1 != q_pw2):
00042 self.redirectUri("forgotpw.py?st=3&login=%s&err=pwdontmatch" % q_login)
00043
00044 MB = MinibooMailbox.loadMailbox(q_login)
00045 MB.setPassword(q_pw1)
00046 self.MB = MB
00047 self.issueLoginCookie(q_login,self.registrydb.getOption("pw_hash"))
00048 self.redirectUri(config.gBaseURL + q_login + "/mail/index.py")
00049
00050
00051 def run(context):
00052 return IndexPage(context, pagename="forgotpw_1",nologin=1)
00053
00054 def main(context):
00055 run(context).start()
00056
00057 if __name__ == "__main__":
00058 main(Context())