def get(self): # If we have a reset_key, then try to reset the password. reset_key = self.request.get("reset_key") if reset_key: username = self.request.get("username") try: reset_dj = Dj.recovery_login(username, reset_key) except NoSuchUsername: self.session.add_flash("There is no user by that name") self.redirect("/dj/reset/") return except InvalidLogin: self.flash = ("This request is no longer valid, or the key provided" "is somehow corrupt. If clicking the link in your email" "does not work again, perhaps request a new reset.") self.redirect("/dj/reset") return self.set_session_user(reset_dj) program_list = Program.get_by_dj(dj=reset_dj) if not program_list: self.session.add_flash( "You have been temporarily logged in. Please change your" "password so that you may log in in the future!") self.session.add_flash( "You will not be able to do much until you have a" "program. If you see this message, please email" "<a href='mailto:[email protected]'>Connor</a>" "immediately.") self.redirect('/dj/myself') return elif len(program_list) == 1: self.set_session_program(program_list[0]) self.session.add_flash( "You have been temporarily logged in. Please change your password so " "that you may log in in the future!") self.session.add_flash( "Logged in with program %s"%program_list[0].title) self.redirect("/dj/myself") return else: self.session.add_flash( "You have been temporarily logged in. Please change your password so " "that you may log in in the future!") self.redirect("/dj/myself") return else: if self.session_has_login(): self.redirect("/dj/") return template_values = { 'session': self.session, 'flash': self.flashes, } self.response.out.write( template.render(get_path("dj_reset_password.html"), template_values))
def get(self): program_list = Program.get_by_dj(dj=self.dj_key) if len(program_list) <= 1: self.session.add_flash( "You don't have more than one radio program to choose between.") self.redirect("/dj/") return template_values = { 'program_list': program_list, 'session': self.session, 'flash': self.flashes, 'posts': BlogPost.get_last(num=1) } self.response.out.write(template.render(get_path("dj_selectprogram.html"), template_values))
def post(self): username = self.request.get("username") password = self.request.get("password") # Try to log in. try: dj = Dj.login(username, password) except NoSuchUsername: self.flash = "Invalid username. Please try again." self.redirect('/dj/login/') return except InvalidLogin: self.flash = "Invalid username/password combination. Please try again." self.redirect('/dj/login/') return self.user = dj program_list = Program.get_by_dj(dj=dj, num=10) if not program_list: self.flash = ("You have successfully logged in," "but you have no associated programs." "You will not be able to do much until" "you have a program. If you see this message," "please email <a href='mailto:[email protected]'>" "Connor</a> immediately.") self.redirect('/dj/') return elif len(program_list) == 1: self.program = program_list[0] self.flash = ("Successfully logged in with program %s."% program_list[0].title) self.redirect("/dj/") return else: self.redirect("/dj/selectprogram/") return