def get(self, linkid): # check for login cookie. logging.info("Checking for cookie") idHash = self.request.cookies.get(user.USER_COOKIE_KEY) if idHash == None: logging.info("No cookie found") self.response.headers.add_header('Set-Cookie', user.LogoutUser()) else: logging.info("Got Cookie: %s" %idHash) cookie_username = library.check_hash_str(idHash) logging.info("resulting username: %s" %cookie_username) username_verify = user.queryUsername(cookie_username) if username_verify != None: logging.info("Loading user and logging in") user.loadUserAccount(cookie_username) user.LoginUser() else: logging.info("Unable to find cookie match") self.response.headers.add_header('Set-Cookie', user.LogoutUser()) """Get a page for just the link identified.""" links_list = link.getLinkByID(long(linkid)) if links_list == None: self.response.set_status(404, 'Not Found') return links = [links_list] template_values = create_template_dict_with_single_link(user, links_list, 'Link', nexturi=None, prevuri=None, page=0) template_file = os.path.join(os.path.dirname(__file__), 'templates/singlelink.html') self.response.out.write(template.render(template_file, template_values))
def post(self, linkid): # Collect the data from the form. username = self.request.get("username") password = self.request.get("password") button = self.request.get("submit") remember = self.request.get("rememberMe") links_list = link.getLinkByID(long(linkid)) template_to_use = 'templates/singlelink.html' if button == "register": self.redirect("/register") if button == "submit link": #logging.info("Submit Link button pressed") if not user.LOGGED_IN: template_values = { 'user': user, 'loggedin' : user.LOGGED_IN, 'links' : link_for_template(links_list, user, 0), 'section': 0, 'nexturi': 0, 'prevuri': 0, 'error_msg' : 'You must be registered and logged in to submit a link' } template_file = os.path.join(os.path.dirname(__file__), template_to_use) self.response.out.write(template.render(template_file, template_values)) return else: self.redirect("/submit_link") if button == "logout": #logging.info("Check to see if the user is logged in") if user.LOGGED_IN: logging.info("user is logged in, so creating cookie to log out") #cookieStr = user.createUserCookie("no") self.response.headers.add_header('Set-Cookie', user.LogoutUser()) #logging.info("Rending main page again...") template_values = { 'user': user, 'loggedin' : user.LOGGED_IN, 'links' : link_for_template(links_list, user, 0), 'section': 0, 'nexturi': 0, 'prevuri': 0 } template_file = os.path.join(os.path.dirname(__file__), template_to_use) self.response.out.write(template.render(template_file, template_values)) return error_str = '' if username and password: if user.loadUserAccount(username) == True: #logging.info("User found, validating user") if user.validateUser(username, password) == True: #Username and password has been validated, now log them in. #logging.info("User validated, logging in") user.LoginUser() # create the cookie string #logging.info("Creating cookie") cookieStr = user.createUserCookie(remember) # Write the cookie. #logging.info("setting cookie") self.response.headers.add_header('Set-Cookie', cookieStr) #logging.info("Rendering main...") else: error_str = 'Password mismatch' else: error_str = 'Username not found' else: error_str = 'Need to enter a username and password!' #logging.info("user username = "******"user loggedin = " + str(user.LOGGED_IN)) template_values = { 'user': user, 'loggedin' : user.LOGGED_IN, 'links' : link_for_template(links_list, user, 0), 'section': 0, 'nexturi': 0, 'prevuri': 0, 'error' : error_str } template_file = os.path.join(os.path.dirname(__file__), template_to_use) self.response.out.write(template.render(template_file, template_values))